<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Generating Video with LPC1111 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531163#M10141</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Sun Sep 08 08:41:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I am not sure why rewriting the value of the Systick LOAD register cancelled the jitter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no restriction for the number of ticks to be a multiple of 2, that I am aware of.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:31:53 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:31:53Z</dc:date>
    <item>
      <title>Generating Video with LPC1111</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531160#M10138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Danjovic on Sun Sep 01 21:11:39 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Following the experiments on my &lt;/SPAN&gt;&lt;A href="http://http://www.lpcware.com/content/forum/code-alignment-interfering-instruction-temporization-it-bug-chip-or-it-normal" rel="nofollow noopener noreferrer" target="_blank"&gt;previous post&lt;/A&gt;&lt;SPAN&gt;, I have managed to obtain some successful results on generating a video display with LPC1111.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://https://www.dropbox.com/s/lel4xfuyxfuxe4c/VidGen003.jpg" rel="nofollow noopener noreferrer" target="_blank"&gt;Here&lt;/A&gt;&lt;SPAN&gt; it is possible to see a 30x24 display. Notice &lt;/SPAN&gt;&lt;A href="http://https://www.dropbox.com/s/o3b8d93cdunbz6u/VidGen004.jpg" rel="nofollow noopener noreferrer" target="_blank"&gt;sharp edges&lt;/A&gt;&lt;SPAN&gt; of the characters (no noticeable jitter).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;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.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;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.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Initially I was generating a 64x25 display, and since the characters are very narrow on the 5" B&amp;amp;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.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;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! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My code looks like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;...
void SysTick_Handler(void)
{
&amp;nbsp;&amp;nbsp; ... 
&amp;nbsp;&amp;nbsp; do sync
&amp;nbsp;&amp;nbsp; send characters for SPI port
&amp;nbsp;&amp;nbsp; ...
&amp;nbsp;&amp;nbsp; SysTick-&amp;gt;LOAD=H_LINE_TICKS;
&amp;nbsp;&amp;nbsp; ...
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know exactly what happens. Maybe when the Reload Register is rewritten a prescaler is cleared or something similar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PS: I am using the &lt;/SPAN&gt;&lt;A href="http://http://en.wikipedia.org/wiki/MSX" rel="nofollow noopener noreferrer" target="_blank"&gt;MSX&lt;/A&gt;&lt;SPAN&gt; character set.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:31:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531160#M10138</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Video with LPC1111</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531161#M10139</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Fri Sep 06 07:22:06 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you tried using the IRQLATENCY register to improve the jitter?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;From the UM10398 User Manual:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The IRQLATENCY register is an eight-bit register which specifies the minimum number of&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;cycles (0-255) permitted for the system to respond to an interrupt request. The intent of&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this register is to allow the user to select a trade-off between interrupt response time and&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;determinism.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Setting this parameter to a very low value (e.g. zero) will guarantee the best possible&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;interrupt performance but will also introduce a significant degree of uncertainty and jitter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Requiring the system to always take a larger number of cycles (whether it needs it or not)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;will reduce the amount of uncertainty but may not necessarily eliminate it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Theoretically, the ARM Cortex-M0 core should always be able to service an interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;request within 15 cycles. System factors external to the cpu, however, bus latencies,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;peripheral response times, etc. can increase the time required to complete a previous&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;instruction before an interrupt can be serviced. Therefore, accurately specifying a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;minimum number of cycles that will ensure determinism will depend on the application.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:31:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531161#M10139</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Video with LPC1111</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531162#M10140</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Danjovic on Sat Sep 07 04:22:11 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks Paul, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'll perform some experiments on changing the IRQLATENCY register.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have a any guess why do the rewrite of the Systick-&amp;gt;LOAD register have cancelled the jitter? Can it be related to the number of ticks (2727) not being a multiple of 2 (or 8)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&amp;nbsp; &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:31:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531162#M10140</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Video with LPC1111</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531163#M10141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Sun Sep 08 08:41:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I am not sure why rewriting the value of the Systick LOAD register cancelled the jitter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no restriction for the number of ticks to be a multiple of 2, that I am aware of.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:31:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531163#M10141</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:31:53Z</dc:date>
    </item>
    <item>
      <title>Re: Generating Video with LPC1111</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531164#M10142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Danjovic on Sun Sep 29 20:55:45 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Paul&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am experimenting now on synchronizing with external video signal for generating OSD. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The first tests have been done using an interrupt that changed the state of a pin after entering an interrupt caused by a falling edge of HSYNC signal. That resulted in a crisp border &lt;/SPAN&gt;&lt;A href="http://https://www.dropbox.com/s/gerc1oldmtbmmrj/Vidgen-OSD.jpg"&gt;[1]&lt;/A&gt;&lt;SPAN&gt; (no jitter)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But when I stated using the SPI port, I got some jitter &lt;/SPAN&gt;&lt;A href="http://http://youtu.be/fNVTxoRdMNQ"&gt;[2]&lt;/A&gt;&lt;SPAN&gt;. This time I still couldn't figure out what is the cause, or how to get rid of it. Unfortunately, the parameter IRQLATENCY did not helped. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Daniel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:31:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Generating-Video-with-LPC1111/m-p/531164#M10142</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:31:53Z</dc:date>
    </item>
  </channel>
</rss>

