<?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>LPCXpresso IDEのトピックRe: LPC1343 USB Isochronous mode?</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569640#M19792</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by itdaniher on Mon Mar 21 08:56:05 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Bruno,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have the code for your project available? I would like to use isochronous transfers with the LPC1343 for a project I'm working on.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;--&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ian&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:49:41 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:49:41Z</dc:date>
    <item>
      <title>LPC1343 USB Isochronous mode?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569638#M19790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by BrunoF on Thu Aug 26 16:14:27 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello There.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I own a LPCXPRESSO with a LPC1343 on it. Im trying to get 4mbps from the USB module, but i get stucked when trying to make an isochronous transfer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There's no example about it. There are examples of both: bulk and interrupt transfer modes(using CDC,MSC and HID classes) but no one about isochronous. :mad:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, i first tried modifying the HID example in code-red to work with isochronous. Then i tried adding an isochronous endpoint to the original current HID, without removing the HID original endpoint. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;First attempt(removing HID endpoint and changing the descriptors to an isochronous one) seems to fail during initialization according to what i can see with SnoopyPro and other sniffer software. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; When Host asks for SELECT_CONFIGURATION, it seems that the device didnt return anything, so Host retrys with same result and ignores any further comunication.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Second attempt supposedly initializes ok. One HID IN endpoint(logical 1 address) and one&amp;nbsp; ISOCHRONOUS IN endpoint(logical 4 address).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; The interrupt transfer, associated with HID class works ok, as the original example, but there are no isochronous transfers at all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, i know, im really ignoring something in the uC code, and maybe something in the PC side too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I changed the line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define USB_SOF_EVENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;in the usbcfg.c HID example file to &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define USB_SOF_EVENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;to activate Start Of Frame Event, that should be associated with isochronous transfers. Then i change the USB_SOF_Event() function to send an isochronous packet every 1ms. &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;uint8_t&amp;nbsp;&amp;nbsp;&amp;nbsp; DataOut[512];

#if USB_SOF_EVENT
void USB_SOF_Event (void) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t i;
&amp;nbsp;&amp;nbsp;&amp;nbsp; static uint32_t counter;

&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;512;i++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataOut&lt;I&gt; = i;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; if(USB_Configuration) USB_WriteEP(0x84, &amp;amp;DataOut[0], 512);
}
#endif&lt;/I&gt;&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;But nothing happens. I cant get it. Looking at the code in "usbcore.c" function descriptions seems that only allows logic endpoints in the range of [0 to 3], so, isochronous transfers cant be handled that way?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What im missing? Im writing incorrectly to the isochronous endpoint? How can i activate the isochronous pipe? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S. Sorry, my english isnt very fluid.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for reading...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:49:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569638#M19790</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1343 USB Isochronous mode?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569639#M19791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by BrunoF on Mon Aug 30 22:10:15 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Made it! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4mbps from PC to the ARM...:D&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks anyway.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:49:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569639#M19791</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:49:40Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1343 USB Isochronous mode?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569640#M19792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by itdaniher on Mon Mar 21 08:56:05 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Bruno,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have the code for your project available? I would like to use isochronous transfers with the LPC1343 for a project I'm working on.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;--&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ian&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:49:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569640#M19792</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:49:41Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1343 USB Isochronous mode?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569641#M19793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by larryvc on Mon Mar 21 09:28:15 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: BrunoF&lt;/STRONG&gt;&lt;BR /&gt;Made it! &lt;BR /&gt; &lt;BR /&gt;4mbps from PC to the ARM...:D&lt;BR /&gt; &lt;BR /&gt;Thanks anyway.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What did you do to make it work?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:49:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569641#M19793</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:49:41Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1343 USB Isochronous mode?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569642#M19794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by claire chen on Sat Dec 17 03:42:38 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello~&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I use LPC1343 Isochronous mode and it can enter "FRQ" mode~&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As below~ But nothing happen, why?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;"USB_WriteEP" is right for Isochronous mode???&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void USB_FIQHandler( void )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint32_t disr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; disr = LPC_USB-&amp;gt;DevIntSt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Device Interrupt Status */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_USB-&amp;gt;DevIntClr = disr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (disr &amp;amp; FRAME_INT) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; USB_WriteEP(0x84, (uint8_t *)&amp;amp;InReport, sizeof(InReport));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:49:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569642#M19794</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:49:42Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1343 USB Isochronous mode?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569643#M19795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by BrunoF on Wed Mar 20 00:38:28 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh, im really sorry.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I didn't knew i was receiving posts. Im currently working with Isochronous again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In that moment it wasn't working because i was missing the first rule of USB: [B]All transactions are initialized by the Host[/B].&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, i was sending an&amp;nbsp; Isoc IN packet, but the Host wasn't listening to it (no pipe handler opened). So, i wrote a simple software in Host side(PC) that creates the handler, and data began to arrive without problems. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now i need the opposite: Isoc OUT packets. It works, but i don't know why its missing the first frame (512 byte packet). First time i send a multi-frame packet works ok, but then it wont receive the first frame again. I patched this by software, just sending the first 512 bytes with dummy data, and creating a signature in the second frame to identify the package begining, but i would like to fix this. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I do have the code for OUT transactions. I think i lost the code for IN transactions. But IN transactions are even easier.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@claire chen&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Two years later, here i go:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using FIQ (USB high priority) is pretty similar to using IRQ (USB low priority),&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;just make sure you have:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;USB_SOF_EVENT and USB_FIQ_EVENTset&amp;nbsp; to 1 in usbcfg.h file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and of course, you will need a proper usb descriptor, declaring EP 0x84 as Isoc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Be sure your USB is configured before trying writing/reading to/from an endpoint, checking for USB_Configuration variable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Remember that EP numbers for Isoc are fixed(0x04 (OUT) and 0x84 (IN)) and size is fixed too: 512 bytes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, max speed per EP for this device is 512 bytes in 1ms frame intervals. That's 4mbps(512kBps).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With LPC1768/69 you could achieve almost 8mbps(1023kBps).&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 23:49:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1343-USB-Isochronous-mode/m-p/569643#M19795</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:49:42Z</dc:date>
    </item>
  </channel>
</rss>

