BLIT-Board-SD-Card
Aus BraLUG-Wiki
(→Bilder) |
(→Hardware) |
||
Zeile 17: | Zeile 17: | ||
Desweiteren reicht ein ATmega8 für die komfortablen FATx-Zugriffe auf einer SD-Karte nicht mehr aus! Deshalb wurde dieser Chip durch einen pinkompatiblen ATmega168 ausgetauscht. (Achtung: damit funktionieren aber einige der BLIT-Board-Beispiele nicht mehr, da einige interne Register des ATmega168 anders bezeichnet sind) | Desweiteren reicht ein ATmega8 für die komfortablen FATx-Zugriffe auf einer SD-Karte nicht mehr aus! Deshalb wurde dieser Chip durch einen pinkompatiblen ATmega168 ausgetauscht. (Achtung: damit funktionieren aber einige der BLIT-Board-Beispiele nicht mehr, da einige interne Register des ATmega168 anders bezeichnet sind) | ||
− | |||
− | |||
=Software= | =Software= |
Aktuelle Version vom 14. Mai 2009, 22:12 Uhr
[Bearbeiten] Bilder
[Bearbeiten] Hardware
Der Schaltplan des SD-Karten-Modules geht auf eine einfache Schaltung von Ulrich Radig zurück. Diese einfache Schaltung ist zwar in Fachkreisen verpönt, leistet aber in meinen Augen das Nötige, um die notwendige Pegelanpassung von 5V auf 3,3V (für SD-Karten) zu gewährleisten. Bis jetzt gab es bei mir noch keine Probleme (auch nicht in entsprechend anderen Projekten, die mit 5V als Betriebsspannung arbeiten...)!
Um Zugriffe auf die SD-Karte besser zu erkennen, wurde zusätzlich eine LED mit entsprechenden Vorwiderstand, in die Chip-Select-Leitung eingebaut.
Stichwort "Chip-Select": das SD-Karten-Modul wurde so konzipiert, dass es an der ISP-Schnittstelle des BLIT-Boards betrieben werden kann. Abweichend vom Standard, muss dazu Pin 16 (PB2) des Atmel mit (dem freien) Pin 3 des vorhandenen ISP-Stecker verbunden werden.
Desweiteren reicht ein ATmega8 für die komfortablen FATx-Zugriffe auf einer SD-Karte nicht mehr aus! Deshalb wurde dieser Chip durch einen pinkompatiblen ATmega168 ausgetauscht. (Achtung: damit funktionieren aber einige der BLIT-Board-Beispiele nicht mehr, da einige interne Register des ATmega168 anders bezeichnet sind)
[Bearbeiten] Software
Größtes Problem ist der beschränkte SRAM-Bereich von 1kByte (ATmega8/168) für dynamische Variablen innerhalb des Mikrocontrollers. Und davon kann man für Zugriffe auf SD-Karten eine ganze Menge verbraten!
Bei verschiedenen Experimenten mit diversen, im Internet kursierenden Zugriffsroutinen für FATx-Filesyteme (wozu das Rad neu erfinden), hat sich diese Implementierung (bis jetzt) für 1kByte SRAM als geeignet gezeigt.
In einem kleinen Beispiel wude eine Art Daten-Logger realisiert. In diesem Programm ist zusätzlich zum SD-Karten-Modul die Thermo-Baugruppe, die RTC-Baugruppe sowie das LCD via TWI am BLIT-Board angeschlossen. Es werden zyklisch die Temperatur und die Zeit ausgelesen, in eine Datei auf der SD-Karte geschrieben und zusätzlich auf dem LCD ausgegeben.