Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Lehre / SS 2017 / Automotive Blockpraktikum


Inhaltsbereich

Automotive Blockpraktikum

Blockveranstaltung zum Thema Programmierung von Software im Fahrzeug mit Fokus auf CAN-Bus und Systemarchitektur.

Aktuelles

  • Bitte bewerben Sie sich bei UniWorx für das Praktikum. Hinweise zur Bewerbung siehe Zielgruppe.
  • Bei den Materialien findet sich eine Liste von Links, die nach und nach ergänzt werden wird.

Inhalt

Das Automotive Blockpraktikum vermittelt eine praktische Einführung in die Arbeit mit Software im Fahrzeugbereich. Hierbei werden Grundlagen im Umgang mit eingebetteten Mikroprozessorsystemen ebenso vermittelt wie der Umgang mit Fahrzeugschnittstellen unter Linux. Somit deckt die Veranstaltung die Anforderungen an Hard- und Software in Sachen Echtzeitbetrieb und die Anforderungen an Stromverbrauch und Arbeitsspeicher ebenso ab wie die Bordnetzarchitektur und -kommunikation im Fahrzeug sowie die Fahrer-Fahrzeug-Schnittstelle.

Zunächst werden wir hierfür auf die zu verwendenden Werkzeuge und den Umgang damit eingehen. Im Anschluss finden sich die Teilnehmer dann in Gruppen zu je drei Personen zusammen und erarbeiten ein Projekt, das hardwareseitig aus einem SoC und einem Linuxrechner bestehen wird, die per CAN-Bus kommunizieren. Auf SoC-Seite stehen zusätzlich elektronische Bauteile und ein Display zur Verfügung, mit denen Sensoren und Aktoren simuliert werden können. Auf Linuxrechner-Seite ist eine Visualisierung, z.B. per Webinterface, erwünscht. Alles weitere bleibt den Teilnehmern freigestellt.

Es werden dabei folgende Themen behandelt:

  • Inbetriebnahme eines Automotive SoCs (z.B. Infineon Aurix)
  • Mikroarchitektur von Echtzeitsystemen und spezifische Optimierungen für eingebettete ("embedded") Anwendungen
  • Peripherie: Ein- und Ausgabe, Digital und Analog Wandlung
  • Sensoren und Aktoren
  • Inbetriebnahme und Verwendung von CAN unter Linux
  • Vernetzung mit CAN-Bus
  • Sensorfusion und Visualisierung
  • zentrale Steuerung von Aktoren
  • Bordnetzarchitektur und -kommunikation in Motorrad und Pkw

Zielgruppe

Diese Veranstaltung im Umfang von 6 ECTS-Punkten richtet sich an Studierende des Studiengangs Informatik, Bachelor (vertiefendes Thema) oder Master (Praktikum).

Benötigte Vorkenntnisse
        Systempraktikum,
        solide Grundkenntnisse in C,
        Vorlesung Rechnernetze,
        Vorlesung Rechnerarchitektur,
        Python oder JavaScript (hilfreich)

Zur Uniworx-Bewerbung: Bitte teilen Sie uns mit, welche Vorkenntnisse Sie haben (auch aus Projekten und Tätigkeiten außerhalb der Universität) und warum Sie sich für Elektronik und Software im Fahrzeug - oder allgemeiner: im Embedded-Bereich - interessieren. Darüber hinaus interessant - aber nicht für die Auswahl zum Praktikum entscheidend - ist für uns, welche Entwicklungsplattform Sie bevorzugen und privat einsetzen (Betriebssystem, IDE, Editor, ...) und ob Sie bereits über Erfahrung mit Toolchains für die Embeddedentwicklung verfügen.


Organisation

  • Umfang: Blockveranstaltung 8 Tage
  • Vorlesung: Dr. Gordon Cichon

Zeit und Ort

Veranstaltung Zeit OrtVon - Bis
Blockveranstaltung täglich 9-17Uhr Oettingenstr. 67, Raum Antarktis 04.04. - 13.04.2017
Abgabe der Ausarbeitung - 28.04.2017

Bitte planen Sie außerdem im Vorfeld der Veranstaltung ein bis zwei Nachmittage zur Vorinstallation der benötigten Tools auf Ihren privaten Geräten. Dies beschleunigt den Ablauf des eigentlichen Praktikums erheblich und fördert somit den Spaß bei allen Beteiligten.


Materialien

Materialien werden nach und nach hier zur Verfügung gestellt. Bestätigte Teilnehmer erhalten eine Benachrichtigung per UniWorX.

Basics:
- CAN Bus Wikipedia
- Infineon TriCore Wikipedia

CAN unter Linux:
- SocketCAN, Wikipedia
- SocketCAN, PDF von CAN In Automation, Marcel Kleine-Budde
- python-can, SocketCAN Bindings für Python
- socketcan, SocketCAN Bindings für JavaScript

Toolchaindinge:
- Hightec Toolchain for TriCore (ist kostenfrei, aber man muss sich anmelden; läuft auf Windows, basiert auf Eclipse)
- MinGW (Minimal GNU for Windows; hat einen Compiler und solche Dinge)
- die Verwendung eines Git-Repos im CIP-Gitlab wird vorausgesetzt
- ebenso die Dokumentation von Code mittels Doxygen

Interessanter Lesestoff:
- What Every Programmer Should Know About Memory, Ulrich Drepper
- C Object Oriented Programming, Chris Wellon
- State Machine Design in C++, David Lafreniere
- CAN Bus Telemetry on a Formula Student Race Car, Florian Eich


Abgabe

Es wird eine Abgabe geben, die in die Bewertung einfließt. Diese ist nach dem Blockpraktikum von den Teilnehmern selbstständig zu bearbeiten. Darin sollte das erarbeitete Projekt so dokumentiert sein, dass ein Außenstehender mit Fachkenntnis (in einer Firma würde man sagen: ein nachfolgender Mitarbeiter) das Projekt in Eigenregie nachbauen kann.

Gruppenabgaben sind hierbei natürlich möglich. Eine LaTeX-Vorlage wird zur Verfügung gestellt.

Artikelaktionen


Funktionsleiste