EmbeddedRelated.com
Forums

LCD-dsp interface timing

Started by Unknown July 14, 2006
Hi there

i have to interface an lcd (hitachi HD44780 based controller) to a dsp
(tms320c6713b from ti).
the problem is that the lcd controller is very slow in accepting data.
in order not to use too much of the dsp resources, i don't want to
introduce any wait states in the dsp.
other peripherals are also connected to the emif, so i don't want to
slow down the emif either.
has anyone an idea how to interface the lcd with the dsp?

thanks a lot for any suggestions, you'd help me a lot. 


gnoemli

gnoemli@gmail.com wrote:
> Hi there > > i have to interface an lcd (hitachi HD44780 based controller) to a dsp > (tms320c6713b from ti). > the problem is that the lcd controller is very slow in accepting data. > in order not to use too much of the dsp resources, i don't want to > introduce any wait states in the dsp. > other peripherals are also connected to the emif, so i don't want to > slow down the emif either. > has anyone an idea how to interface the lcd with the dsp? > > thanks a lot for any suggestions, you'd help me a lot. > > > gnoemli
There are 2 slow problems to worry about, the long write time and the long delay between writes. The first can be solved with a hardware buffer, I use a gal16v8, programmed as a state machine. The second can be got around by creating a data buffer in ram, your program only writes to this buffer and so is never slowed, you can also read display data as well, tack onto an existing timer ISR a few lines to write the next character from the buffer to the lcd. If you set the timer to write 1.6mS or longer then you need never worry about the busy flag, which makes the harware buffer much easier, you will only notice a very slight delay on screen if you have a large (4x20) display. If you write faster and use the busy flag you still dont need to slow your program you just exit the write routine if busy, the next timer tick will try again.