Darf ich eine SD-Karte direkt ans Nucleo-144 ohne Level-Translater hängen? Wie auf dem Bild zu sehen: - nehme ich die 5V vom Board und schicke sie über einen 3.3V-LDO - LDO-En schaltbar vom Board - D[3:0] jeweils mit 10k an 3.3V gehängt Sind die I/Os des STM32H7A3 auf 1.8 oder 3.3V? Und was wähle ich dann im CubeMX aus? Ich denke: "SD 4 bits Wite buss" (also ohne voltage converter) Viele Grüße! Marko
So simpel ist das nicht zu erklären. Im RM mehrere Kapitel. Geh im CubeMX auf Connectivity, dann mit der Maus über SDMMC1. Mit Ctrl+D in das RefMan - dann wird dir geholfen.
Das habe ich. Ich hatte gehofft nicht der erste zu sein der auf diese Frage eine Antwort sucht. Marko
Habe leider keine Erfahrung mit H7. Ich würde einfach das 3V3 Beispiel "von der Stange" nehmen. https://www.st.com/en/evaluation-tools/stm32h7b3i-dk.html Dort ist die Schaltung für die µSD Karte zu finden. (siehe Anhang) Die Software dazu gibt es hier: ~/STM32Cube/Repository/STM32Cube_FW_H7_V1.8.0/Projects/STM32H7B3I-DK
das geht eleganter. Die 3,3V kannst du direkt vom Board ziehen. Gruß, dasrotemopped
vergessen, den Pegelwandler braucht man wegen der SD-Karte, nicht wegen dem uC. Die schnellsten SD Karten laufen mit 1,8 V statt 3,3V. WEnn die Karte <32GB ist man auf der sicheren Seite.
Aus dem Datenblatt: Two SDMMC interfaces (one can be supplied from a supply voltage separate from that of all other I/Os) Ich hatte das so verstanden, dass der Pegelwandler eingebaut ist!?
Alle SD-Karten müssen mit 3.3V funktionieren. Die schnelleren Übertragungsmodi (UHS-I) erfordern aber 1.8V. Hast Du das nicht, bist Du auf 25MByte/s Interface-Transferrate beschränkt. So wie ich das sehe, reicht das für Dich nicht. Ich vermute mal, ST sieht für UHS-I das hier vor: https://www.st.com/en/interfaces-and-transceivers/st6g3244me.html Das ist nämlich genau so ein applikationsspezifischer Levelshifter für SD und SDIO. fchk
dasrotemopped schrieb: > das geht eleganter. > Die 3,3V kannst du direkt vom Board ziehen. > > Gruß, > dasrotemopped Ich habe den LDO eingebaut um über den EN-Pin die 3.3V abschaltbar zu machen und damit der SD-Karte von µC einen Reset verpassen zu können. Braucht man das nicht? Und du hast ja direkt mein Board und bis auf den LDO alles gleicht angeschlossen :-) Könntest ich den Source-Code des SD-Teils deines Projekte haben? Wie schnell bist du mit dem direkten Anschluss? PS: Schickes Bild! Erst der 2te Blick fiel auf die SD ;-)
:
Bearbeitet durch User
Frank K. schrieb: > Alle SD-Karten müssen mit 3.3V funktionieren. > Die schnelleren Übertragungsmodi (UHS-I) erfordern aber 1.8V. Hast Du > das nicht, bist Du auf 25MByte/s Interface-Transferrate beschränkt. So > wie ich das sehe, reicht das für Dich nicht. > > Ich vermute mal, ST sieht für UHS-I das hier vor: > > https://www.st.com/en/interfaces-and-transceivers/st6g3244me.html > > Das ist nämlich genau so ein applikationsspezifischer Levelshifter für > SD und SDIO. > > fchk Ich wundere mich warm keiner für das Nucleo-144 eine SD-Demo-Platine herstellt die man einfach drauf steckt und gut ist.
Marko R. schrieb: > Ich habe den LDO eingebaut um über den EN-Pin die 3.3V abschaltbar zu > machen und damit der SD-Karte von µC einen Reset verpassen zu können. > Braucht man das nicht? Doch doch, das ist eine gute Idee. So kannst du auch die Stromaufnahme beim Einstecken begrenzen.
Marko R. schrieb: > Ich wundere mich warm keiner für das Nucleo-144 eine SD-Demo-Platine > herstellt die man einfach drauf steckt und gut ist. Weil SD Karten alles andere als unproblematisch sind. Kein hersteller will sich den Stress mit Support antun. Aus Asien bekommst du diverse SD-Karten Adapter aber ohne Support und ohne Garantie, dass sie funktionieren.
Stefan ⛄ F. schrieb: > > Doch doch, das ist eine gute Idee. So kannst du auch die Stromaufnahme > beim Einstecken begrenzen. Du hast keinen LDO drauf? Wie machst du dann einen Reset? Kommt man auch ohne diese Möglichkeit aus? Den EN würde ich sonst einfach auf die 5V hängen. Ist dein Boad dieses hier? https://eckstein-shop.de/Waveshare-SD-Storage-Board-SD-card-Micro-SD-card-module?curr=EUR&gclid=Cj0KCQjw6575BRCQARIsAMp-ksPDIzlmxrXJ7A0Ynu-XknlnVX_sd2h7RJpIdh5N5DrF8f0n5a-CbB0aAsrAEALw_wcB
https://www.st.com/en/evaluation-tools/stm32h743i-eval.html Mit SD Slot gibt es von ST, aber nicht zum Nucleo Preis.
dasrotemopped schrieb: > https://www.st.com/en/evaluation-tools/stm32h743i-eval.html > > Mit SD Slot gibt es von ST, aber nicht zum Nucleo Preis. Ne, das Teil ist übertrieben. Ich mach mal 'ne Weile und hoffe heute Abend den SD am laufen zu haben. Eine Sache noch: Ich würde gern printf sowohl für COM als auch SD nutzen. Mir würde da jetzt nur einfallen eine globale Variable zu definieren und in der "_write" dann entsprechend umzuschalten. Gibt es da eine elegantere Lösung?
>Und du hast ja direkt mein Board fast, meins ist ein STM32F7 Nucleo-144 >Könntest ich den Source-Code des SD-Teils deines Projekte haben? ist schon ein älteres Projekt, muss ich mal schauen ob ich das noch finde Aber mit CubeMX erstellt, SDMMC und FATFS mit installiert und fertig. Und natürlich noch einen BMP Loader geschrieben. Nur Proof of concept, nix belastbares. >Wie schnell bist du mit dem direkten Anschluss? Nie einen Benchmark gemacht, das Bild von SD auf TFT laden hat funktioniert, das hat mir gereicht. >PS: Schickes Bild! Erst der 2te Blick fiel auf die SD ;-) Pressefoto von der analogen Halluzinelle. https://de.wikipedia.org/wiki/Ijon_Tichy:_Raumpilot Kann sein das sie noch andere Filme gemacht hat.
>> Mit SD Slot gibt es von ST, aber nicht zum Nucleo Preis. >Ne, das Teil ist übertrieben. man kann aber den Schaltplan abkupfern ...
SDMMC und FATFS habe ich im MX bereits drin. Jetzt muss ich nur noch schauen mit welchen Befehlen ich ein File erzeugen und da reinschreiben kann. Marko
Marko R. schrieb: > Du hast keinen LDO drauf? > Wie machst du dann einen Reset? Gar nicht > Kommt man auch ohne diese Möglichkeit aus? Habe ich bisher noch nicht gebraucht. Ich habe SD Karten aber auch nur für unwichtige Spielereien benutzt, die man ggf. manuell auf und wieder ein schalten kann. Allerdings kann ich mich daran erinnern, dass sich meine Karten jemals spontan aufgehängt hätten - nachdem anfängliche Fehler in Hard- und Software behoben waren. > Ist dein Boad dieses hier? Habe kein Board verwendet, sondern was eigenes auf Lochraster und das CrumbX1-NET Modul von Chip45.
Marko R. schrieb: > Gibt es da eine elegantere Lösung? Nimm fprintf, da kannst du angeben, über welches File-Handle du etwas "printen" willst. Oder (vielleicht einfacher) sprintf() da macht du die Ausgabe in einen Puffer (Array von Zeichen).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.