BLIT-Board-SD-Card

Aus BraLUG-Wiki

Wechseln zu: Navigation, Suche


Bilder

gesamter Versuchsaufbau SD-Card-Modul (Oberseite) SD-Card-Modul (Unterseite mit Karte) SD-Card-Modul (Unterseite ohne Karte)

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)

(...vielleicht folgt hier auch ein entsprechendes Schaltbild des SD-Karten-Moduls ...)

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.

'Persönliche Werkzeuge