VGA Ausgabe per STM32F4 Discovery-Board

OP #3143628
Lesenswert?

Hallo,

ich hab jetzt endlich die Library fertig mit der man ein VGA-Signal mit 
dem STM32F4 Discovery Board erzeugen kann.

Der VGA-Mode ist 640x480 @60Hz, wobei aber nur 320x240 Pixel angezeigt 
werden (weil nicht genug RAM in der CPU vorhanden ist)

die Farbtiefe ist bei meiner Version bei 8bit (RGB332) wobei auch 
weniger oder mehr theoretisch machbar sind

es werden 2 Timer (TIM1 und TIM2) und der DMA2 (CH6,Stream5) benutzt

ich hab allerdings keinen zweiten Bildpuffer eingebaut, beim zeichnen 
von bewegten sachen wird es also zwangsläufig zu "Bildfehlern" kommen
(da werd ich vermutlich noch was dagegen machen)

bei mit läuft es unter CooCox auch ohne Optimierungsstufe 
zufriedenstellend, allerdings "an der Grenze"...da müsst ihr aber selber 
mit rumspielen

hier der Link :

http://mikrocontroller.bplaced.net/
OP #3143652
Lesenswert?

Hi Lothar,

ich hab es auch mehr aus "Spass an der Freude" implementiert, wirklich 
perfekt ist es nicht

z.B. stimmt der Pixeltakt nicht genau weil mit dem 168MHz-Clock kein 
Teiler auf 25,175MHz (bzw. 12,58MHz) möglich ist

und ich hab auch nicht getestet was passiert, wenn die CPU was anderes 
zeitkritisches parallel machen muss

und für Bilder sind die 8bit Farbetiefe auch "Grenzwertig"

aber ... who cares :-)
OP #3144541
Lesenswert?

@Marius S,

>Zeigt schön was der F4 drauf hat

ja, davon bin ich überzeugt...man muss es halt programmieren können :-)
und ich war noch nie der GrafikFreak
bzw. ich stell ja nur die "Grundgerüste" zur verfügung ..."rausred"


@vampire,

deine Schaltungen versteh ich nicht ganz

Bild 1. SCART :

was ist PB0 (Pin20) für ein Signal bzw. wie muss das aussehen ?



Bild 2. FBAS :

was ist 4FSC (Pin3) für ein Signal bzw. wie muss das aussehen ?



ich vermute da sind die Timings komplett anders (PAL = 50Hz)


Gruss
Gast #3144772
Lesenswert?

-beides sind Schaltungsauszüge zur UZE-/Fuze-Box, wie sie hier im Forum 
vor Jahren mal veröffentlicht wurden.
Ich habe sie nur wegen ihrer Ähnlichkeit zu deiner VGA-Ausgabe, quasi 
als
weitere Möglichkeit, hier aufgezeigt.
s.a.:
Beitrag "Re: (F)UZE-Box Zusatzmodul für AVR NET-IO"

Uwe B. schrieb:
> Bild 1. SCART :
>
> was ist PB0 (Pin20) für ein Signal bzw. wie muss das aussehen ?

-nehme an Hsync;

Uwe B. schrieb:
> Bild 2. FBAS :
>
> was ist 4FSC (Pin3) für ein Signal bzw. wie muss das aussehen ?

Ich habe die Schaltungen damals aufgebaut. Soweit ich mich erinnere, war 
es ein ATmega644 mit 27,xx Mhz übertaktet.
Dürfte schwierig sein, für den AD725 die erforderlichen Signale zu 
generieren --
Auch dies dürfte passend sein:
http://www.jcwolfram.de/projekte/avr/chipbasic2/hard.php
1.2 Farbversion (SCART)
Gast #3145001
Lesenswert?

-Nachtrag:
PB0 ist das BAS-Signal. gebildet aus Hsyn+Pixelfrequ.;

4FSC Clock Input.
For NTSC: 14.318 180 MHz.
For PAL: 17.734 475 MHz.

über Timer/counter zu generieren.
Aber, wie Du schon bemerkt hast (in deinen Erläuterungen), -nicht so 
einfach zu erzeugen --
Gast #3170189
Lesenswert?

Uwe B. schrieb:
> bei mit läuft es unter CooCox auch ohne Optimierungsstufe
Warum eigentlich immer ohne? Die GCC-Optimierungen bewirken kleine 
Wunder, während ohne diese der generierte Code ziemlich gruselig ist (so 
stehen gerne die gleichen Instruktionen 5x hintereinander da, wo 1x 
gereicht hätte). Und präzise Delays sollte man onehin nicht mit 
C-Delay-Loops machen...
Gast #3208155
Lesenswert?

Uwe B. schrieb:
> das Video (und der Youtube Account) ist NICHT von mir !!

Hallo alle ;)

Diese Video ist von mir und mit als Basis der Video Treiber Uwe auf 
seine Seite gibt.
Ist nicht mit cocoox aber mit keil kompiliert.
Alle Graphik Funktionen habe ich vom meine TFT Treiber konvertiert das 
die
auch mit dem VGA Treiber funktioniere.
Diese Demo lauft auf eine HY-STM32F407Core144 mit 8Mb PSRAM onboard.
Aktuell ist noch viel zu tun das alle graphische Funktion alle zusammen
funktioniere konnte und die Sprite ich gerade integrierte habe 
funktioniere gut ;)
Ab ende muß das alles eine kleine graphics game Kernel sein , ich werde 
auch noch
paar Video in Youtube machen wenn ich so weit bin.

Tschuss.

Fabrice.
PS : sorry für meine schlechte Deutsch ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren