-
-
Hallo Moritz.
>> Also verwendest du jetzt nur noch den Atmega?
Ja, ich verwende im Moment nur den ATMega32. Allerdings habe ich ATMega8, AT90S2313 und AT90S1200 je nach Anwendungsfall auch in der Tasche.
>> Unterstützen die Atmels kein I2C?
Die AT90S... Serie kann kein I2C per Hardware. D. h. I2C muss per Software realisiert werden, das nimmt natürlich Resourcen in Anspruch und die maximale Geschwindigkeit ist auch begrenzt. Ab ATMega geht das dann per Hardware und auch ziemlich schnell.
Auf http://www.talentraspel.de/html/robo...roboplugs.html habe ich die von mit ausprobierten Architekturen beschrieben.
Ich habe zuerst die "RoboModules" gebaut. Da habe ich ganz auf I2C verzichtet und ein 1-Draht-Protokoll realisiert. Das funktionierte für einfache (meist übergeordnete) Steuerungsaufgaben auch prima. Für schnelle Reaktionen, die in den Regelkreisen benötigt werden, hat es dann aber nicht gereicht.
Also habe ich das Konzept um ein Modul erweitert, an das andere Module über einen 4-Bit-Bus angeschlossen werden. Ein "RoboModul" mit bis zu vier "RoboPlugs". Damit konnte ich dann auch schnelle Regelkreise modular aufbauen.
Aber auch bei der Buskommunikation gibt es eine Geschwindigkeitsobergrenze. Daher habe ich dann das gesamte System auf eine ATMega32-Hauptplatine umgestellt, an die nur noch passive Module angeschlossen sind. Dadurch kommt die maximale Geschwindgkeit des Mikrokontrollers zum Tragen. Für komplexere Aufgaben nehme ich einfach mehrere ATMega32-Hauptplatinen, die sich dann tatsächlich über Highspeed I2C untereinander sychronisieren.
Warum habe ich das alles gemacht?
Ich wollte an einer gleichbleibenden Aufgabenstellung (Finde den Weg durch ein Linienlabyrinth) die Vor- und Nachteile der verschiedneen Architekturen systematisch erforschen. Dadurch kann ich bei zulünftigen Entwicklungen immer optimalere Architekturen entwerfen.
Grüße,
Kai.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen