<?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: LPC5528 FS USB Throughput</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2204529#M58988</link>
    <description>&lt;P&gt;Alice,&lt;/P&gt;&lt;P&gt;Thank you for confirming the issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What would be the recommended method of ensuring efficient Bulk transfers with No NAKs?&lt;/P&gt;&lt;P&gt;Writing my own USB handler?&lt;/P&gt;&lt;P&gt;Does NXP have a USB driver that I can implement with less overhead compared to the MCUXpresso USB stack?&lt;/P&gt;&lt;P&gt;Do you know of any third party software solution I can use?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 13 Nov 2025 13:31:50 GMT</pubDate>
    <dc:creator>juan_guzman</dc:creator>
    <dc:date>2025-11-13T13:31:50Z</dc:date>
    <item>
      <title>LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2200311#M58964</link>
      <description>&lt;P&gt;&lt;STRONG&gt;LPC5528 USB Full Speed throughput&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;I'm working on a project using the LPC5528. It's a printer application were the LCP5528 is used perform print jobs.&lt;/P&gt;&lt;P&gt;The print job data is transferred from a Host processor to the LPC5528 via FS USB0 interface using a Bulk type Endpoint. We are using NXP MCUXpresso SDK USB Stack implementation.&lt;/P&gt;&lt;P&gt;The problem we're seeing is that we're not getting efficient throughput on the USB Bulk transfers. Every other Bulk transfer is being NAKED by the LPC5528.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="juan_guzman_0-1762459983572.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/364316i4D8719BC7088F94E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="juan_guzman_0-1762459983572.png" alt="juan_guzman_0-1762459983572.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I timed the execution of the USB ISR handler&amp;nbsp;on the LPC5528 from the point the interrupt fires to the point were the USB stack calls the Callback function and re-activates the Bulk Endpoint. This takes about&amp;nbsp;&lt;STRONG&gt;40uS&lt;/STRONG&gt;. It is my guess that the latency in in the USB Stack is causing the inefficient throughput.&lt;/P&gt;&lt;P&gt;Can someone confirm if this is a reasonable conclusion? If so, is there a way to optimize the USB Stack or what other means are possible to achieve efficient throughput through the Bulk Endpoint?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Nov 2025 20:15:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2200311#M58964</guid>
      <dc:creator>juan_guzman</dc:creator>
      <dc:date>2025-11-06T20:15:52Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2201565#M58975</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/12027"&gt;@juan_guzman&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your question.&lt;/P&gt;
