BLIT-Board-SD-Card

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Hardware)
 
(5 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 2: Zeile 2:
 
[[Kategorie:BLIT2008-Board]]
 
[[Kategorie:BLIT2008-Board]]
  
=Bilder...=
+
=Bilder=
 
[[Bild:BLIT_board_sd_card1.JPG|320px|gesamter Versuchsaufbau]]
 
[[Bild:BLIT_board_sd_card1.JPG|320px|gesamter Versuchsaufbau]]
 
[[Bild:Blit_board_sd_card_2.JPG|320px|SD-Card-Modul (Oberseite)]]
 
[[Bild:Blit_board_sd_card_2.JPG|320px|SD-Card-Modul (Oberseite)]]
 
[[Bild:Blit_board_sd_card_3.JPG|320px|SD-Card-Modul (Unterseite mit Karte)]]
 
[[Bild:Blit_board_sd_card_3.JPG|320px|SD-Card-Modul (Unterseite mit Karte)]]
 
[[Bild:Blit_board_sd_card_4.JPG|320px|SD-Card-Modul (Unterseite ohne Karte)]]
 
[[Bild:Blit_board_sd_card_4.JPG|320px|SD-Card-Modul (Unterseite ohne Karte)]]
 +
[[Bild:Blit_board_sd_card.png|320px|SD-Card-Modul Schaltplan]]
 +
 
=Hardware=
 
=Hardware=
Der Schaltplan des SD-Karten-Modules geht auf eine [http://www.ulrichradig.de/home/index.php/avr/mmc-sd einfache Schaltung] von [http://ulrichradig.de/ 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 in anderen Projekten, die mit 5V als Betriebsspannung arbeiten...)!
+
Der Schaltplan des SD-Karten-Modules geht auf eine [http://www.ulrichradig.de/home/index.php/avr/mmc-sd einfache Schaltung] von [http://ulrichradig.de/ 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.
 
Um Zugriffe auf die SD-Karte besser zu erkennen, wurde zusätzlich eine LED mit entsprechenden Vorwiderstand, in die Chip-Select-Leitung eingebaut.
Zeile 14: Zeile 16:
 
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.
 
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 pinkompatibelen 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)
 
+
(...vielleicht folgt hier auch ein entsprechendes Schaltbild des SD-Karten-Moduls ...)
+
  
 
=Software=
 
=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!
 
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, hat sich diese [http://www.mikrocontroller.net/articles/AVR_FAT32 Implementierung] (bis jetzt) für 1kByte SRAM als geeignet gezeigt.
+
Bei verschiedenen Experimenten mit diversen, im Internet kursierenden Zugriffsroutinen für FATx-Filesyteme (wozu das Rad neu erfinden), hat sich diese [http://www.mikrocontroller.net/articles/AVR_FAT32 Implementierung] (bis jetzt) für 1kByte SRAM als geeignet gezeigt.
  
(Hier folgen dann entsprechende Beispiele...)
+
In einem  [http://bralug.de/wiki-common/images/a/a8/Blit_board_sd_card.tar.gz kleinen Beispiel] wude eine Art Daten-Logger realisiert. In diesem Programm ist zusätzlich zum SD-Karten-Modul die [[BLIT2008-Board-Thermo|Thermo-Baugruppe]], die [[BLIT2008-Board-RTC|RTC-Baugruppe]] sowie das [[BLIT2008-Board-LCD|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.

Aktuelle Version vom 14. Mai 2009, 23:12 Uhr


[Bearbeiten] Bilder

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

[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.

'Persönliche Werkzeuge