Forum: Mikrocontroller und Digitale Elektronik SD-Karte Platine mit 3.3V und 5V kompatibel?


von Gon F. (gohn)


Lesenswert?

Hallo zusammen

Ich suche gerade ein Platine, welche SD-Karten mit 3.3v und 5V ansteuern 
kann.

Auf das bin ich zugestossen:

https://www.distrelec.ch/de/breakout-board-fuer-microsd-karten-adafruit-254-microsd-breakout/p/30091189?channel=b2c&price_gs=8.04519&source=googleps&ext_cid=shgooaqchde-na&gclid=Cj0KCQjwtMvlBRDmARIsAEoQ8zSVg8WspJWFMRbHR0bL17d89uaoYmQ3chQEZ79lwqM08Wlmv2Lo1WYaAqH2EALw_wcB

Laut dem Datenblatt könnte ich doch auch einfach 3.3V an DI CLK und Cs 
eingeben. Müssen doch nicht unebdingt 5V sein, oder?

Bin mir da gerade nicht so sicher.

Könnte mir jemand helfen?

von Msd (Gast)


Lesenswert?

Ja dort sind Level-Shifter verbaut, die darauf basieren, dass sie eine 
sehr hohe Clamping-Voltage haben. Du kannst also signaltechnisch mit 5 V 
reingehen.

Aber: Du wirst nur 3.3 V von den "Ausgangsdaten" haben also auf 
DATA_OUT. Wenn du wirklich einen 5 V Host hast, wirst du also Probleme 
bekommen.

Das ist Gefrickel!

von Gon F. (gohn)


Lesenswert?

Msd schrieb:
> Ja dort sind Level-Shifter verbaut, die darauf basieren, dass sie eine
> sehr hohe Clamping-Voltage haben. Du kannst also signaltechnisch mit 5 V
> reingehen.
>
> Aber: Du wirst nur 3.3 V von den "Ausgangsdaten" haben also auf
> DATA_OUT. Wenn du wirklich einen 5 V Host hast, wirst du also Probleme
> bekommen.
>
> Das ist Gefrickel!

Was meinst du genau?

mit den 5V sollte es doch locker gehen. Wenn ich 3.3V in Input vom 
Levelshifter gehe, habe ich doch trotzdem 3.3V oder reagiert er nicht?

von spess53 (Gast)


Lesenswert?

Hi

>Aber: Du wirst nur 3.3 V von den "Ausgangsdaten" haben also auf
>DATA_OUT. Wenn du wirklich einen 5 V Host hast, wirst du also Probleme
>bekommen.

Mit SD-Karte und etlichen 3,3V-DOG-Displays getestet. Funktioniert 
problemlos.

MfG Spess

von Msd (Gast)


Lesenswert?

spess53 schrieb:
> Mit SD-Karte und etlichen 3,3V-DOG-Displays getestet. Funktioniert
> problemlos.
>
> MfG Spess

"Geht, ging schon immer, wird auch in Zukunft gehen. Kann verkauft 
werden."

Für mich, meinen täglichen Job wäre das Gefrickel. Einem Industriekunden 
könnte ich soetwas unmöglich verkaufen ohne hier fahrlässig zu agieren.

Natürlich gibt es andere Anwendung, Hobby, oder wenn der Kunde das genau 
so will. Deswegen will ich das nicht pauschal als Unsinn verteufeln.

Rein technisch ist es nunmal nicht korrekt einen Host der mit 5V läuft 
nur 3,3V-Signale anzubieten. Es genügt, hier einfach mal die Input 
IO-Pegel zu prüfen. Da ihr beide dazu nichts sagt, kann ich für mich nur 
sagen "ein nogo".

von Einer K. (Gast)


Lesenswert?

Gon F. schrieb:
> Ich suche gerade ein Platine, welche SD-Karten mit 3.3v und 5V ansteuern
> kann.

Warum?
Für 3,3V brauchst du nichts.
Kein "besonderer" Adapter nötig.