&lt;P&gt;Could you please first test using the SDK demo &lt;CODE&gt;printer_virtual_plain_text&lt;/CODE&gt;? Also, please measure the execution time.&lt;/P&gt;
&lt;P&gt;If the issue can be reproduced with the SDK demo, I’ll help check it on my side.&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Mon, 10 Nov 2025 06:39:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2201565#M58975</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2025-11-10T06:39:49Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2202907#M58981</link>
      <description>&lt;P&gt;Hello Alice,&lt;/P&gt;&lt;P&gt;I was able to recreate the same issue using the SDK demo you suggested.&lt;/P&gt;&lt;P&gt;I continue to see the same pattern of one transfer is ACKed and the next is NAKed.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="juan_guzman_0-1762879713110.png" style="width: 750px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/364993iB2DA41F269AF23FE/image-dimensions/750x162?v=v2" width="750" height="162" role="button" title="juan_guzman_0-1762879713110.png" alt="juan_guzman_0-1762879713110.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I measured the execution time from the entry into the USB ISR to the USB Stack callback function &lt;EM&gt;USB_DevicePrinterAppCallback()&lt;/EM&gt;. This time is&lt;STRONG&gt; 13.2 uS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="juan_guzman_1-1762880137210.png" style="width: 659px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/364998iCE1EB961B8B3C113/image-dimensions/659x101?v=v2" width="659" height="101" role="button" title="juan_guzman_1-1762880137210.png" alt="juan_guzman_1-1762880137210.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="juan_guzman_2-1762880258513.png" style="width: 658px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/365000iBFF5387F7BA396FB/image-dimensions/658x122?v=v2" width="658" height="122" role="button" title="juan_guzman_2-1762880258513.png" alt="juan_guzman_2-1762880258513.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also measured the execution of the&amp;nbsp;&lt;EM&gt;USB_DevicePrinterRecv()&lt;/EM&gt;, this time is&amp;nbsp;&lt;STRONG&gt;16.0 uS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="juan_guzman_3-1762880620465.png" style="width: 632px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/365003i9BBA75B93C420EFD/image-dimensions/632x147?v=v2" width="632" height="147" role="button" title="juan_guzman_3-1762880620465.png" alt="juan_guzman_3-1762880620465.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the entire time for the USB Stack to handle a Bulk frame and reactivate the Endpoint is 13.2uS + 16uS =&amp;nbsp; &lt;STRONG&gt;29.2 uS.&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;This is pretty much in line to what I'm seeing on my project.&lt;/P&gt;&lt;P&gt;Please let me know if the Stack can be optimized to achieve a better USB transfer efficiency.&lt;/P&gt;&lt;P&gt;Attached is the USB Analyzer trace and also the test file I used.&lt;/P&gt;&lt;P&gt;Thank You,&lt;/P&gt;</description>
      <pubDate>Tue, 11 Nov 2025 17:46:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2202907#M58981</guid>
      <dc:creator>juan_guzman</dc:creator>
      <dc:date>2025-11-11T17:46:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2203157#M58982</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/12027"&gt;@juan_guzman&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your reply. Which tool did you use for the view below? I will debug and check on my side.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1762919390308.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/365087iBB9A2A1425213DE2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1762919390308.png" alt="Alice_Yang_0-1762919390308.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 03:51:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2203157#M58982</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2025-11-12T03:51:02Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2203666#M58983</link>
      <description>&lt;P&gt;Hello Alice,&lt;/P&gt;&lt;P&gt;I used Ellisys Visual USB Analyzer to capture the USB trace.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 13:41:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2203666#M58983</guid>
      <dc:creator>juan_guzman</dc:creator>
      <dc:date>2025-11-12T13:41:22Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2204406#M58987</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/12027"&gt;@juan_guzman&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your reply. I tested with a Teledyne USB analyzer, and the results are almost the same as yours. A Bulk endpoint will NAK when it’s not ready to accept data. I confirmed with internal,&amp;nbsp; for the MCUXpresso USB stack, a delay of about 30–50 µs from interrupt to re-arming is typical because:&lt;/P&gt;
&lt;P&gt;The stack runs in interrupt context but still performs buffer management and callback dispatch.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Nov 2025 10:22:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2204406#M58987</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2025-11-13T10:22:57Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2204529#M58988</link>
      <description>&lt;P&gt;Alice,&lt;/P&gt;&lt;P&gt;Thank you for confirming the issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What would be the recommended method of ensuring efficient Bulk transfers with No NAKs?&lt;/P&gt;&lt;P&gt;Writing my own USB handler?&lt;/P&gt;&lt;P&gt;Does NXP have a USB driver that I can implement with less overhead compared to the MCUXpresso USB stack?&lt;/P&gt;&lt;P&gt;Do you know of any third party software solution I can use?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Nov 2025 13:31:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2204529#M58988</guid>
      <dc:creator>juan_guzman</dc:creator>
      <dc:date>2025-11-13T13:31:50Z</dc:date>
    </item>
    <item>
      <title>Re: LPC5528 FS USB Throughput</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2206752#M59000</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/12027"&gt;@juan_guzman&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your reply.&lt;/P&gt;
&lt;P&gt;NXP only provides the MCUXpresso USB stack. For third-party options, you can test with TinyUSB. You might also consider using HS-USB instead of FS USB.&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Tue, 18 Nov 2025 10:25:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC5528-FS-USB-Throughput/m-p/2206752#M59000</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2025-11-18T10:25:37Z</dc:date>
    </item>
  </channel>
</rss>

