Laborpraktikum
Entwicklung eines Bootloaderes für über CAN verbundene Mikrocontroller
Die Softwareentwicklung für Mikrocontroller lässt sich in zwei Phasen unterteilen. In der ersten Phase, bis zum Abschluss der Implementierung, wird auf einem Fremdsystem entwickelt. Durch ihre weite Verbreitung kommen zumeist Personalcomputer zum Einsatz. Mit Verwendung von Crosscompilern lässt sich Programmcode für den gewählten Mikrocontroller erzeugen. Erst mit der Übertragung des Programmcode auf den Mikrocontroller beginnt die zweite Phase der Softwareentwicklung, nun auf dem beabsichtigtem Zielsystem.
Durch die Fähigkeit von Mikrocontrollern zum sog. In-System-Programming wird der Übergang zwischen beiden Entwicklungsphasen vereinfacht. Auf aufwendige Umbaumaßnahmen der Hardware oder gar einem Ausbau des Mikrocontrollers aus einem kompletten System kann verzichtet werden. Vielmehr kann ein Mikrocontroller, wie der Name schon vermuten lässt, beim Übertragen von Programmcode im System verbleiben. Dies reduziert die mechanische Beanspruchung des gesamten Systems, zudem wird viel Zeit eingespart. Die gewonnene Flexibilität lässt sich beispielsweise für zusätzliche Tests im Rahmen der Softwareentwicklung einsetzen. Das In-System-Programming ( im Folgendem auch kurz mit ISP bezeichnet) nutzt vorhandene Kommunikationsmöglichkeiten eines Mikrocontrollers. Bekannt sind serielle Möglichkeiten wie JTAG oder SPI. Ein entsprechendes Kabel samt Adapter stellt dabei die Verbindung zwischen PC und Mikrocontroller her.
Mikrocontroller der AT90CAN-Baureihe der Firma Atmel besitzen eine Schnittstelle für den CAN-Bus. Wird diese Schnittstelle als vornehmliche Kommunikationsmöglichkeit verwendet, erscheint die Verwendung einer zusätzlichen Schnittstelle lediglich zum Zwecke des ISP überflüssig.
Die Möglichkeit zum ISP über den existierenden CAN-Busanschluss bietet mehrere Vorteile:
- Es entfällt das Anschließen eines zusätzlichen Verbindungskabels, wenn ausschließlich per CAN kommuniziert wird. Zusätzlich bleibt in diesem Falle eine Schnittstelle des Mikrocontrollers ständig für andere Aufgaben frei.
- Es entfällt der oft lästige Wechsel des jeweils angeschlossenen Mikrocontrollers. Bisherige Verfahren erlauben nur die Kommunikation mit einem einzelnen Mikrocontroller. Für die Verwendung mehrerer Mikrocontroller muss bisher immer das Verbindungskabel getrennt und neu angeschlossen werden.
- Es wird zusätzlich Zeit eingespart, da mehrere Mikrocontroller gleichzeitig mit neuem Programmcode versehen werden können. Gerade bei Verwendung mehrerer Mikrocontroller nimmt das bisher praktizierte sequentielle Vorgehen viel Zeit in Anspruch.
- Letztendlich wird auch die mechanische Beanspruchung der Anschlüsse reduziert.
Aufgabenstellung: | Prof. Dr. rer. nat. Jörg Kaiser |
Betreuer: | Dipl.-Inform. Michael Schulze |
Praktikant: | Jörg Diederich |
Status: | verteidigt am Wintersemester 2006 (PDF, 0.2 MB) |
Bearbeitungszeitraum: |