Forum: Mikrocontroller und Digitale Elektronik Controller für SD-Karte und USB2


von Ralf S. (ralf_s480)


Lesenswert?

Hallo!

Ich habe hier einen Datenlogger, der Messdaten auf eine SD-Karte 
speichert.
Ich verwende einen PicoPower Atmel ATSAM4LS8BA uC, und der läuft sehr 
brav mit einer einzelnen AAA-Zelle für eine Woche und zeichnet dabei pro 
Tag rund 100MB Daten auf. (die sind übrigens schon komprimiert, um dem 
Hinweise zuvorzukommen)

Nun hapert's an der USB-Kommunikation.
Die CPU läuft mit 48MHz, was echt krötenlangsam ist.

Von Maxim gab's eine Baustein, der die Kommunikation mit der SD-Karte 
übernommen hat und dabei de facto keinen Strom verbraucht. Und wenn er 
an USB angeschlossen wurde, dann hat er die uC von der SD-Karte getrennt 
und danach eine sinnvoll schnelle Verbindung von der Karte zu USB 
ermöglicht. Maxim hat das Teil allerdings als obsolet erklärt und keinen 
Nachfolger.

Wie könnte ich das lösen?
Ich hab schon ein paar USB-CF-Kartenleser aufgebrochen und geschaut was 
da verbaut ist, in den meisten Fällen von den Herstellern aber nicht mal 
eine Rückfrage erhalten. Ich brauche nur 1000 Stück im Jahr, unter 
10.000 pro Woche wackeln die scheinbar nicht mal mit den Ohren.

Empfehlungen?
Danke!

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Ralf S. schrieb:

> Empfehlungen?

Lerne rechnen!

100MB/Tag bedeutet satte 1,irgendwas *k*B/s. Den Durchsatz schaft man 
sogar mit einem ATtiny und VUSB...

Sprich: die Hardware ist sicher nicht dein Problem...

Ich würde mal tippen: völlig inkompetenter C&P-"Programmierer", denn 
jeder halbwegs ernsthafte Programmierer hätte die kleine Rechnung schon 
im Zuge der Problemanalyse ganz automatisch gemacht...

von Ralf S. (ralf_s480)


Lesenswert?

???
Die Messungen sind zwischen 100MB und 1.4GB gross.
USB-1 (und viel mehr schaff ich mit 48MHz uC Geschwindigkeit nicht) 
liefert 12MitB/s, also netto wahrscheinlich 1MB / Sekunde.
Bei einer 100MB Datei wären das 1.5 Minuten, bei einer 14-Tages-Messung 
sind's 20 Minuten. Das akzeptieren meine Kunden nicht.

Die Geräte haben auch die Möglichkeit, die SD-Karten rauszunehmen und 
über ihren normalen USB2-Kartenlesen einzulesen. Superflott und soweit 
auch akzeptiert.

Eine Verwendung direkt über's USB-interface ist aber komfortabler - nur 
benötige ich da halt ein Problem um zumindest High-Speed (USB2.0) zu 
erreichen.
Daher meine Frage.

Oder wolltest du nur deinem Nick gerecht werden und mich anstinken?

von Ralf S. (ralf_s480)


Lesenswert?

Ah, ich seh grad, du kannst nicht sinnerfassend lesen.
Daher nochmals das Kernproblem in Mickeymouse-Kürze:
Du glaubst, ich schaff es nicht, die 100MB pro Tag aufzuzeichnen.
Nein, das geht - wie du ja errechnet hast - tadellos.
Mein Problem ist allerdings die gesammelten Daten dann flott über USB 
zum PC zu übertragen.

: Bearbeitet durch User
von Thosch (Gast)


Lesenswert?

c-hater schrieb:
> Lerne rechnen!

Da möcht man fast antworten: "Lerne verstehen!"

> 100MB/Tag bedeutet satte 1,irgendwas *k*B/s. Den Durchsatz schaft man
> sogar mit einem ATtiny und VUSB...

> Sprich: die Hardware ist sicher nicht dein Problem...

Sicher. Beim Schreiben auf die SD-Karte.
Der TO hat einen Datenlogger, der ca. 7 Tage lang jeweils 100MB pro Tag 
auf 'ne SD-Karte bunkert. Macht also rund 700MB, bis die Batterie 
aufgibt.

Und zum Auslesen dieser 700MB möchte der TO jetzt offensichtlich nicht 
nochmal 7 Tage benötigen, sondern möchte das in wenigen Sekunden (oder 
schlimmstenfalls Minuten) erledigt haben.

Da kam jetzt der Maxim-Baustein ins Spiel, der die SD-Karte auf ein 
USB3-Interface umschalten konnte, um sie schnell via USB am PC auslesen 
zu können. Leider ist der nur nicht mehr erhältlich.


