cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f429 Disco direct to VGA Monitor

warcatz
Associate II
Posted on October 09, 2013 at 15:35

Hello 🙂

I just remove the LCD from one of my board and made a R2R Resistor DAC connected to the LCD dedicated pin.

The only pins you need are the 3 x 6bits colors , the vsync , hsync and GND.

After some changes in one of the examples source from ST i was able to get a picture

to my VGA Monitor 😉

I just don't have the correct timing for view 640 x 480 picture , the monitor report me a 800 x 600 resolution with 31.4Khz Horizontal and 52.3Hz refresh time ... Hmmm

I probably don't understand correctly the data-sheet/app note about the timing.

Or i put wrong parameter for sync time + bach porch etc ...

For those who want try i attach the source to put in the

\Projects\Peripheral_Examples\ directory and the R2R Schematic i do for this test.

If someone get the correct timing setup for 640 x 480 resolution i will be happy to get it 😉

It's allot more comfortable to play with a big monitor , just no touch screen here , next step is to use a USB KB + Mouse ... he he he

Cheers.

PS : i compiled this with Keil..

#stm32f429-disco-vga-monitor #32f429-disco-vga-monitor-image #vga-disco-take-it #instead-of-desoldering-the-lcd
7 REPLIES 7
warcatz
Associate II
Posted on October 09, 2013 at 17:04

Little update.

I corrected some of my mistake , now i get picture perfect fitted into the screen.

made change in :

void LCD_Init(void)
{ 
.....
/* Timing configuration */ 
/* Configure horizontal synchronization width */ 
LTDC_InitStruct.LTDC_HorizontalSync = 96;//96
/* Configure vertical synchronization height */
LTDC_InitStruct.LTDC_VerticalSync = 2;//2
/* Configure accumulated horizontal back porch */
LTDC_InitStruct.LTDC_AccumulatedHBP = 144; //HSync + HBP = 144
/* Configure accumulated vertical back porch */
LTDC_InitStruct.LTDC_AccumulatedVBP = 35; //VSync + VBP = 35
/* Configure accumulated active width */ 
LTDC_InitStruct.LTDC_AccumulatedActiveW = 784;//144 + 640 = 784
/* Configure accumulated active height */
LTDC_InitStruct.LTDC_AccumulatedActiveH = 515;//35 + 480 = 515
/* Configure total width */
LTDC_InitStruct.LTDC_TotalWidth = 800; 
/* Configure total height */
LTDC_InitStruct.LTDC_TotalHeigh = 525;
LTDC_Init(<DC_InitStruct);
} 

Now i have to found why i don't get uniform colors , in the picture attached you will see

that the 'Green' background is changing

Anyway , it's a good start 🙂

Cheers.

________________

Attachments :

32f429_capture.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HzhX&d=%2Fa%2F0X0000000bPU%2F5EeQ5o6RvWDq3k2cLTpipeWLHD0A_TTT5m75NtnjMmc&asPdf=false
warcatz
Associate II
Posted on October 09, 2013 at 21:24

I finally found why the colors was not uniform.

we use 18bits / pixels but when we do the SDRAM test , every bits are write and for some reason when we write to Video memory after this we have a 'mix' 😉 The easy way to prevent it is to erase the part of the SDRAM we use for the Video. For made simple i just erase all SDRAM after the SDRAM test , it's just a copy/paste from this code :

/* Erase SDRAM memory */
for (counter = 0x00; counter < IS42S16400J_SIZE; counter++)
{
*(__IO uint16_t*) (SDRAM_BANK_ADDR + 2*counter) = (uint16_t)0x00;
}

That's it 🙂 Now the picture is perfect and i can look deeper in the new ST beast 😉 Cheers.
warcatz
Associate II
Posted on October 17, 2013 at 19:54

Hi 🙂

I have made a very short video from the 640x480 test on stm429 Disco with VGA.

Here it is :

http://www.youtube.com/watch?v=3GOEYUBZouA&feature=youtu.be

Cheers.

disirio2
Senior
Posted on October 22, 2013 at 17:00

Hi,

Nice video, thanks for posting this. Probably the uGFX project will be interested in this.

Giovanni

---

http://www.chibios.org

warcatz
Associate II
Posted on October 22, 2013 at 18:51

Hi Giovanni ,

Well , my source are open , i attach it here and if they want it , they can take it 😉

I added the 240 x 320 and the 320 x 240 resolution (select it in the 'stm32f429i_discovery_vga.h' file)

But , it's based on the 640 x 480 resolution (timing etc ...)

If someone know how to double the pixels size directly with the ltdc it will help me to get lower resolution bigger in screen 🙂

Next step will be when i will receive my PCB and can add more SDRAM + SRAM to the stm429 disco 😉

If it work it will be open sourced too ...

Cheers.

Darth.

________________

Attachments :

vga_demo_-_2013-10-19-2336.rar : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HzmV&d=%2Fa%2F0X0000000bPV%2FSE3p_tT.IocAxIyJHfA329eWMUIRaZ0bvrFL44gZA6Q&asPdf=false
samwhite951951
Associate II
Posted on October 25, 2014 at 16:12

samwhite951951
Associate II
Posted on October 25, 2014 at 16:33