Ein solches Ding ist voll ausreichend: 
https://www.mikrocontroller.net/attachment/405519/SdHalter.jpg

von Msd (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Warum?
> Für 3,3V brauchst du nichts.
> Kein "besonderer" Adapter nötig.
>
> Ein solches Ding ist voll ausreichend:
> https://www.mikrocontroller.net/attachment/405519/SdHalter.jpg

Sein Host kann aber anscheinend auch 5 V. Warum auch immer. "SD-Card" 
kann man das nicht mehr wirklich nennen.

von Edgar S. (Firma: keine) (heinbloed1)


Lesenswert?

Msd schrieb:
> Rein technisch ist es nunmal nicht korrekt einen Host der mit 5V läuft
> nur 3,3V-Signale anzubieten.

Klar gehts und es ist auch zulässig wenn der Eingang TTL-Kompatibel 
ist...

von Msd (Gast)


Lesenswert?

Edgar S. schrieb:
> Klar gehts und es ist auch zulässig wenn der Eingang TTL-Kompatibel
> ist...

Wenn, wenn, wenn.

Was bringt dir ein TTL-Eingang wenn der Ausgang mach was er will.

Zeig mir mal nen µC, µProzessor o.ä. der sich in den spezifizierten 
Pegeln strikt an TTL-Pegel hält.

VIL/VIH: max. 0,2*VCC / min. 0,8*VCC ließt man da eher.

von jemand (Gast)


Lesenswert?

Msd schrieb:
> Rein technisch ist es nunmal nicht korrekt einen Host der mit 5V läuft
> nur 3,3V-Signale anzubieten.

Das ist so pauschal falsch. Das stimmt nämlich nicht für alle Gatter.

Beispiel:
https://assets.nexperia.com/documents/data-sheet/74HC_HCT1G14.pdf
74HCT1G14 : Hervorragend geeignet, um bei 5V Versorgung 3V3-Signale 
sauber einzulesen, weil wir ab 2,1V sicher HIGH erkennen.
74HC1G14 : NICHT geeigent, weil die HIGH-Schwelle über 3,3V liegen kann.

Will heißen:
Nur weil etwas mit 5V versorgt ist, schließt das 3V3-Signale nicht aus. 
Das muss von Fall zu Fall betrachtet werden, und es ist nicht pauschal 
Pfusch oder unsauber.

von Gon F. (gohn)


Lesenswert?

Ich habe noch eine Frage:

Für was steht das CD bei diesem Schema?

https://www.distrelec.ch/Web/Downloads/_t/ds/254_eng_tds.pdf

von HildeK (Gast)


Lesenswert?

Gon F. schrieb:
> Für was steht das CD bei diesem Schema?

CD = Card Detect

von Gon F. (gohn)


Lesenswert?

HildeK schrieb:
> Gon F. schrieb:
>> Für was steht das CD bei diesem Schema?
>
> CD = Card Detect

Wofür kann man das gebrauchen?

Geht das zB an einen Input des Mikrocontrollers um zu schauen, was die 
SD-Karte macht?

von HildeK (Gast)


Lesenswert?

jemand schrieb:
> Msd schrieb:
>> Rein technisch ist es nunmal nicht korrekt einen Host der mit 5V läuft
>> nur 3,3V-Signale anzubieten.
>
> Das ist so pauschal falsch. Das stimmt nämlich nicht für alle Gatter.

Host <> HCT-Gatter!

Das RND-Board von Distrelec hätte leicht noch einen HCT1G-Buffer 
aufnehmen können und dann wäre es eine saubere und zuverlässige Lösung 
gewesen.
Wieder mal am falschen Ende gespart, es hätte dann halt 10 Räppli mehr 
gekostet ...

Gon F. schrieb:
> Wofür kann man das gebrauchen?
>
> Geht das zB an einen Input des Mikrocontrollers um zu schauen, was die
> SD-Karte macht?

Ja, nicht was sie macht, sondern ob eine da ist oder nicht. Das kann man 
aber auch beim Ansprechen feststellen, wenn sie sich nicht meldet z.B.

von Msd (Gast)


Lesenswert?

Gon F. schrieb:
> Geht das zB an einen Input des Mikrocontrollers um zu schauen, was die
> SD-Karte macht?

Das sagt dem Controller, dass jemand an der Karte den Panöpel für 
Write-Protect gesetzt hat. Die Software sollte dann sicherstellen, dass 
nicht geschrieben wird.

Hardwaretechnisch ist es in der karte ein "Schalter" nach GND. Benötigt 
also Pull-Up auf dem board oder im Controller. Ja ist also ein Input.

von Msd (Gast)


Lesenswert?

Msd schrieb:
> Gon F. schrieb:
>> Geht das zB an einen Input des Mikrocontrollers um zu schauen, was die
>> SD-Karte macht?
>
> Das sagt dem Controller, dass jemand an der Karte den Panöpel für
> Write-Protect gesetzt hat. Die Software sollte dann sicherstellen, dass
> nicht geschrieben wird.
>
> Hardwaretechnisch ist es in der karte ein "Schalter" nach GND. Benötigt
> also Pull-Up auf dem board oder im Controller. Ja ist also ein Input.

ups jetz hab ich in die Kagge gegriffen.

ich meinte das WP Pin, das hier aber nicht gefragt war :))

von Manfred (Gast)


Lesenswert?

Msd schrieb:
> "Geht, ging schon immer, wird auch in Zukunft gehen. Kann verkauft
> werden."
> Für mich, meinen täglichen Job wäre das Gefrickel.

Das Thema kommt mir bekannt vor, aus dem µC-net :-)

Ich habe mich gefreut, dass die mikro-SD-Module vom Chinesen einen 
Pegelwandler (74LVC125) haben und übersehen, dass der nur die Richtung 
vom µC zur Karte abdeckt.

Ich wurde darauf hingewiesen, dass der Weg zum µC grenzwertig ist, 
zumindest einen mangelhaften Störabstand haben wird. Dass es 
'erfahrungsgemäß funktioniert', genügt mir nicht, ich habe einen 
74HCT125N dazwischen geschraubt.

Bevor hier wieder Proteste kommen: Als Heimwerker in einem Einzelstück 
setze ich den 4-Kanal-Standardbaustein ein, den ich überall günstig 
bekomme. Für ein Serienprodukt würde man eher einen einkanaligen Käfer 
mit deutlich kleinerem Footprint verwenden.

Was ich noch immer vergeblich suche, sind Fernost-Platinchen für 'große' 
SD-Karten mit Pegelwandler.Scheint es nicht zu geben, also setze ich 
einen TXS0108 dazwischen.

von Msd (Gast)


Lesenswert?

Manfred schrieb:
> Was ich noch immer vergeblich suche, sind Fernost-Platinchen für 'große'
> SD-Karten mit Pegelwandler

Ich verstehe den Hintergrund halt auch nicht. Warum habt ihr dieses 
Pegel-Problem?

In welchem Szenario benötigt man eine Pegelwandlung für SD-Karten? Bzw. 
wieso hat der Host (wenn dieser eine SD-Schnittstelle spezifiziert) 
nicht 3,3 V bzw. 1,8V (in den schnellen Modi) wie es für SD-Karten nun 
mal spezifiziert ist?

von Falk B. (falk)


Lesenswert?

Msd schrieb:
> Manfred schrieb:
>> Was ich noch immer vergeblich suche, sind Fernost-Platinchen für 'große'
>> SD-Karten mit Pegelwandler
>
> Ich verstehe den Hintergrund halt auch nicht. Warum habt ihr dieses
> Pegel-Problem?

> In welchem Szenario benötigt man eine Pegelwandlung für SD-Karten?

Immer dann, wenn der Host mit 5V CMOS arbeitet und KEINE 
LVTTTL-kompatiblen Schaltschwellen hat!

