Forum: Mikrocontroller und Digitale Elektronik STM32 DMA TO GPIO HILFE


von Philipp K. (philia)


Lesenswert?

Hallo!
 Ich bräuchte eure Hilfe, da ich neu in desem Forum bin, hoffe ich das 
im richtigen Forums Abschnitt bin.

Nun zu meiner Frage. Ich würde gerne bei einen Stm32 L073 einen Gpio 
port per DMA setzen. Schlussendlich würde ich gerne meinen Tft Code 
damit ergänzen, um eine besser Bildrate zu bekommen. Leider scheitere 
ich selbst daran einen einzelnen Pin im odr register zu setzen .

Hätte jemand ein banales Beispiel dafür, um ein Verständnis dafür zu 
bekommen.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Geht das bei den STM32 mit Cortex M0 Kernen überhaupt?
Denn beim M0 hängen die GPIO an einem speziellen Port des Kerns.
Der Rest des Speichers ist über einen anderen Port angesclossen und 
somit auch der DMA Controller.

-> 
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0662a/BABGAIDE.html

Seidenn jemand anders hier im Forum meint, dass der DMA durch den Kern 
"durchgreifen" kann.

von Philipp K. (philia)


Lesenswert?

Vereinzelte hätte ich zu mindestens berichte dafür gefunden. Leider 
ohne Beispiel. Nur das man auf den Dma channel auf passen muss. Ihr zu 
habe ich leider noch nichts herausgefunden, ob die Gpios überhaupt an 
denn Dma angebunden sind. Sonst sollte es ja mit memtomem &gpiox>odr 
gehen?

von grundschüler (Gast)


Lesenswert?

datasheet:
7-channel DMA controller, supporting ADC, SPI,
I2C, USART, DAC, Timers

dma + gpio sieht danach eher schlecht aus. Warum benutzt du so einen 
Exoten?

von Philipp K. (philia)


Lesenswert?

Habe ich geschenkt bekommen! Dadurch das ganze rein 
Hobby/Interessenwegens ist, wollte ich mich zuerst mit dem vorhandenen 
Board beschäftigen.Doch stört mich bei meinem Bastelprojekt zurzeit der 
doch etwas langsame Bildaufbau.

Was würdest du empfehlen?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

grundschüler schrieb:
> Warum benutzt du so einen
> Exoten?

Ein STM32Lxyz ist doch kein Exot und ein Cortex-M0 Kern auch nicht.
Per DMA auf GPIOs rumtrommeln ist eher exotisch, aber hab ich für ein 
LED Panel Display Projekt auch schonmal gemacht.

Philipp K. schrieb:
> Vereinzelte hätte ich zu mindestens berichte dafür gefunden. Leider
> ohne Beispiel.

Haste maln Link zum Bericht?

Philipp K. schrieb:
> Sonst sollte es ja mit memtomem &gpiox>odr
> gehen?

Guck dir nochmal an was ich geschriebe habe und dann das "STM32L073xx 
block diagram" im Datenblatt.
Dann vergleich das noch mal mit zB einem Blockdiagramm eines STM32F405.
Da wird dir ein großer Unterschied auffallen, daher meine Bedenken.

von Philipp K. (philia)


Lesenswert?

Danke jetzt hab ich denn unterschied gesehen. Ich habe leider nicht 
aufgepasst das es sich nicht um die gleich microcontroller Typ handelt.

Welchen Chip könntest empfehlen für so ein led pannel Projekt. Bzw was 
wäre eine Alternative zu dma.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Was denn nu?
TFT oder LED Panel (HUB75)?

Bei einem TFT dann einen STM32 nehmen mit "LTDC" zB F429

von grundschüler (Gast)


Lesenswert?

Philipp K. schrieb:
> Was würdest du empfehlen?

Ganz klar: stm32f103 standard blue pill board ab 2,00€ sofern nicht 
aufgrund der konkreten Anwendung mehr verlangt wird.

entsprechend bei avr: m328 blue pill board.

Wie früher bei der Spielzeugeisenbahn. Nur Märklin - sonst kannst du auf 
dem Schulhof nicht mitreden.

