Forum: Mikrocontroller und Digitale Elektronik STM32 FSMC RGB Interface


von Ehren (Gast)


Lesenswert?

Hallo zusammen,

Hat jemand Erfahrung mit TFT-Ansteuerung über eine RGB-Schnittstelle 
(VSYNC,HSYNC)?
Funktioniert dies mit der FSMC-Einheit eines STM32Fxxx ?

Danke im voraus!
Gruß
Ehren

von Rainer M. (excogitator)


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

von m.n. (Gast)


Lesenswert?

Rainer M. schrieb:
> die Ansteuerung eines controllerlosen Displays über den FSMC dürfte
> schwierig werden.

Ist es nicht. Beitrag "TFT-direct-drive, WQVGA-TFT an STM32F4"
Da ich ein genügsamer Mensch bin, reichen mir die scheinbar wenigen 
Farben völlig :-) Aktuell betreibe ich so ein QVGA-TFT als Bedieneinheit 
mit einem STM32F407VET6: kleines Gehäuse - kleiner Preis.

von Rainer M. (excogitator)


Lesenswert?

m.n. schrieb:
> Ist es nicht. Beitrag "TFT-direct-drive, WQVGA-TFT an STM32F4"

Sehr schönes Projekt. Kannte ich bisher noch nicht.

von Ehren (Gast)


Lesenswert?

Danke euch beiden :-)

von Ehren (Gast)


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

von holger (Gast)


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.

von m.n. (Gast)


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!

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.