> Bzw.
> wieso hat der Host (wenn dieser eine SD-Schnittstelle spezifiziert)

Hat er nicht, denn es ist ein 5V Arduino, welcher zu 99% aus einem AVR 
besteht, welcher bei 5V Betriebsspannung eben KEINE LVTTL Eingangspegel 
hat.

> nicht 3,3 V bzw. 1,8V (in den schnellen Modi) wie es für SD-Karten nun
> mal spezifiziert ist?

Schon mal über das eigentliche Thema der Diskussion nachgedacht?
Aber Hauptsache mal wieder schön geschwätzt.

von Msd (Gast)


Lesenswert?

Falk B. schrieb:
> Schon mal über das eigentliche Thema der Diskussion nachgedacht?
> Aber Hauptsache mal wieder schön geschwätzt.

Was ist dein Problem. Lasse gefälligst die Unterstellung.

Ich habe wirklich aus Interesse gefragt!

Weil ich es nicht verstehe und auch noch nie gesehen habe. Ein 
Controller mit SD-Interface bedeutet für mich compliance zum Standard.

Vielleicht liegt das auch einfach daran, dass hier garkein SD-Interface 
sondern SPI-Gedöns verwendet wird. Siehe auch DATA_IN und DATA_OUT. Das 
gibt es ja schon im "langsamen" High-Speed-Mode bei SD-Cards nicht mehr.

von Falk B. (falk)


Lesenswert?

Msd schrieb:

> Ich habe wirklich aus Interesse gefragt!

Dann lies mal die Diskussion und versuche sie zu verstehen!

> Weil ich es nicht verstehe und auch noch nie gesehen habe.

Das ist dein Problem.

> Ein
> Controller mit SD-Interface bedeutet für mich compliance zum Standard.

Darum ging es hier keine Sekunde! Sondern um DIESEN Adapter!

Beitrag "SD-Karte Platine mit 3.3V und 5V kompatibel?"

> Vielleicht liegt das auch einfach daran, dass hier garkein SD-Interface
> sondern SPI-Gedöns verwendet wird.

Ach was?

> Siehe auch DATA_IN und DATA_OUT. Das
> gibt es ja schon im "langsamen" High-Speed-Mode bei SD-Cards nicht mehr.

Auch darum ging es keine Sekunde.

Womit wir wieder bei meiner, wenn gleich für dich weniger vorteilhaften 
Aussage wären.

von Msd (Gast)


Lesenswert?

Falk B. schrieb:
> Das ist dein Problem.

Nö. Das ist irgendwann euer Problem, wenn ihr Krüppelhardware verwendet.

Falk B. schrieb:
> Darum ging es hier keine Sekunde! Sondern um DIESEN Adapter!

Es ging um die Frage wie man SD-Cards mit 3,3V und 5V verwendet.

Mein Hinweis, dass der Input vom Controller nur 3,3 V sieht, war (wie 
man nun sieht) sehr angebracht. Da spielt es auch keine Rolle ob es eine 
Lösung dafür gibt mit entsprechenden Buffern. Naklar gibts die, aber 
davon war im Eingangspost nicht die Rede. Von daher sehe ich meine 
Teilnahme hier als berechtigt.

Falk B. schrieb:
> Womit wir wieder bei meiner, wenn gleich für dich weniger vorteilhaften
> Aussage wären.

Genau. Schwätzer.

Siehst du. Kann ich auch.

Und nun ist gut.

von Carsten R. (kaffeetante)


Lesenswert?

Hinweis auf "3,3 Volt an 5 Volt Eingängen" ist eine Sache.
"Grundsätzlich problematisch" / "Krüppelhardware" ist eine völlig andere 
Sache!

Wie sieht denn der Kontext/ die umgebende Hardware aus?

Wir sind hier im Mikrocontrollerforum. Ein Blick ins Datenblatt hilft. 
Häufig geht es hier um AVR-Controller (ATMega/ATTiny). Also nehme ich 
mal als Beipiel den ATMega16.