von Philipp K. (philia)


Lesenswert?

Vielleicht ist es von mir einfach ein Denkefehler. Momentan betreibe ich 
ein 8bit Lcd/tft und wenn der gipo Zugriff gelingen würde, wäre doch 
grundsätzlich mit der gleichen Methode ein LED panel ansteuerbar?




gibt es das Bluepill Board mit mehr IOS.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Die Bluepill Boards sind wohl nicht mehr zu empfehlen die Quelle der 
billigen STM32F103 ist wohl versiegt und die Chinesen löten imemr mehr 
fälschungen rauf: Beitrag "STM32F103C8T6 - Fälschung von ST bestätigt"

Philipp K. schrieb:
> Vielleicht ist es von mir einfach ein Denkefehler. Momentan betreibe ich
> ein 8bit Lcd/tft und wenn der gipo Zugriff gelingen würde, wäre doch
> grundsätzlich mit der gleichen Methode ein LED panel ansteuerbar?

Denkfehler!
8Bit LCD = Text Display?

Hör doch mal mit der Salamitaktik auf und pack alles aufn Tisch.
Grafikdisplays in Farbe und Bunt haben meist ein paraleles RGB888 
Interface und LED Panels haben meist "HUB75".
Das ist alles komplett unterschiedlich.

von Johannes S. (Gast)


Lesenswert?

Da würde ich auch nicht kleckern, ein STM32F407VET6 gibts vom Chinesen 
für <10€, dazu ein TFT passend zum aufstecken. Ansteuerung sehr schnell 
über FSMC mit 16 Bit parallel.
Und die FFT wird dank FPU und 168 MHz Takt sich sehr fix laufen.
Hoffe das waren jetzt nicht zu viele TlAs.

Ok kein fft, habe das tft falsch gelesen.

von grundschüler (Gast)


Lesenswert?

Philipp K. schrieb:
> Vielleicht ist es von mir einfach ein Denkefehler. ...
Ganz sicher. Du kannst mit deinem board ohne weiteres ein 8bit tft oder 
ein LCD oder sonstwas betreiben. Mach mal ein Foto von deinem Aufbau. 
8bit sind eine Menge Anschlüsse, die richtig verbunden werden müssen. 
Ich verwende deswegen serielle tfts: 
Beitrag "Re: Stm32f103 Problem mit Spi2"
Bildaufbau 0,11sec schneller muss bei mir nicht.


> gibt es das Bluepill Board mit mehr IOS.


https://www.ebay.de/itm/Core407V-STM32F407VET6-STM32-Cortex-M4-Development-Board-Motherboard-Module-Kit/322268845458?hash=item4b08b85592:g:duYAAOSw5WNa2GeB

ne nummer größer im 100pin Gehäuse für 10€

von Philipp K. (philia)


Lesenswert?

1 keine Salamitaktik auch wenn ich ned weiß was du
  damit sagen willst. Vielleicht drücke ich mich auch
  missverständlich aus.

2 zur zeit habe ich ein 8bit Lcd/tft mit einen ili9486
   Für einen Gewächshaus als Anzeige und wollte des
   Ganze einfach flüssiger darstellen. Und hätte mir
  gedacht DMA wäre eine Lösung dafür. Geht halt
  nicht mit den board was ich zu zeit zu Verfügung
  habe.

3 und unter LED pannel hätte ich mir etwas anders
   vorgestellt also eher so wie eine LED Matrix.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Philipp K. schrieb:
> 1 keine Salamitaktik auch wenn ich ned weiß was du
>   damit sagen willst. Vielleicht drücke ich mich auch
>   missverständlich aus.

Kam eben so rüber, zB das ili9486 hätteste gleich erwähnen können.
"8Bit TFT" kann alles mögliche sein.

Philipp K. schrieb:
> 2 zur zeit habe ich ein 8bit Lcd/tft mit einen ili9486
>    Für einen Gewächshaus als Anzeige und wollte des
>    Ganze einfach flüssiger darstellen. Und hätte mir
>   gedacht DMA wäre eine Lösung dafür. Geht halt
>   nicht mit den board was ich zu zeit zu Verfügung
>   habe.

