Forum: Mikrocontroller und Digitale Elektronik STM32F407 mit ILI9341 SPI Display und TM-Libs zu langsam


von Christian J. (Gast)


Lesenswert?

Hallo,

ich habe an einen F407 eines der 320x240 Display angeflanscht über SPI. 
Die Libs habe ich von Tilen Majerle übernommen, der die SPI auch mit 
einem DMA Zugriff ausgestattet hat. Ich benutze SPI2 an PB 13,14,15.

Die Sache läuft ...  aber sie läuft viel zu langsam! Die SPI gibt ohne 
nachzumessen, nur das was ich sehe Daten nur mit wenigen hundert 
Kilohertz aus. Die Quadrate laufen langsam voll, das Füllen des 
Bildschirms dauert 3s.

Bei Youtube findet sich ein Video wie es sein soll, benutzt genau die 
gleichen Libs des jungenTschechen. Ratzfatz geht das.

https://www.youtube.com/watch?v=Q8JTn1H9eHk

bei mir kann man zuschauen wie sich alles aufbaut :-( Oszi habe ich 
keines zum nachmessen.

Ich habe die Software auf dem 407er und dem F429 mit eingebautem Display 
getestet. Beides Male gleich langsam. Das auf dem F429 lässt sich nicht 
nur per LTDC sondern auch per SPI über Port 5 ansteuern.

Den HSCK Takt habe ich zu 168 Mhz ausgelesen mit der entsprechenden 
Funktion.

Was könnte es sein?

Gruss,
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian J. schrieb:
> Die SPI gibt ohne nachzumessen, nur das was ich sehe Daten nur mit
> wenigen hundert Kilohertz aus.

Miss nach. Und sieh Dir dann an, wie die SPI initialisiert/betrieben 
wird.

von Christian J. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Miss nach.

Gucken, habe nur einen China Logic Analyser. Sehe ich aber auch so, die 
Daten gehen ja plain rein, 16 Bit pro Pixel, Zeile für zeile, das sieht 
man.
Möglich sind 10 Mhz, das würde man nicht mehr sehen.

Da der F407 nicht genug Speicher für ein ganzes Bild hat wird Blockweise 
übertragen, damit die CPU während der Übertragung weitere Pixel 
berechnen kann.

Und die Init der SPI ist "aufwendig" bzw. das ganze DMA Konstrukt auch. 
Mit mal eben ist da nicht. Kann aber nicht sein, dass es bei mir so und 
bei einem anderen auf der gleichen Hardware anders läuft.

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.