Das Kapitel electrical Characteristics verrät:

Die Schwellwerte für 0/Low und 1/High hängen von der Versorgungsspannung 
ab und auch ein Bisschen von der Temperatur. Wir reden hier von 5 Volt. 
Da liegt die Obergrenze für Low zwischen ca. 1,3 und 1,4 Volt. Die 
Untergrenze für High liegt bei ca. 1,8 bis 1,9 Volt.

Das ist nur ein Beispiel. Bei anderer Hardware gilt natürlich das 
jeweilige Datenblatt.

Hilfreiche links:
https://de.wikipedia.org/wiki/Logikpegel
http://www.netzmafia.de/skripten/digitaltechnik/familien.html
https://elektroniktutor.de/digitaltechnik/ttl_cmos.html

Nachtrag:
Allerdigs ist die Tabelle mit den Schwellwerten bei Wikipedia mit 
Vorsicht zu genießen. Die Tabele ist etwas sehr pauschal.

Kurz:
Hinweis auf 3,3 Volt gut.
Pauschal böse, nein.

: Bearbeitet durch User
von S. R. (svenska)


Lesenswert?

Msd schrieb:
> Rein technisch ist es nunmal nicht korrekt einen Host
> der mit 5V läuft nur 3,3V-Signale anzubieten.

Ein Z80 (die NMOS-Version) läuft mit 5V und liefert bei HIGH auch nicht 
mehr. Trotzdem würdest du ihn nicht als 3.3V-Chip betrachten, oder?

Du sagst, dass mit so einem Levelshifter der Host nur 3.3V sieht und 
dass so ein Design immer große Scheiße sei. Das ist Stuss.

Relevant sind die notwendigen Eingangspegel des Hosts.
Die sind unbekannt, da der TO keinen Chip angegeben hat.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

> Das ist Stuss.

Ein hier weit verbreiteter µC ist Atmel-AT_xx8.

Nach Datenblatt kann er 0,6..0,7 x Vcc garantieren, wer da bei Vcc 5V 
mit einem 3,3V-IC dran geht, begeht vorsätzlich Pfusch.

von Carsten R. (kaffeetante)


Lesenswert?

Er "garantiert" nicht. Das wäre Ausgang.
Bei Input / Eigang geht es darum, was er braucht.

Was du da zitierst, ist die verkürzte Darstellung um es in wenigen 
Zahlen auszudrücken. Und selbst da reichen dann mit dieser vereinfachten 
Tabelle bei 5 Volt Versorgung 3 Volt am Pin, abgesehen von den Ausnahmen 
wenn man Reset bzw. XTAL als Eigang nutzt.

Da würde es also mit 3,3 Volt passen. Die muß man dann aber auch fast 
ausreizen. Dazu muß man dann dem Pin also auch die nötige Zeit geben.

Genauere Angaben findet man im Datenblatt auf Seite 264:
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-9365-Automotive-Microcontrollers-ATmega88-ATmega168_Datasheet.pdf
Der Grenzwert liegt bei 5 Volt Versorgung bei ca. 2,7 Volt.

Es ist also nicht so eng, wie die vereinfachte Tabelle angibt. Das liegt 
daran, daß die Tabelle nicht für 5 Volt gemacht ist, sondern für den 
ganzen Bereich von... bis. Der Faktor 0,6 wird für 2,4 Volt Versorgung 
benötigt, was dann aber auch nur ca. 1,5 Volt wären. Damit die Tabelle 
allgemeingültig ist, wird dieser Worst-Case-Faktor angegeben. Bei 5 Volt 
ist der notwendige Faktor geringer.

Sicher, es mag ICs geben, bei denen das probematisch ist. Das ist aber 
nicht generell so! Also immer erst ins Datenblatt schauen. dazu müßte 
man erst wissen welche Bauteile verwendet werden.

Vorsicht: Ja
Aber nicht generell Murks / Pfusch

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.