PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eine SD-Karte statt EEPROM als Speicher



Thomas E.
16.04.2012, 08:49
Hallo!


Ich verwendete bei meinen Datenloggern bis jetzt immer ein externes EEPROM zur Speicherung der Daten. Nun möchte ich etwas mehr Daten unterbringen und dachte dabei an eine SD-Karte. Allerdings möchte ich ungerne auf einen großen Controller umsteigen, der genügend SRAM für AVR-DOS mitbringt. Ich benötige die Speicherkarte ohnehin nur als Speicher, also ich möchte sie nicht unbedingt per PC auslesen können. Die Übertragung der Daten erfolgt dann - bereits fertig formatiert - per RS232, wo sie dann per Mitschnitt des Terminalprogramms als *.log-Datei gespeichert werden.

Wenn ich mit die Karte nur als Speicher verwende und sie fest in den Logger einbaue, benötige ich kein AVR-DOS? Wie wird das Schreiben und Lesen der Karte ohne AVR-DOS bewerkstelligt?

Alternativ würde mir noch eine Lösung mit einem USB-Stick gefallen, dazu habe ich hier etwas gefunden:
Link zu "USB-Stick-Controllerinterface" von Ribu Elektronik (http://www.ribu.at/Tabelle_3.asp?File_Name1=I190_680400.htm&A_NUM1_1=680390&E_NUM1_1=680410)

Ich bin mir dazu aber auch nicht sicher, ob nicht der Aufwand zu groß wird und ob zwei getrennte I2C-Busse mit jeweils einem ST24C256 nicht einfacher zu realisieren ist...
EDIT: Ich sah gerade, dass die 24C256 sich adressieren lassen (anders als bei den ST24C16) und damit ein I2C-Bus für vier 24C256 reicht)

Kampi
16.04.2012, 10:18
Hi,

also wenn du kein FAT auf der SD-Karte haben willst brauchst du kein AVR-DOS. Aber dann würde ich lieber nen USB-Stick nehmen z.B. mit dem hier:

http://de.rs-online.com/web/p/kommunikation/0406552/

Das schreiben und lesen des Sticks geht ganz einfach über Befehle die du per UART/SPI usw. sendest. Hab damit selber schon einen Logger per UART in Bascom gebaut und es klappt wunderbar :)

schorsch_76
16.04.2012, 11:42
Es gibt auch noch die 24AA512 [1]. Du kannst hier bis zu 8 an einen I2C Bus hängen. ;)

Gruß
Georg

[1] http://www.reichelt.de/EEPROM-seriell-Microchip/24AA512-I-P/index.html?;ACTION=3;LA=444;GROUP=A324;GROUPID=451 1;ARTICLE=96519;START=0;SORT=user;OFFSET=16;SID=31 usiU-6wQAR8AABDmkk8bdd559b3ee1d5bc350272845e15f15cc

Thomas E.
16.04.2012, 21:54
Hallo!


Vielen Dank für eure Antworten. Auf Kampis anraten habe ich mir den USB-Host bestellt. Allerdings nicht den von ihm verlinkten bei RS, sondern den bei RIBU-Elektronik (sind sich sehr ähnlich).

Auch Danke an Schorsch, dieses EEPROMs sind interessant, wenn mal weniger wie ein USB-Stick benötigt wird. :)

Kampi
16.04.2012, 21:57
Hallo!


Vielen Dank für eure Antworten. Auf Kampis anraten habe ich mir den USB-Host bestellt. Allerdings nicht den von ihm verlinkten bei RS, sondern den bei RIBU-Elektronik (sind sich sehr ähnlich).

Auch Danke an Schorsch, dieses EEPROMs sind interessant, wenn mal weniger wie ein USB-Stick benötigt wird. :)

Da wird der gleiche Chip drauf sein ;)
Ich bin auch erst durch einen Elektorartikel auf diesen Chip aufmerksam geworden. Vorher habe ich das auch mit einer SD-Karte gemacht. Aber das ist doch schon sehr umständlich (AVR-DOS, Pegelwandler, usw.)

Thomas E.
16.04.2012, 22:30
Da wird der gleiche Chip drauf sein ;)
Die Datenblätter sind jedenfalls die gleichen! :)


