lpcware

Generating Video with LPC1111

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by Danjovic on Sun Sep 01 21:11:39 MST 2013
Following the experiments on my previous post, I have managed to obtain some successful results on generating a video display with LPC1111.

Here it is possible to see a 30x24 display. Notice sharp edges of the characters (no noticeable jitter).

It took me a long time to figure out how to remove the jitter, and I can say that I was lucky, since I haven't understood very well what I discovered incidentally. Let me explain.

I am using the Systick interrupt to generate the horizontal interval, and using the SPI port to serialize the patterns from whose the characters on screen are composed.
Initially I was generating a 64x25 display, and since the characters are very narrow on the 5" B&W TV, I didn't realized that there was jitter each 4 horizontal lines. But when I reduced the SPI frequency to the half such jitter become noticeable.

While experimenting with a variable for modulating the value of the Systick Reload Register of Systick Interrupt, in order to compensate the jitter, I have discovered that if I simply reload the register(i.e. no modulation), the jitter dissappears!

My code looks like:

...
void SysTick_Handler(void)
{
   ...
   do sync
   send characters for SPI port
   ...
   SysTick->LOAD=H_LINE_TICKS;
   ...
}


I don't know exactly what happens. Maybe when the Reload Register is rewritten a prescaler is cleared or something similar.

PS: I am using the MSX character set.

Outcomes