<?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>LPC Microcontrollers中的主题 Re: Tearing on LCD when accesing USB</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587373#M21623</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Fri Oct 30 14:43:17 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi briching,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We are updating UM and will be available in early November (2015).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:12:54 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:12:54Z</dc:date>
    <item>
      <title>Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587365#M21615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by larsjep on Mon Mar 24 05:47:21 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm having a problem with tearing on the LCD display.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The tearing occurs when I transfer data to and from a USB stick.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(On USB0 High-speed mode)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The display resolution is 800x480 16bit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The memory is 2x16MB (32bits bus) SDRAM running at 102Mhz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The CPU core is running at 204Mhz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems like the USB DMA is disturbing the LCD DMA.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have tried to lower the DMA burst size of the USB controller with register BURSTSIZE, but I can't change these values. It keep going back to 0x1010 which is default.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to lower the DMA priority of the USB controller somehow ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas on how to solve this ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Lars&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587365#M21615</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:49Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587366#M21616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mdittrich on Mon Mar 24 08:40:24 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I am assuming you are using the onchip LCD controller...&amp;nbsp; Have you experimented with double buffering the LCD (by swapping buffers with LPC_LCD-&amp;gt;UPBASE from within the LCD interrupt when the LNBUMIS bit is set)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you getting LCD FIFO underflow or LCD AHB master bus errors when running USB?&amp;nbsp; I sometimes throw a &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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(CoreDebug-&amp;gt;DHCSR &amp;amp; CoreDebug_DHCSR_C_DEBUGEN_Msk) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm volatile ("bkpt");
&amp;nbsp;&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;for these type of error interrupt sources, so my debugger stops when they happen without having to specifically set a breakpoint.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have no experience with the USB peripheral (yet).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;MD&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587366#M21616</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:50Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587367#M21617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by larsjep on Mon Mar 24 09:08:08 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mdittrich&lt;/STRONG&gt;&lt;BR /&gt;I am assuming you are using the onchip LCD controller...&amp;nbsp; Have you experimented with double buffering the LCD (by swapping buffers with LPC_LCD-&amp;gt;UPBASE from within the LCD interrupt when the LNBUMIS bit is set)?&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, I allready do this, but the problem occurs also when I'm not updating the buffer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mdittrich&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Are you getting LCD FIFO underflow or LCD AHB master bus errors when running USB?&amp;nbsp; I sometimes throw a &lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, I get a LCD FIFI underflow when the tearing occurs.I'm not sure how test for AHB master bus error. ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mdittrich&lt;/STRONG&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(CoreDebug-&amp;gt;DHCSR &amp;amp; CoreDebug_DHCSR_C_DEBUGEN_Msk) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm volatile ("bkpt");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;for these type of error interrupt sources, so my debugger stops when they happen without having to specifically set a breakpoint.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Great idea, I will use that in the future&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mdittrich&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I have no experience with the USB peripheral (yet).&lt;BR /&gt;&lt;BR /&gt;MD&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587367#M21617</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:51Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587368#M21618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mdittrich on Mon Mar 24 09:47:26 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;OK, sorry I always interpreted "tearing" as half of the new "screen" being displayed while half of the old is still also being displayed.&amp;nbsp; Which, in any case, is obviously not your problem.&amp;nbsp; Besides dropping to 8bit palettized mode, I have no suggestions... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but hope you reach/share a solution, because it sounds like I will be in your situation when we implement USB (nearly identical hardware setup, but we are already using 8bit palettized mode).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good luck!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;MD&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587368#M21618</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:51Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587369#M21619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by larsjep on Thu Apr 24 05:34:59 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I just want to mention that I solved the problem with help from NXP support.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I got this from the support:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Can you try after writing a value to an undocumented register:&lt;BR /&gt;*((volatile uint32_t *)0x40006090) = 7;&lt;BR /&gt;(Another possible value is 3)&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;It controls the way in which the USB bus master tells a bus slave (here: the memory controller) how it wants to perform a burst data transfer.&lt;BR /&gt;It has recently been discovered that the default setting is not always optimal.&lt;BR /&gt;The proposed register is called "SBUSCFG", and will be documented in a new version of the manual.&lt;BR /&gt;No bad side effects are expected, and the non-zero setting will actually be recommended for all applications.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This seems to solve the problem&amp;nbsp; 8-) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good luck.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587369#M21619</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:52Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587370#M21620</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by briching on Thu Sep 24 20:13:39 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I can confirm this fix as well.&amp;nbsp; We have an 800 x 480 TFT display with 16bpp (565) 60fps driven by an LPC4357.&amp;nbsp; For the first time today we noticed LCD fifo underflow interrupts being generated whenever the USB host stack (lpcusblib) accessed the attached mass storage thumb drive.&amp;nbsp; The distortion pattern was different than what is described on Segger's site in terms of a "page tear".&amp;nbsp; It was more like the image was being corrupted and shifted around a bit (as would likely be exhibited as the data stream is starved when the LCD controller's DMA fifo underflows.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks for publishing this fix.&amp;nbsp; I'm sure I would have been scratching my head for days or weeks over this.&amp;nbsp; I happened to get lucky in a google search finding this, but if a link to this page isn't already in the lpcopen FAQ's, should it be?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Brad&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587370#M21620</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:52Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587371#M21621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mysepp on Fri Oct 09 02:15:39 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Perhaps overseen, but it is also not yet in user manual? Or have you found a description?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587371#M21621</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587372#M21622</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by briching on Tue Oct 13 09:26:51 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;This is the only google search result I could find that is relevant to the keywords SBUSCFG and NXP.&amp;nbsp; I don't think the documentation has been completed for this register yet.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587372#M21622</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: Tearing on LCD when accesing USB</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587373#M21623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Fri Oct 30 14:43:17 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi briching,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We are updating UM and will be available in early November (2015).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:12:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Tearing-on-LCD-when-accesing-USB/m-p/587373#M21623</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:12:54Z</dc:date>
    </item>
  </channel>
</rss>

