<?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>8-bit MicrocontrollersのトピックJM60 USB HID transfer speed</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191944#M14768</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;I&gt;I have the DemoJM60 board, running the CMX USB stack&lt;BR /&gt;demo code, patched to echo back 64 byte data packets.&lt;BR /&gt;My PC code is Visual Basic 6 running&amp;nbsp; USBHIDIO.vbp&amp;nbsp; from lvr.com&lt;BR /&gt;which uses the HID driver of XP.&lt;BR /&gt;&lt;/I&gt;&lt;SPAN&gt;I have now increased the report size to 576 bytes , so on receipt of&amp;nbsp; a transaction from the PC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the micro sends 9 transactions (of 64bytes).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This has decreased the total transfer time (mostly due to less OUT transactions from the PC, I guess)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;so I now get 2MByte of data to the PC in 130seconds. This is still very slow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have a (compiled) Visual C program which sends (anything) &amp;amp; recieves data transaction using the HID driver,&amp;nbsp; just to see if Visual Basic is part of the speed problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My other thought:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Reading between the lines on USB transfers, I get the impression that multiple EndPoints data packets&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can/are send in the same transaction (ie the 1 msec blocks). Hence if I have 2 (or more ) endpoints running I would double the transfer speed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this idea correct?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have the micro code for added another endpoint to the CMX demo code? It is&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;way beond my limited C coding ability!...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 07 Oct 2008 04:26:12 GMT</pubDate>
    <dc:creator>donw</dc:creator>
    <dc:date>2008-10-07T04:26:12Z</dc:date>
    <item>
      <title>JM60 USB HID transfer speed</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191944#M14768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;I&gt;I have the DemoJM60 board, running the CMX USB stack&lt;BR /&gt;demo code, patched to echo back 64 byte data packets.&lt;BR /&gt;My PC code is Visual Basic 6 running&amp;nbsp; USBHIDIO.vbp&amp;nbsp; from lvr.com&lt;BR /&gt;which uses the HID driver of XP.&lt;BR /&gt;&lt;/I&gt;&lt;SPAN&gt;I have now increased the report size to 576 bytes , so on receipt of&amp;nbsp; a transaction from the PC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the micro sends 9 transactions (of 64bytes).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This has decreased the total transfer time (mostly due to less OUT transactions from the PC, I guess)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;so I now get 2MByte of data to the PC in 130seconds. This is still very slow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have a (compiled) Visual C program which sends (anything) &amp;amp; recieves data transaction using the HID driver,&amp;nbsp; just to see if Visual Basic is part of the speed problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My other thought:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Reading between the lines on USB transfers, I get the impression that multiple EndPoints data packets&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can/are send in the same transaction (ie the 1 msec blocks). Hence if I have 2 (or more ) endpoints running I would double the transfer speed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this idea correct?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone have the micro code for added another endpoint to the CMX demo code? It is&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;way beond my limited C coding ability!...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 04:26:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191944#M14768</guid>
      <dc:creator>donw</dc:creator>
      <dc:date>2008-10-07T04:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: JM60 USB HID transfer speed</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191945#M14769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;This is equal to about 150K baud.&lt;BR /&gt;For one thing, are you certain that you are not dropping any packets in the code chain.&lt;BR /&gt;I had to do a lot of buffering to insure I did not drop packets.&lt;BR /&gt;If you have not done so, you should put test data in the reports. I used a count pattern, and insured that each packet came in order. I also used a crc ins the last packet across all the data sent.&lt;BR /&gt;&lt;BR /&gt;It is also possible that the hub and or cable you are using are causing retransmission issues - if a packet is bad coming in from the device it will resend it.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2008 17:40:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191945#M14769</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-10-07T17:40:06Z</dc:date>
    </item>
    <item>
      <title>Re: JM60 USB HID transfer speed</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191946#M14770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I am using the DEMOJM eval. board, with its USB cable, and a XP 1.6Ghz laptop, XP sp3.&lt;BR /&gt;So I dont think there is any hardware problem. (The transfer time is constant every time)&lt;BR /&gt;The PC data send increments a count in the data, which is echoed back by the micro.&lt;BR /&gt;So I seem to get all data transfers OK.&lt;BR /&gt;Where did you have to do data buffering? In the PC or micro?&lt;BR /&gt;The micro code Main loop does nothing except wait for packets &amp;amp; send back.&lt;BR /&gt;The PC HID code for recieve does a&lt;BR /&gt;ReadFile&amp;nbsp;&amp;nbsp; then&lt;BR /&gt;WaitForSingleObject&lt;BR /&gt;which seems to work OK.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 04:07:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191946#M14770</guid>
      <dc:creator>donw</dc:creator>
      <dc:date>2008-10-08T04:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: JM60 USB HID transfer speed</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191947#M14771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Are you saying that you code is like (pseudo code);&lt;BR /&gt;&lt;BR /&gt;start:&lt;BR /&gt;Send 64 bytes to USB port&lt;BR /&gt;wait for 64 bytes back&lt;BR /&gt;check the data&lt;BR /&gt;increment some thing&lt;BR /&gt;goto start&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 04:17:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191947#M14771</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2008-10-08T04:17:11Z</dc:date>
    </item>
    <item>
      <title>Re: JM60 USB HID transfer speed</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191948#M14772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Yes that is what I initially did, and got packet sends from the micro every ~12msecs&lt;BR /&gt;giving a transfer rate of ~10k in 7 ses.&lt;BR /&gt;Then I changed the Report Size to 576 bytes and in the micro do:&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp; (incoming data) . */&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hid_report_pending(out_report))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTED_PTED2= ~PTED_PTED2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hid_read_report(out_report, USB_Report_Out);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 1 Send report to PC*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (hid_report_pending(in_report)) ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hid_write_report(in_report,USB_Report_Out); //micom&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hid_process();&amp;nbsp;&amp;nbsp; // This only sends therefore does not need to be polled elsewhere&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 2 Send report to PC*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (hid_report_pending(in_report)) ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hid_write_report(in_report,USB_Report_Out); //micom&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hid_process();&amp;nbsp;&amp;nbsp; // This only sends therefore does not need to be polled elsewhere&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;and repeat above sequence for total of&amp;nbsp; 9 times (64bytes *9= 576) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;This speed transfers up a little. (Probably only because there is less PC OUT commands?)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2008 12:17:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/JM60-USB-HID-transfer-speed/m-p/191948#M14772</guid>
      <dc:creator>donw</dc:creator>
      <dc:date>2008-10-08T12:17:12Z</dc:date>
    </item>
  </channel>
</rss>