Ich bin auch erst durch einen Elektorartikel auf diesen Chip aufmerksam geworden. Vorher habe ich das auch mit einer SD-Karte gemacht. Aber das ist doch schon sehr umständlich (AVR-DOS, Pegelwandler, usw.)
Der Pegelwandler würde schonmal wegfallen, RIBU bietet nämlich fertige Bausteine an. Also nur mehr SPI und Versorgung anschließen, SD-einschieben und los gehts. Aber wie gesagt, AVR-DOS benötigt zu viel Speicher und ist zu umständlich (finde ich jedenfalls).

Hättest du eventuell Beispiele für das Ansprechen des USB-Hosts? :)

Besserwessi
17.04.2012, 17:11
So ein USB Host ist reichlich kompliziert. Ein normaler 8 Bit AVR ist damit schon überforgert und man bräuchte so einen Speziellen USB Host Controller. Auch braucht der USB Host vermutlich etwas viel Strom für einen Datalogger und dann ggf. auch noch 5 V für den USB.

Als Schritt zwischen I2C EEPROM und einer SD Karte gäbe es noch Data-flash Bausteine, z.B.: AT45DB161. Die liegen bei der Kapazität im MBytes Bereich und die ähnlich einer SD Karte per SPI anzusprechen.

Bei einem Datalogger kommt man meist mit 3 V (2*AAA oder eine Lithiumzelle) Versorgung aus, und kann dann die SD Karte ohne Pegelwandler anschließen. Bei 3 V braucht auch der µC schon weniger Strom als mit 5 V.

BastelWastel
17.04.2012, 18:00
@Besserwissi..Die genannten Module verwenden den FTDI Vinculum, der 'große Bruder' der FT232 Käfer.. Der hat USB Host schon integriert.
Zieh dir mal n Datasheet, die Dinger sind recht nett..

Gruss, Andreas

Thomas E.
17.04.2012, 21:25
@Besserwissi..Die genannten Module verwenden den FTDI Vinculum, der 'große Bruder' der FT232 Käfer.. Der hat USB Host schon integriert.

Und laut Datenblatt brauche ich lediglich ein paar Befehle per UART senden. Ich bin schon gespannt, wann das Ding bei mir ankommt.

BastelWastel
17.04.2012, 23:19
Dann kannst du direkt Bericht erstatten, hatte auch schon mit dem Gedanken gespielt mir mal einen zum rumspielen zu holen :)

Thomas E.
17.04.2012, 23:22
Dann kannst du direkt Bericht erstatten, hatte auch schon mit dem Gedanken gespielt mir mal einen zum rumspielen zu holen :)
Werde ich natürlich machen, sobald das Ding da ist und ich es getestet habe. :)

Kampi
18.04.2012, 06:05
Und laut Datenblatt brauche ich lediglich ein paar Befehle per UART senden. Ich bin schon gespannt, wann das Ding bei mir ankommt.

Jap brauchst du auch nur. Du kannst die Befehle entweder als Worte senden oder als 2-stelligen Zahlencode.

Thomas E.
01.05.2012, 18:40
Hab damit selber schon einen Logger per UART in Bascom gebaut und es klappt wunderbar :)
Kannst du etwas über die maximale Stromaufnahme der Kombination USB-Host und Stick sagen? Also wieviel Strom das ganze zum Beispiel während eines Schreibvorganges zieht?

Kampi
01.05.2012, 18:56
Nein leider nicht :(
Habs nicht festgehalten. Und den Logger hab ich wieder auseinander gebaut, weil ich zwei Komponenten dafür für was anderes brauchte ;)
Aber steht im Datenblatt keine maximale Stromaufnahme drin?

Thomas E.
01.05.2012, 19:42
Nein leider nicht :(
Habs nicht festgehalten. Und den Logger hab ich wieder auseinander gebaut, weil ich zwei Komponenten dafür für was anderes brauchte ;)
Aber steht im Datenblatt keine maximale Stromaufnahme drin?
Ich meine in Kombination mit einem Stick. Im Datenblatt des Hosts steht nur die Stromaufnahme des Host-Moduls, nicht aber des USB-Sticks. Ich habe mal danach gegoogelt und fand recht widersprüchliche Aussagen. Die von mir gefundenen Obergrenzen gingen bis etwa 1 A, was ich allerdings für etwas unglaubwürdig halte.

Kampi
01.05.2012, 19:47
1A ist wirklich zu viel.
Ich vermute mal das ein USB-Stick nicht mehr als max. 100mA zieht aber wahrscheinlich eher viel weniger.