cancel
Showing results for 
Search instead for 
Did you mean: 

stm3210c-eval and lcd

rouault
Associate
Posted on December 12, 2011 at 10:52

Hi,

I use a stm3210c-eval board. I connect to the lcd display through the spi interface with the help of the st gui library.

I find the display very slow. To display a 16 bits rgb picture of 152x152px, it takes almost one second to transfer and refresh.

The library first set a proper window and then write to the lcd gram the 152x152 bytes consecutively.

152x152x16/9MHz=40ms which would be to fast to notice.

What is wrong?

#lcd #stm32 #eval #spi-/-fsmc
8 REPLIES 8
rosarium
Associate II
Posted on December 13, 2011 at 05:34

The refresh rate of TFT on STM32C-Eval board is slower as the interface is SPI. ANd also STM32C does not have FSMC to interface TFT.

If you want to do it faster you can use STM32E-Eval board. On this board the TFT is interfaced with FSMC and it's much more faster than SPI.

Also you can use DMA in both the cases to dump data on TFT. It will for sure enhance the performance.

rouault
Associate
Posted on December 13, 2011 at 14:04

That's solved the problem: with dma, it now meets the 40ms time I expected.

I find by the way, the st gui lib very badly coded and inefficient. I had to modify the core component of the library to have a decent display: in addition to the dma problem, the pictures and characters were by default mirrored making them unreadable.

rosarium
Associate II
Posted on December 14, 2011 at 05:51

Thts good. so DMA solved your problem.

And about GUI Lib you are talking about, I used that lib and i did not see such problem.

What is the exact problem you are facing.

fabrice239955_st
Associate
Posted on January 04, 2012 at 14:50

I have some STM3210-Eval boards. With the oldest ones no problem with the examples (like IOexpander demo). But i have some new board received  in decembrer 2011 and all the examples of the lcd are mirrored on the screen. I imagine that the default configuration for start point of the screen as change or are not recognize in LCD_init().

Do you have some solutions ?

rosarium
Associate II
Posted on January 05, 2012 at 06:40

which eval board you are talking about. Is it STM3210E-Eval???

And also let me know the TFT module part no. IS ir MB694-A00 or A01???

fabrice239955_st
Associate
Posted on January 08, 2012 at 23:12

I speak about STM3210C-EVAL. In fact I have 8 boards (all MB785). With the last ones (received last 2011), all the applications (expected the original firmware on the concerned cards) are mirrored on the screen.

I have corrected the problem by changing the configuration of the Gram direction LCD_WriteReg(LCD_REG_3,0x1018) to 0x1028.

But i have too  to correct all the references of the screen width (319, 0x013F) in all LCD_XXX functions and change all the negative operations on column to positive ones. I have to change too some graphical functions (rectangle ....).

I imagine this is a pb of hardware configuration on the new screen boards ...

rosarium
Associate II
Posted on January 09, 2012 at 06:27

Yes you are right. Mirroring issue is  because of the wrong GRAM writing on TFT, which is controller by register R3. But I am surprised this problem is coming with the connectivity eval boards.

waldemar
Associate
Posted on May 04, 2012 at 12:10

Hi,

I have solved this problem by writing to Gate Scan Line register R96 (0x60) a new value of 0xA700 (before was 0x2700). No other changes were needed - it displays now without mirroring.

regards

Waldemar