Grosse SD Card an 8-Bit Micro Controller?

Auch bei Markenware wie Sandisk? Das waere sehr enttaeuschend.

Koennte sein, so wie ich ihn verstanden haben wurde das als "normal" angesehen. Doch wir werden mal sehen, vielleicht geht es ohne Dateisystem und wenn man die vorgeschlagenen Panasonic Karten fuer Industriegebrauch nimmt. Wir koennen ja nicht die einzigen sein.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg
Loading thread data ...

Werden wir.

Wie im Film, "fire in the trousers". War dort aber wohl anders gemeint :-)

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

9600bd ist in der Tat nicht viel. Deshalb haben mich die Probleme auch so gewundert.

Gut, aber man kann sie ja auch die einschlaegigen Marken beschraenken und da kamen hier schon Tips. Es muss diesmal auch nicht auf den Pfennig geguckt werden, wenn eine industrielle SD Card ein paar Dollars mehr kostet, geht da in Ordnung. Selbst einige zig Dollars, wenn sie uns den ARM-uC erspart.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

An sich sollte so eine Karte frisch formatiert in der Lage sein, ohne gross rumzusuchen einfach alles hintereinander zu klatschen. So wie man ja auch auf einer Faehre keinen Platz fuer das Auto sucht, sondern einfach alle neben- und hintereinander aufgereiht werden, so wie sie kommen.

Denke ich auch.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Die Daten so schreiben, dass jeder Record mindestens ein von 0 verschiedenes

Allerdings kannst Du die Karte so nicht einfach mit einem PC auslesen. Der findet da gar nichts, weil kein Filesystem da ist. Wenn Dein uC eine

nimmst, reicht einfach sequentiell schreiben nicht. Du musst jedes mal auch die Meta-Daten updaten. Bei FAT bedeutet das mindestens im Directory-Eintrag

und Schreibzugriffe.

vermuten, dass Dein Programmierer eine fertig FAT-Filesystem Routine benutzt und bei jedem Schreiben ein Open, Seek-End, Write und Close macht. Das bedeutet, Directory lesen (Open), Kette der FAT-Cluster entlang laufen (Seek-End), Daten schreiben, evtl neuen FAT Cluster belegen und dabei FAT updaten (Write), Directory updaten (Close).

--
Reinhardt
Reply to
Reinhardt Behm

Die Daten so schreiben, dass jeder Record mindestens ein von 0 verschiedenes

Allerdings kannst Du die Karte so nicht einfach mit einem PC auslesen. Der findet da gar nichts, weil kein Filesystem da ist. Wenn Dein uC eine

nimmst, reicht einfach sequentiell schreiben nicht. Du musst jedes mal auch die Meta-Daten updaten. Bei FAT bedeutet das mindestens im Directory-Eintrag

und Schreibzugriffe.

vermuten, dass Dein Programmierer eine fertig FAT-Filesystem Routine benutzt und bei jedem Schreiben ein Open, Seek-End, Write und Close macht. Das bedeutet, Directory lesen (Open), Kette der FAT-Cluster entlang laufen (Seek-End), Daten schreiben, evtl neuen FAT Cluster belegen und dabei FAT updaten (Write), Directory updaten (Close).

--
Reinhardt
Reply to
Reinhardt Behm

Wieso? Das ist einfach eine Eigenschaft von Speicherkarten und sie stoert in ueblichen Anwendungen auch nicht.

Richtig toll wird das im uebrigen bei intelligenten Karten. Also Speicherkarten welche gleichzeitig ein SD-Karten Interface und USB enthalten. Oder aber Wifi-SD-Karten.

Und der naechste tolle Punkt ist die Formatierung. Also Probleme auf Dateisystemebene. Es ist kein Zufall das so gut wie jedes Geraet (vgl: Kameras) das SD-Karten unterstuetzt die auch formatieren kann. So ist der Hersteller einigermassen sicher das es klappt.

Ohne Dateisystem geht es und habe ich auch schomal gemacht. Es ist aber eine sehr speziele Loesung. Gut fuer den Entwickler selber. Aber nichts was man so rumreichen/verkaufen kann. Ich kenn mich mit Windoof jetzt nicht so aus (nur auf Anwenderebene), aber ich habe so meine Zweifel ob du da ohne Adminrechte ueberhaubt auf eine Bloecke eines Mediums zugreifen kannst.

