<?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: LPC4370 high speed USB isochronous transfer in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678880#M27300</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I understand LPC can do high speed isochronous transfers.&amp;nbsp; The problem is that the USB Audio Class 1.0 does not support them, which means as long as you're using USB Audio Class 1.0 (which is what *every* vendor exclusively supports except XMOS) you're going to be limited on the host side.&amp;nbsp; It's not a bug, it's how USB Audio Class 1.0 was defined and any host-side drivers that allowed high speed transfers violate the class definition.&amp;nbsp; USB Audio Class 2.0 is much better and supports high speed and perhaps super speed transfers, but only XMOS supports it as far as I have found.&amp;nbsp; Not even Windows has a proper built-in USB Audio Class 2.0 driver -- you need to go through Thesycon to get a USB Audio Class 2.0 driver for Windows.&amp;nbsp; Of course, Linux and Mac support USB Audio class 2.0 natively.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Caleb&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Sep 2018 14:13:03 GMT</pubDate>
    <dc:creator>caleb</dc:creator>
    <dc:date>2018-09-10T14:13:03Z</dc:date>
    <item>
      <title>LPC4370 high speed USB isochronous transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678875#M27295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone successfully do a high speed USB isochronous transfer on the LPC4370 ? I have tested the AudioInputDevice example which works in full speed. However when set to high speed, it does not work. Have been trying&amp;nbsp;a few days&amp;nbsp;to figure out why but to no avail. Enumeration in high speed is successful and Windows XP detected it as a audio device. However, when recording is done on the audio device, no data is returned. The associated isochronous endpoint is primed but no transfer complete interrupt is generated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Hew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 13 May 2017 10:01:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678875#M27295</guid>
      <dc:creator>hchew</dc:creator>
      <dc:date>2017-05-13T10:01:01Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4370 high speed USB isochronous transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678876#M27296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Could you please mention the board and the example you are using?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Soledad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Jun 2017 21:37:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678876#M27296</guid>
      <dc:creator>soledad</dc:creator>
      <dc:date>2017-06-05T21:37:25Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4370 high speed USB isochronous transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678877#M27297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the LPC Link 2 board with LPC4370. The example is from AudioInputDevice example in&amp;nbsp;nxpUSBlib v0.98&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.lpcware.com/content/nxpfile/nxpusblib-v098" title="https://www.lpcware.com/content/nxpfile/nxpusblib-v098"&gt;nxpUSBlib v0.98 | www.LPCware.com&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The example code has been modified to let it run in high speed mode with appropriate transfer queue head ,transfer descriptor and USB descriptor. I have moved to Ubuntu 14.04.2 for testing. Still can't get it to work in Windows.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Linux, looks like it is possible to go up to 650 bytes x 3 ISO transfer per microframe (15.6 Mbytes/s) on my J1900 Biostar motherboard through the internal Genesys Logic hub. The successful isochronous transfer is done using arecord and is monitored using tcpdump+usbmon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I am still unable to get it to transfer at max rate of 1024 bytes x 3 per microframe. It starts failing for transfer rate higher than about 15.6 Mbyte/s. The LPC side keeps getting transaction/fulfillment error. PC side is not getting any data for USB ISO IN request. This could be due to PC side issues and not the LPC MCU. Unfortunately, I do not have a high speed USB hardware analyzer to see what is going on through the USB cable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Jun 2017 13:13:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678877#M27297</guid>
      <dc:creator>hchew</dc:creator>
      <dc:date>2017-06-06T13:13:18Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4370 high speed USB isochronous transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678878#M27298</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;USB Audio Class 1.0 is shot in the foot.&amp;nbsp; It will *only* work at full speed speeds, even if running over a high speed link.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, try some other isochronous transfers without USB Audio Class 1.0 and it is likely to work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As far as I know, as of mid 2018, XMOS is the only vendor that has a vetted, full duplex, pro-quality USB Audio Class 2.0 system working that can work at high speeds with lots of channels.&amp;nbsp; I'd love it if I were wrong.&amp;nbsp; Somebody please do a proper full-duplex, bit-perfect USB Audio Class 2.0 for LPC or other microcontrollers!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Sep 2018 20:04:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678878#M27298</guid>
      <dc:creator>caleb</dc:creator>
      <dc:date>2018-09-06T20:04:35Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4370 high speed USB isochronous transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678879#M27299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;LPC can actually manage isochronous transfer at 24Mbyte/s. The part that is actually failing is the Linux kernel itself. I belief the same for Windows USB audio driver too.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Sep 2018 10:08:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678879#M27299</guid>
      <dc:creator>hchew</dc:creator>
      <dc:date>2018-09-10T10:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4370 high speed USB isochronous transfer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678880#M27300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I understand LPC can do high speed isochronous transfers.&amp;nbsp; The problem is that the USB Audio Class 1.0 does not support them, which means as long as you're using USB Audio Class 1.0 (which is what *every* vendor exclusively supports except XMOS) you're going to be limited on the host side.&amp;nbsp; It's not a bug, it's how USB Audio Class 1.0 was defined and any host-side drivers that allowed high speed transfers violate the class definition.&amp;nbsp; USB Audio Class 2.0 is much better and supports high speed and perhaps super speed transfers, but only XMOS supports it as far as I have found.&amp;nbsp; Not even Windows has a proper built-in USB Audio Class 2.0 driver -- you need to go through Thesycon to get a USB Audio Class 2.0 driver for Windows.&amp;nbsp; Of course, Linux and Mac support USB Audio class 2.0 natively.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Caleb&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Sep 2018 14:13:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4370-high-speed-USB-isochronous-transfer/m-p/678880#M27300</guid>
      <dc:creator>caleb</dc:creator>
      <dc:date>2018-09-10T14:13:03Z</dc:date>
    </item>
  </channel>
</rss>

