SPI-Devices

SD-Karte

Wichtigstes Device am SPI-Bus im Steckschwein und quasi die Killer-Applikation ist die SD-Karte. Der einzige weitere Hardwareaufwand besteht in einer Pegelwandlung von und nach 5V, denn alle SD-Karten benötigen 3.3V. SPI_CLK, SPI_SS und MOSI werden daher durch den Open-Collector-Treiber 74LS07 mit Pullups nach 3.3V an den Ausgängen gewandelt. Der Rückweg MISO wird durch einen Treiber eines 74HCT125 geschleift, welcher mit den 3.3V-Pegeln zurechtkommt.

sdcard

ATmega8 als Tastaturcontroller

Als Tastaturcontroller wird ein ATmega8 und der Code aus AVR Application Note 313 verwendet. Dieser wurde zum einen auf das deutsche Tastaturmapping angepasst, zum anderen ist der UART-Code durch eigenen Code ersetzt worden, der den Tastaturpuffer als SPI Slave zugänglich macht. Zusatzlich werden Sondertasten wie SysRq oder der bekannte Affengriff direkt im Tastaturcontroller abgefangen, um über IO-Pins des AVR einen NMI oder Hardware-Reset auszuführen.

RTC DS1306

Das ist wirklich langweilig, RTC direkt ans SPI Interface, fertig. Liefert Zeit und Datum in Sekundenauflösung im BCD-Format. Lediglich die CS-Leitung musste invertiert werden, weil der entsprechende PIN an der SD1306 active high ist und es uns nicht sauber erschien, softwaremäßig immer drauf achten zu müssen dass dieses eine CS-Bit die RTC ist und dieses genau andersrum behandelt zu werden hat.

io