> Ich würde mal tippen: völlig inkompetenter C&P-"Programmierer", denn
> jeder halbwegs ernsthafte Programmierer hätte die kleine Rechnung schon
> im Zuge der Problemanalyse ganz automatisch gemacht...

Und jeder halbwegs ernsthafte Tippgeber hier im Forum wartet mit seiner 
hilfreichen Antwort, bis er das Problem verstanden hat. ;-)

Und den TO als inkompetenten Programmierer durchzubeleidigen,
ist weder hilfreich noch entspreicht es der Netiquette.



Zurück zum Problem:
Wie wäre es dann, die Schaltung des Maxim-Bausteins nachzubilden und 
einen USB3-Cardreader Chip über CMOS-Switches, wechselseitig mit dem 
Datenlogger µC, an die SD-Karte zu schalten?

An den TO:
Was spricht eigentlich dagegen, die SD-Karte aus dem Logger zu nehmen 
und in einen beliebigen USB3-Kartenleser einzustecken?

von Ralf S. (ralf_s480)


Lesenswert?

Thosch schrieb:
> c-hater schrieb:
>> Lerne rechnen!
> Da möcht man fast antworten: "Lerne verstehen!"

:)

> Da kam jetzt der Maxim-Baustein ins Spiel, der die SD-Karte auf ein
> USB3-Interface...

Da hab ich mich vertippt.
USB2 reicht natürlich völlig.

> Zurück zum Problem:
> Wie wäre es dann, die Schaltung des Maxim-Bausteins nachzubilden und
> einen USB3-Cardreader Chip über CMOS-Switches, wechselseitig mit dem
> Datenlogger µC, an die SD-Karte zu schalten?

Ja, das bietet sich an.
Daher meine Frage: Welche Chips bieten sich eurer Meinung nach an, um 
eine SD-Karte via USB anzusprechen?

Danke!!!

> An den TO:
> Was spricht eigentlich dagegen, die SD-Karte aus dem Logger zu nehmen
> und in einen beliebigen USB3-Kartenleser einzustecken?

Mach ich eh, aber mit Kabel hat's halt mehr Sex. Da kann das Gerät auch 
gleich via USB konfiguriert werden.

von Schütze (Gast)


Lesenswert?

Ist das nicht genau so ein Chip den Du suchst:
https://www.microchip.com/wwwproducts/en/USB2640

So wie ich das verstanden habe hat der sogar noch einen SPI durchgriff 
wo man mit dem ATSAM kommunizieren könnte damit der die Füße still hält 
oder ähnlich.

Ansonsten fällt mir noch die Möglichkeit ein eine Funk SD-Karte zu 
verwenden (keine Erfahrung ob das was taugt). Dann brauchst Du Garnichts 
ändern.

Oder eben einen dickeren Controller, wobei das dann vielleicht einen 
gewissen Umstellungsaufwand bedeutet.
Wenn ich mir das Teensy4.0 anschaue würde das für so eine Anwendung 
glaub ich ziemlich passen. Wobei man da dann schauen müsste ob man mit 
Low-Power-Modis noch die gewünschte Zeitspanne abdecken kann:
https://www.nxp.com/docs/en/nxp/data-sheets/IMXRT1060CEC.pdf

von Thorsten S. (thosch)


Lesenswert?

oder ein Microchip USB2241, der ist ohne den Hub.
https://www.microchip.com/wwwproducts/en/USB2241

Datenblatt:
http://ww1.microchip.com/downloads/en/DeviceDoc/00001979A.pdf

Gibt's z.B. bei Mouser oder DigiKey für unter 1,80 als Einzelstück.

: Bearbeitet durch User
von Ralf S. (ralf_s480)


Lesenswert?

Schütze schrieb:
> Ist das nicht genau so ein Chip den Du suchst:
> https://www.microchip.com/wwwproducts/en/USB2640

Cool, danke!!!
Ich quäle mich grad durch's Datenblatt
http://ww1.microchip.com/downloads/en/DeviceDoc/USB2640_USB2641-Data-Sheet-DS00001947B.pdf

Für mich jetzt wichtig ist der Stromverbrauch.
Wenn Mein Device am USB hängt ist Stromverbrauch kein Thema, da kommt 
der Saft eh von extern, kritisch wird's "offline".

Kann mir jemand mit dem Datenblatt helfen: Wie viel braucht der Chip 
wenn ich via SPI auf die SD-Karte zugreifen will, also ohne USB?

Die Tabellen um Seite 50 herum lesen sich so, als würde der Chip da 
satte 300mA brauchen. Alles andere als Pico-Power-Design.

Oder ist das was ich meine der Suspend-Mode mit 420uA?

1000 Dank nochmals!

von Knoten (Gast)


Lesenswert?

Kannst Du nicht einfach anhand der vorhandenen Stromversorgung (USB oder 
Batterie) die Performance (Takt) entsprechend den Beduerfnissen 
anzupassen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.