Interessant ist auch eine Hybridloesung. Du machst ein Filesystem auf eine Karte. Sie ist also leer und frisch formatiert. Dann kopierst du eine Datei drauf welche die maximale Groesse dessen hat was du so brauchst. Im ersten Block der Datei gibt es neben anderen Verwaltungsinformationen die du so nutzen kannst vor allem eine grosse Magicnumber. Der Microcontroller durchsucht dann die Karte von Anfang an nach dieser Number und findet so die Datei. Danach kann man einfach seine Daten ab bekannten Sektoren reinschreiben. Das klappt auch problemlos mit kleinen Microcontrollern. Auf dem PC ist die Datei dann normal mit den ueblichen Methoden auf Filesystemebene lesbar.

Nachteil: Mach mal einen Kunden klar das er nicht auf dieser Karte lustig rumkopieren darf. Sowas bekommst du nur in das Hirn von Leuten die verstehen was auf einer Speicherkarte passiert.

Relativ brauchbar sind die beiden Dateisysteme von Elmchan. Das kleine koennte auch bei dir laufen. Der Vorteil ist das dies von vielen Leuten auf der Welt genutzt wird und sie damit bereits viele Speicherkarten getestet haben.

Olaf

Reply to
Olaf Kaluza

Man kann das ja dann programmieren. Aber dann braucht das Programm auch entsprechende Zugriffsrechte. Das will man nicht wirklich.

Und sehr vorsichtig waere ich auch mit dem miesen Dreck den man heute als Betriebsystem bezeichnet. Wenn du heute eine Karte irgendwo reinsteckst fuehlt sich das so gut wie jedes System berufen irgendwo mal etwas hinzuschreiben. Und wenn es kein Filessystem gibt geht vermutlich ein Fenster auf: "Hallo unwissender Anwender, soll ich nicht die Formatier-App starten?"

Richtig. Es ist einiges an Verwaltungsarbeit zu machen. Ich habe mal ein FAT System selber programmiert. Das war 1999/2000. Damals gab erst nur MMC und es kurz darauf kam SD raus. Speicherkartengroesse war 8MB (FAT12!) und 16MB. Ich habe die FAT komplett im Speicher meines Controllers gehalten. Dann wurden die die Karten immer groesser und ich habe diese kleine Fehlentscheidungen bereut. :-) Aehnlich ist da auch bei heutigen Implementierungen. Wenn der Programmierer bei der Entwicklung nur 4GB Karten hatte, es mittlerweile aber auch problemlos 128GB gibt dann hat er offensichtlich etwas nicht getestet und dann stoesst man ploetzlich auf ueberraschende Probleme.

Das denke ich auch. Man kann das natuerlich optimieren. Zum beispiel indem man einen kleinen Cache fuer die letzten 5 Bloecke einrichtet. Man muss nur den Speicher haben und sich des kleinen Nachteils bewusst sein. (User zieht ploetzlich Karte raus oder Strom faellt aus)

Ich halte es fuer einen Designfehler wenn man heute noch ein Projekt mit einem kleinen Microcontroller anfaengt wenn der SD-Karten unterstuetzen soll.

Olaf

Reply to
Olaf Kaluza

Ich verwende Sandisk und Samsung, und davon eher die schnelleren

einer schnelleren Karte auch das interne Handling (Umkopieren von

-ras

--
Ralph A. Schmid 
http://www.schmid.xxx/ http://www.db0fue.de/ 
 Click to see the full signature
Reply to
Ralph A. Schmid, dk5ras

Am 17.10.2015 um 03:25 schrieb Joerg:

Warum kein ARM? Ein STM32F105R8T6 mit 64 kB Flash und 64 kB RAM kostet

nehmen, die zwischendurch senkundenlange Denkpausen einlegen.

Ist auch einfacher zu programmieren, als 8 Bit Controller. Z.B. ein "int" ist 16 Bit auf einem ATMega, was man beim Programmieren in C

Bit-Shift Operationen von 32-Bit Werten auf einem Arduino). Auf einem ARM ist ein int 32 Bit. Dadurch kann man auch effizientere Programme schreiben, die bei gleichen Takt mehr rechnen und somit vielleicht sogar weniger Strom verbrauchen, je nach Anwendung. Mit der USB-Schnittstelle

kann bei Port Bitbanging nicht mehr so einfach zyklusgenau

9600 bd sowieso kein Problem sein.
--
Frank Buss, http://www.frank-buss.de 
C64 MIDI interface: http://www.frank-buss.de/kerberos/index.html
Reply to
Frank Buss

