Hardware-Erweiterungen für den c't-Bot
Sprachmodul SP03
Siehe PDF-Dokumentation von Harald W. Leschner.
CMPS03-Kompass
Anschluss an den I2C-Bus des ATmegas wie unter Sprachmodul SP03 beschrieben. Softwareseitiger Konfigurationsschalter CMPS03_AVAILABLE (siehe Konfigurationsschalter).
Ultraschallsensor SRF10
Anschluss an den I2C-Bus des ATmegas wie unter Sprachmodul SP03 beschrieben. Softwareseitiger Konfigurationsschalter SRF10_AVAILABLE (siehe Konfigurationsschalter).
MMC per Hardware-SPI
Die MMC / SD-Karte kann auf zwei Weisen angesprochen werden:
- Per Software-Steuerung (das ist die Standard-Einstellung), dafür muss SPI_AVAILABLE in ct-Bot.h aus sein (siehe auch Konfigurationsschalter).
- Per Hardware-SPI-Steuerung, dafür ist ein kleiner Hardware-Umbau nötig: Es muss die Verbindung zwischen Prozessor-Pin PC5 (IC1 Pin 27) und dem Display-Anschluss (ST4 Pin 7) getrennt werden (die Busy-Leitung wird vom Display-Treiber nicht genutzt, darum hat das keine Nachteile) und an PC5 (IC1 Pin 27) der linke Radencoder (RADL / IC3C Pin 6) angeschlossen werden. Die Verbindung von IC4 Pin 15 darf dabei jedoch nicht vom Display-Anschluss (ST4 Pin 7) getrennt werden! Ausserdem ist Prozessor-Pin PB4 (IC1 Pin 5) von IC3C Pin 6 zu trennen (der PB4-Pin kann für andere Zwecke genutzt werden, er muss jedoch immer als Output konfiguriert sein).
Nun schaltet man in ct-Bot.h die Option SPI_AVAILABLE an, dadurch wird die Kommunikation mit der SD-Karte über das Hardware-SPI Modul des Prozessors gesteuert. Der Vorteil ist eine höhere Transfer-Geschwindigkeit zur SD-Karte (Faktor 2) und es sind ca. 430 Byte weniger im Flash-Speicher des Prozessors belegt. Zu beachten ist, dass SPI_AVAILABLE von jetzt an immer eingeschaltet sein muss, auch wenn man keine MMC-Unterstützung benötigt, weil die Radencoder-Auswertung die veränderte Pin-Belegung immer berücksichtigen muss.
Hinweis: Es handelt sich hierbei um eine reine Optimierungsmaßnahme, durch die keine weiteren Features ermöglicht werden! Von der schnelleren Anbindung der SD-Karte profitiert z.B. die Kartographie, weil die Map-Updates so weniger Prozessorzeit beanspruchen und daher häufiger ausgeführt werden können, ohne die Bot-Verhalten zu stören.
Lokalisierung
Siehe Lokalisierung des c't-Bots mit Zusatzhardware.
CPU-Erweiterung
Siehe CPU-Erweiterung für den c't-Bot.