Son dickes TFT an einem STM32L0?
Das hat son bisschen was wie ein Porsche mit Trabbimotor ;)
Ansonsten kann der ili9486 auch per SPI bespielt werden.
Mit einem hohen Takt geht das dann per DMA.

Womit zeichneste eigentlich die Bilder?
Das braucht auch nett was an Rechenleistung und da is bei 32MHz eher 
langsam bei maximal möglichen 320x480 Pixeln.

Philipp K. schrieb:
> 3 und unter LED pannel hätte ich mir etwas anders
>    vorgestellt also eher so wie eine LED Matrix.

Kaufbare LED Panel/matrixen werden per HUB75 angesteuert

von Johannes S. (Gast)


Lesenswert?

Vielleicht sind mit LED Matrix so MAX7219 Module gebaut? Die sind als 
grossanzeige auch gut geeignet und kosten keine Rechenzeit.
Habe ich auch noch als Anzeige für mehrere Temperaturen/ 
Luftfeuchtigkeit/Zeit und Datum/ Events laufen:
Beitrag "LED-Matrix mit ESP8266 und MAX7219 Modulen"

von Philipp K. (philia)


Lesenswert?

Womit zeichneste eigentlich die Bilder?
Das braucht auch nett was an Rechenleistung und da is bei 32MHz eher 
langsam bei maximal möglichen 320x480 Pixeln.


Momentan generie ich nur einfache "Knöpfe und Text  "  aus diversen 
Formen, habe mir dazu die library vom LCDWiki für den Stm umgeschrieben, 
weil ich keine fertige library gefunden habe
. Bei dieser Geschwindigkeit brauch ich denke ich mir nicht an Bilder zu 
denken (ca. 5Herz Bildrate ).
Und das LCD ist ein fertig Teil wo nur der 8bit Modus raus geführt 
ist.Wie sich im Nachhinein herausstellt nicht der beste kauf.

von Philipp K. (philia)


Angehängte Dateien:

Lesenswert?

grundschüler schrieb:
> Philipp K. schrieb:
> Vielleicht ist es von mir einfach ein Denkefehler. ...
>
> Ganz sicher. Du kannst mit deinem board ohne weiteres ein 8bit tft oder
> ein LCD oder sonstwas betreiben. Mach mal ein Foto von deinem Aufbau.
> 8bit sind eine Menge Anschlüsse, die richtig verbunden werden müssen.
> Ich verwende deswegen serielle tfts: Beitrag "Re: Stm32f103 Problem mit
> Spi2"
> Bildaufbau 0,11sec schneller muss bei mir nicht.
>
> gibt es das Bluepill Board mit mehr IOS.
>
> Ebay-Artikel Nr. 322268845458
>
> ne nummer größer im 100pin Gehäuse für 10€

Das wäre der auf Bau fürs Display . Ich komme für einen kopplten Display 
Löschung auf ca 175ms ist sicher ausreichend hätte mir halt gedacht es 
würde noch besser gehen.

von grundschüler (Gast)


Lesenswert?

bei 8bit geht das sicher schneller. viele ilis können mit streamwrite 
statt pixelweise beschrieben werden.

von Carl D. (jcw2)


Lesenswert?

grundschüler schrieb:
> datasheet:
> 7-channel DMA controller, supporting ADC, SPI,
> I2C, USART, DAC, Timers
>
> dma + gpio sieht danach eher schlecht aus.

Falsches Fazit!

Gpio kann schlicht keinen Transfer anstoßen, was all die Devices unter 
"supporting" können. Allerdings kann das ein Timer erledigen, entweder 
in festen Abständen, oder wenn der Timer zum Zählen externer Ereignisse 
(z.B. Flanke an Gpio) konfiguriert ist, als Vermittler zwischen Gpio und 
DMA.

Als Ziel kann jede beliebige existierende Adresse herhalten und der 
Unterschied zwischen IO- und Mem-Adresse ist nur, das erstere meist fix 
ist, während letztere bei jedem Transfer incrementiert wird.

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.