Am 17.10.2015 um 07:00 schrieb Olaf Kaluza:

ist es wie in Linux, einfach nur eine Datei, kann man sogar von Python aus mit ein paar Zeilen Code drauf zugreifen:

formatting link

noch einen Schreibzugriff um einen Block zu schreiben, statt jedesmal die Allocation-Table zu aktualisieren usw., was auch nicht

ist.

Ein FAT-Dateisystem ist aber anwenderfreundlicher, da man die geloggten

braucht keine Admin-Rechte.

--
Frank Buss, http://www.frank-buss.de 
C64 MIDI interface: http://www.frank-buss.de/kerberos/index.html
Reply to
Frank Buss

dauert bei einigen GB einige Zeit.

FAT-Sektor intern zu halten. Updaten und Flush. Nur beim Alloc eines neuen Clusters in der FAT muss man den neuen Sektor lesen. Da besteht dann auch nicht die Gefahr etwas zu verlieren, wenn der Strom

Problem ist immer da.

--
Reinhardt
Reply to
Reinhardt Behm

Die Karte ist ja auch in der Lage, das zu tun. Die Software muss das nur

Eine kluge Dateisystemimplementation merkt sich "das letzte Auto hab ich

ist frei, wie praktisch". Eine dumme Dateisystemimplementation macht "1 ist voll, 2 ist voll, 3 ist voll, 4 ist voll, 5 ist voll, 6 ist voll, 7 ist voll, 8 ist voll, 9 ist voll, 10 ist voll, 11 ist voll, 12 ist voll,

13 ist voll, 14 ist voll, 15 ist voll, 16 ist voll, 17 ist voll, ah, 18 ist frei."

Der Unterschied zwischen dumm und klug sind eine Variable und 10 Zeilen

Stefan

Reply to
Stefan Reuther

Wobei man MirrorBit nicht direkt mit anderen Flash-Zellen vergleichen

(durch nichtleitendes floating Gate Material). Bei den "normalen" Multi- Bit Zellen ist es dagegen einfach verschieden viel Ladung auf einem

Reply to
Michael Baeuerle

Am 17.10.2015 08:22, schrieb Frank Buss:

Bestimmt gibt sich da jemand als Joerg aus.

Reply to
Dieter Wiedmann

Frank Buss schrieb:

Die STM32F10x haben 20 kB SRAM und kosten hierzulande 2-3 Euro, im Hunderter-Pack dann nur noch 1,yy-2 Euro, je nach Modell.

dem Anwendungfall ausreichen.

Marc

Reply to
Marc Santhoff

Joerg schrieb:

Verhalten sich grade an Kleinrechnern manchmal anders als alle anderen

Marc

Reply to
Marc Santhoff

Zu langes Fackeln beim Speichern wuerde Kunden nerven, weil da die Digiknipse nach dem Foto nicht sofort abschaltbar waere. Aehnlich wie PCs mit diesem #%^@!! Windows 7, die sich oft weigern, abzuschalten.

Wenn es einfach machbar ist, koennten wir das auch tun. Wir brauchen nur eine Sorte, die funktioniert und einigermassen langfristig beschaffbar bleibt.

Das waere in diesem Fall voll in Ordnung. Seit Windows 7 geht ohne Admin-Rechte ohnehin nicht mehr viel.

Waere egal, der Endkunde hat keinen Zugang zu dieser Karte.

Danke, das ist mal eine Ansage, Ich vermute, das hier:

formatting link

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Wir ueberlegen ja auch, einen ARM-9 von Atmel reinzusetzen. Aber mir erscheint das mit Kanonen auf Spatzen geschossen. Ich bin auch ein wenig gebranntes Kind in Sachen ARM, nachdem Analog Devices beim ADSP-CM408 erstmal voll gepatzt hat und unsereins das rausfinden musste (inzwischen gibt es neues Silicon und neue Suite Release ...).

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Das waere kein Problem. Man koennte ueber einen Labjack auslesen oder das gleiche Geraet zum Auslesen nehmen, welches wir entwickeln. Das hat u.a. serielle Schnittstellen, die mir Industriestandardprotokoll laufen.

Er schrieb aber nicht in die grossen Files, die waren nur als simulierte Grundlast mit auf der Karte. Sobald die mit drauf waren, wurde das zaeh wie Sirup.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.