STM32 FSMC RGB Interface

#3551650
Lesenswert?
• ▲
▼
Hallo Ehren,

die Ansteuerung eines controllerlosen Displays über den FSMC dürfte 
schwierig werden. Schau dir mal die Controller STM32F4x9 an. Die haben 
ein TFT Interface welches sich neben den RGB-Signalen auch um VSync und 
HSync kümmert.
Displays mit eigenem Controller kann man, je nach Interface, schon mit 
den FSMC verwenden. Hierbei braucht man sich dann auch nicht um die 
andern Displaysignale wie HSync und VSync kümmern. Wir betreiben hier 
ein Display mit 16Bit-Schnitstelle (RGB 565) am FSMC von einem 
STMF32F207 und das klappt soweit ganz gut.

Gruß
Rainer
Gast #3552081
Lesenswert?
• ▲
▼
Eine Frage noch.
Beim Fsmc ist von Bank 1-4 die Rede. Diese sind jeweils 4*64 kbyte groß. 
Für was wird der große Speicher benötigt. Für den Transfer via dma zur 
fsmc Schnittstelle benötigt man trotzdem einen buffer im RAM. Gibt es 
keine andere Möglichkeit, als hier RAM zu verbraten? z.B. in einer fsmc 
Bank.?

Gruß Ehrengast
Gast #3552086
Lesenswert?
• ▲
▼
>Beim Fsmc ist von Bank 1-4 die Rede. Diese sind jeweils 4*64 kbyte groß.
>Für was wird der große Speicher benötigt.

Das verstehst du falsch. Da ist kein Speicher dahinter wenn
du extern keinen anschliesst.
Gast #3552793
Lesenswert?
• ▲
▼
Ehren schrieb:
> Beim Fsmc ist von Bank 1-4 die Rede. Diese sind jeweils 4*64 kbyte groß.

Wie auch immer man sie adressieren mag, es sind 4 x 256MB.

> Für den Transfer via dma zur
> fsmc Schnittstelle benötigt man trotzdem einen buffer im RAM.

Eigentlich nicht, es wird ein Transfer vom Quell-RAM zum TFT 
durchgeführt. Verwendet man ext. RAM, wird der FSMC entsprechend mehr 
belastet. Der DMAC vom STM32... ist da nicht besonders gut geeignet, 
dürfte aber schnell genug sein.

> Gibt es keine andere Möglichkeit, als hier RAM zu verbraten?

Es wird nicht verbraten, sondern genutzt. Irgendwo muß das Bild ja 
gespeichert sein. Für mich wäre 'verbraten', wenn man von den 192kB des 
F407 z.B. nur 5kB nutzt und den Rest schlummern läßt.
Das interne RAM ist an Geschwindigkeit nicht zu übertreffen.

Wie immer kommt es auf die Anwendung an. Wofür wird denn normalerweise 
viel RAM gebraucht? Bei mir sind es vielfach Meßdaten (Kurvendaten), für 
die das interne RAM zu klein wäre, und die nach Möglichkeit auch 
batteriegepuffert sind. Das interne RAM wäre dafür wenig gut geeignet.

Um es perfekt zu machen, kann man ja den aktuellen ..F429 verwenden, der 
zum einen SDRAM ansteuern kann und einen TFT-Controller auf dem Chip 
hat. Macheiner wird dann die vielen Pins 'bejammern', die dafür vom 
IO-Bereich verloren gehen und beklagen, dass die externe Busbelastung 
deutlich ist.
Aber dafür gibt es dann viele, viele, bunte Bilder.
Wer's braucht - bitte schön!

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.