cancel
Showing results for 
Search instead for 
Did you mean: 

Can LCD Driver be used to drive ultra-low-power Led dot matrix display?

gregstm
Senior III

I'm using some extremely efficient 603 size Leds that are very bright even at 70 microamps current. Can I use the LCD Driver (eg. of the STM32L476, 8x40 driver ) to drive a modest 8x12 or 8x16 Led display? (I have created a little dot matrix display by DMA'ing directly to a GPIO port, but 16 bits restricts display size to 8x8, 6x10 etc.),

thanks.

12 REPLIES 12

ok, had a quick look as the FMC/FSMC and it only is workable with packages LQFP100 and above (was hoping to use LQFP64).

After looking at the various options, I think my best option for the moment is a bit of a fudge - I will just scroll the display horizontally to display the extra digits...

"... With one timer you can generate up to 5 DMA transfers in configurable times (even at "the same time")" - assuming I can do this (I will need to educate myself further on this), then I should be able to use 32 bit DMA writes to the 32 bit BSRR register (of multiple GPIOs) to implement dot matrix Led displays (eg. the 5x21, or 5x28 display), I may have to interlace one write for resetting all the bits with one write for setting bits.

1) By single write into BSRR you can set any output combination. Any pin can be left in previous state, any pin can be cleared (to "0") and any pin can be set (to "1") by one write.

2) Single timer can initiate up to five independent DMA requests. Typicaly four due DMA request routing. For example i set TIM4 to generate

Compare 1 event (CH1) at time 10ms

Compare 2 event (CH2) at time also 10ms

Compare 3 event (CH3) at time 19.9ms

Update event (UP) at time 20.0ms

All these events can generate DMA request and so write to GPIO port. In case that two events takes same time, DMA request with higher priority will be serviced first (writes to GPIO are few cycles separated)

3) Usualy, due DMA request routing, one timer can generate 4 requests. In case that i need more, i can synchronise timer together (through ITR signals) and then i can generate more then four timed DMA transfers. Total number depends on specific MCU.