STM32H735 - Hyperram vs. SDRAM

OP #7666105
Lesenswert?
• ▲
▼

Guten Tag,

im Moment beschäftige ich mich mit dem Entwurf einer Hardware auf Basis eines STM32H735. Da schon abzusehen ist, dass der interne Flash nicht ausreichen wird, wollte ich einen externes RAM anbinden, aus dem auch Code ausgeführt werden soll. Nun stehe ich vor der Entscheidung, ob ich den RAM als

  • SDRAM mit 16 Bit Anbindung (166MHz) oder
  • per Octo SPI (Hyperbus/Hyperram) (200Mhz DDR) anbinde hat jemand schon Erfahrung zu dem Thema?

Die Fragen die mich beschäftigen: Wie gut kann der Code im externen RAM per SWD „gedebuged“ werden? Wie sieht die Langzeit-Verfügbarkeit von SDRAM aus? Die Application-Prozessoren von ST besitzen mittlerweile ein DDR3/4-Interface. Welcher Speicher hat bei der Codeausführung geschwindigkeitsmäßig die Nase vorne?

Schöne Grüße, Kalli

#7666121
Lesenswert?
• ▲
▼

Kalli L. schrieb:

im Moment beschäftige ich mich mit dem Entwurf einer Hardware auf Basis eines STM32H735. Da schon abzusehen ist, dass der interne Flash nicht ausreichen wird, wollte ich einen externes RAM anbinden, aus dem auch Code ausgeführt werden soll. Nun stehe ich vor der Entscheidung, ob ich den RAM als

  • SDRAM mit 16 Bit Anbindung (166MHz) oder
  • per Octo SPI (Hyperbus/Hyperram) (200Mhz DDR) anbinde hat jemand schon Erfahrung zu dem Thema?

Die Fragen die mich beschäftigen: Wie gut kann der Code im externen RAM per SWD „gedebuged“ werden?

Wahrscheinlich genau so gut wie im internen Flash, ist ja aus CPU-Sicht alles eins.

Wie sieht die Langzeit-Verfügbarkeit von SDRAM aus?

Naja, endlich. Auch mobiler SDRAM ist schon lange auf dem absteigenden Ast. Kann aber auch sein, daß der sich in den Nischen noch 10 Jahre und länger hält.

Welcher Speicher hat bei der Codeausführung geschwindigkeitsmäßig die Nase vorne?

Vermutlich der SDRAM, denn der der hat rein rechnerisch mehr Bandbreite 16 Bit x 166 MHz = 2.65Gbit/s, der Hyperbus nur 8x200= 1.6Gbit/s. Da liegen natürlich noch Pufer (Cache) dazwischen, je nach Testfall kann man mehr oder weniger Unterschiede sehen. Kleine Codestücken, welche in den Cache passen, machen wahrscheinlich keinen Unterschied.

#7666150
Lesenswert?
• ▲
▼

Kalli L. schrieb:

Welcher Speicher hat bei der Codeausführung geschwindigkeitsmäßig die Nase vorne?

Das kommt darauf an wie gut die Caches funktionieren, wie linear der Code abläuft und wie die Daten liegen. Hyperram ist dafür gedachte größere Datenblöcke am Stück zu lesen oder zu schreiben. Was er gar nicht gut kann sind wahlfreie Zugriffe. Je nach den Zugriffsmustern helfen da Caches ein bischen drüber hinweg. Das "Problem" beim Hyperram ist, das es keine separaten Adressleitungen gibt. Wenn ein Zugriff sequentiell erfolgt ist das ohne größere Auswirkungen, weil der Hyperram intern die Adresen inkrementiert. Ansonsten muss vor jedem Zugriff halt immer erst die Adresse übertragen werden und Wartezyklen eingeschoben werden. Das drückt dann den Durchsatz massiv.

Aus dem STM Forum:

https://community.st.com/t5/stm32-mcus-products/stm32h735-hyperbus-speed-byte-vs-word-32bit-vs-qspi/td-p/107150

Dort gibt es alle möglichen Ergebnisse :-) Du solltest das ganze also mit Deinem Code/Anwendungsfall testen. Alles andere ist Spekulation.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.