<?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: imxrt1064 USB video bit rate in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098563#M9824</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your question, the RT1064 is capable of sending a 640 x 480 image through USB at 30 fps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 May 2020 22:03:27 GMT</pubDate>
    <dc:creator>victorjimenez</dc:creator>
    <dc:date>2020-05-05T22:03:27Z</dc:date>
    <item>
      <title>imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098562#M9823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have been experimenting with USB video lately and I would like to know if a imxrt 1064 can stream video over USB at 30 FPS for an uncompressed image with the resolution 640 x 480 (16 bit per pixel). If not - can it be achieved using another data format (say, MJPEG)?&lt;/P&gt;&lt;P&gt;To demonstrate: Using YUYV, an image as specified above yields 0.8 FPS. However, if I set the resolution to 320 x 240 instead the FPS jumps to 3.24.&lt;/P&gt;&lt;P&gt;Can this device do better?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Apr 2020 13:20:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098562#M9823</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-04-30T13:20:56Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098563#M9824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your question, the RT1064 is capable of sending a 640 x 480 image through USB at 30 fps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 May 2020 22:03:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098563#M9824</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-05T22:03:27Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098564#M9825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi and thanks for your reply,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you elaborate on how this can be done?&lt;/P&gt;&lt;P&gt;Obviously I'm doing something wrong, but I have no idea how to boost data transfer. Can you help me with this? Let's take your video over USB demo program as an example - it sends out a MJPEG with the resolution of 176x144 at 30 FPS. Can you change this program to send out an MJPEG at 640x480 at 30 FPS? I tried, but then the FPS falls dramatically (in addition to visual distortions which are obvious because I did not change the image size, but that is not important for this experiment).&lt;/P&gt;&lt;P&gt;I have attached a very similar mcuXpresso program that sends out video over USB at 320x240 using YUYV, but it manages only 3.2 FPS. It is very similar to the demonstration program NXP provides.&lt;/P&gt;&lt;P&gt;Can you point out how to boost the FPS&amp;nbsp;of this program or any other?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2020 06:34:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098564#M9825</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-06T06:34:29Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098565#M9826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked with the applications team and a while ago they developed a UVC demo working at 30fps. This demo is for the RT1050-EVKB and it's was developed using IAR IDE. Although&amp;nbsp;you are&amp;nbsp;using a different RT and probably a different IDE, you can use this project to see all the configurations that they need to made to work at 30fps.&amp;nbsp;I already sent the project to your distributor so he can send it to you directly. Let me know if you don't receive it and I will send it to you.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 May 2020 17:41:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098565#M9826</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-06T17:41:34Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098566#M9827</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, that's very kind. I'm looking forward to receiving it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 May 2020 06:46:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098566#M9827</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-07T06:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098567#M9828</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Victor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I received the sample and I'm studying it now. Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 May 2020 09:43:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098567#M9828</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-07T09:43:45Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098568#M9829</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Victor,&lt;/P&gt;&lt;P&gt;The program you provided indeed delivers 30FPS.&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I do have some comments and questions remaining:&lt;/P&gt;&lt;P&gt;1. I have noted that the USB interrupt is blocked until a full frame has been received from CSI. This behavior makes the code as it is unsuitable for production purposes when the main loop / OS task must do timely work. Is it possible to postpone the work of the USB ISR so that it can be executed in the main loop / task (i.e. if the main loop is expected to send out the data and not the ISR, this will happen _after_ the ISR processing by the CPU has finish - which may be unacceptable).&lt;/P&gt;&lt;P&gt;2. I tried to replicate this blocking behavior but somehow the CSI peripheral stopped generating interrupts. The buffer queue to CSI filled up after only a few insertions into it, because somehow the CSI stopped reporting that an frame was available. However, the same blocking code, if executed outside the ISR, does not stop the CSI and it keeps on generating interrupts. CSI interrupt priority is 0 which is higher than USB's 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any comments will be very much appreciated!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 May 2020 13:18:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098568#M9829</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-08T13:18:56Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098569#M9830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm glad to hear that the example project was useful for you. I will reach to the applications team to see if they have any additional information regarding this example project that might help answer your questions. I will give you an update as soon as possible. Thanks a lot for your patience.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 May 2020 21:55:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098569#M9830</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-12T21:55:57Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098570#M9831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Victor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I managed to get my controller to deliver video data (640x480x2) at 13.28 FPS. Trying to increase this by enabling 1 or 2 extra 1024 byte transactions (as your demonstration program does) always yields errors on the USB bus (so, I can deliver up to 1024 bytes per 125[us]). In order to get this to work, I programmed "wMaxPacksize" with the right bit pattern, and delivered 3072 bytes via the USB ISR. The device enumerates and video delivery is commenced, but now and then there is a piece of the image that is corrupt which breaks everything. Did I miss a step in adjusting my program to deliver more data?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 May 2020 11:48:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098570#M9831</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-18T11:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098571#M9832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your previous reply, you mentioned the following:&amp;nbsp;&lt;EM&gt;The program you provided indeed delivers 30FPS.&amp;nbsp;&lt;/EM&gt;But now you are saying that the example project doesn't work properly, could you please clarify this?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, regarding your requirement to postpone the work of the USB ISR so that it can be executed in the main loop. I discussed this with the applications team and they modify the example that your distributor sent you before to match this new requirement. I already send this example to your distributor so he can send it to you.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 May 2020 17:37:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098571#M9832</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-18T17:37:43Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098572#M9833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Victor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the effort - I very much appreciate this.&lt;/P&gt;&lt;P&gt;Regarding your request for clarifications - my apologies, I should have explained the situation better.&lt;/P&gt;&lt;P&gt;Your demonstration program works fine on a MIMXRT1050 and I understand how it works. It takes advantage of 2 extra 1024 byte transfers available to USB high speed connections. It does&amp;nbsp;so&amp;nbsp;by setting the right values in the wMaxPacketSize field, as the specification requires. That allows this program to deliver 3072 bytes per 125us which translates to 30 FPS.&lt;/P&gt;&lt;P&gt;I'm working with the MIMXRT1064, so I simply&amp;nbsp;replicated what I hoped are equivalent&amp;nbsp;settings in my program with the hope to achieve the same bit rate. Alas, I cannot deliver more than 1024 bytes per 125us without bus errors, using either our hardware or NXP's evaluation board. I wonder if there is a detail I forgot - I though setting the maximum packet size of 1024 bytes, enabling the proper bits in wMaxPacketSize and actually delivering the data would be sufficient to reach the data rates I need but alas... I guess the question can be formulated simply as follows: If I would depart from the video demo provided with the SDK for the 1064, what do I need to do to make&amp;nbsp;it capable of high speed transfers (read: delivering 3072 bytes per 125us / USB interrupt)?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 May 2020 19:10:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098572#M9833</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-18T19:10:01Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098573#M9834</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you so much for the detailed information! I will check this with the engineer who created this demo project. I will get back to you as soon as possible. Thank you for your patience.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 May 2020 20:26:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098573#M9834</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-18T20:26:05Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098574#M9835</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I received the following response from the engineer who created this demo project: "&lt;EM&gt;The example code I shared with you can run on RT1064-EVK without any modification. I have validated that.&lt;/EM&gt;"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 May 2020 15:30:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098574#M9835</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-21T15:30:38Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098575#M9836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Victor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your response.&lt;/P&gt;&lt;P&gt;I understand that, but what I'm really interested in is why, if I replicate the elements from the sample _I think_ should guarantee up to 3072 bytes worth of video data per 125 us, I get errors on the host side if I exceed 1024 bytes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To be pin-point precise:&lt;/P&gt;&lt;P&gt;Using your own video sample (SDK v2.7.0), in the file "usb_device_descriptor.h", why does the host generate errors and display no video if I set the value&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define HS_STREAM_IN_PACKET_ADDITIONAL_TRANSACTION (0U)&amp;nbsp; /* MAX Value is 2U*/&lt;/P&gt;&lt;P&gt;to 1 or 2,&lt;/P&gt;&lt;P&gt;and in addition&lt;/P&gt;&lt;P&gt;#define HS_STREAM_IN_PACKET_SIZE (1024U) // instead of 512&lt;/P&gt;&lt;P&gt;and change nothing else at all in the sample?&lt;/P&gt;&lt;P&gt;Can you please ask your engineer to do those changes on the standard SDK (v2.7.0) video example, and tell you what additional changes he had to do to get them to work with a host (i.e. the host displaying the video)?&lt;/P&gt;&lt;P&gt;The example we got from you was built using IAR so there may be something I'm missing here (we only use mcuXpresso). Can you please ask the engineer you mentioned _how_ he would go about transforming one of the standard SDK examples to deliver more data per unit time (3072 bytes per 125us) ?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 May 2020 12:26:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098575#M9836</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-22T12:26:20Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098576#M9837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To use more that one data packets per micro-frame the endpoint descriptor must advertise this (I think that you identified that with the HS_STREAM_IN_PACKET_ADDITIONAL_TRANSACTION() setting of 2 (meaning send 2 additional data packets).&lt;/P&gt;&lt;P&gt;In the HS USB header setting you also need the MULT field set to match:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/99796i470915A1F59AC697/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Overall the data rate and the ISO data settings must match otherwise the host may refuse to do anything (the same can be see with audio class settings that define a certain bandwidth and endpoint settings that then advertise values that would request much more than needed for the advertised payload - such details are not visible but hosts probably do some rough sanity checks and if the payload settings advertise 1MB and the endpoints request 24MB of bandwidth it presumably refuses to work (with or without error messages).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 May 2020 16:31:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098576#M9837</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-05-22T16:31:27Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098577#M9838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark and thanks for your reply,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I believe the value for the "mult" field is taken care of in "usb_device_ehci.c", here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;USB_DeviceEhciEndpointInit()&lt;/P&gt;&lt;P&gt;......&lt;/P&gt;&lt;P&gt;if (USB_ENDPOINT_ISOCHRONOUS == transferType)&lt;BR /&gt; {&lt;BR /&gt; if (maxPacketSize &amp;gt; USB_DEVICE_MAX_HS_ISO_MAX_PACKET_SIZE)&lt;BR /&gt; {&lt;BR /&gt; maxPacketSize = USB_DEVICE_MAX_HS_ISO_MAX_PACKET_SIZE;&lt;BR /&gt; }&lt;BR /&gt; ehciState-&amp;gt;qh[index].capabilttiesCharacteristicsUnion.capabilttiesCharacteristicsBitmap.mult =&lt;BR /&gt; 1U + ((epInit-&amp;gt;maxPacketSize &amp;amp; USB_DESCRIPTOR_ENDPOINT_MAXPACKETSIZE_MULT_TRANSACTIONS_MASK) &amp;gt;&amp;gt;&lt;BR /&gt; USB_DESCRIPTOR_ENDPOINT_MAXPACKETSIZE_MULT_TRANSACTIONS_SHFIT);&lt;BR /&gt; }&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;where&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;USB_DESCRIPTOR_ENDPOINT_MAXPACKETSIZE_MULT_TRANSACTIONS_MASK = 0x1800&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;and&amp;nbsp;&lt;SPAN style="background-color: #f6f6f6;"&gt;USB_DESCRIPTOR_ENDPOINT_MAXPACKETSIZE_MULT_TRANSACTIONS_SHFIT = 11&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my fundamental problem:&lt;/P&gt;&lt;P&gt;I have a program the streams over USB at 13.28 FPS with a packet size of 1024 bytes. I can slow it down by sending less data per 125 us without issues. However, once I dare to set the value of "HS_STREAM_IN_PACKET_ADDITIONAL_TRANSACTION" to 1 or 2 the video signal is lost, even if I send out up to 3072 bytes per interrupt. Is this a pure timing issue? What I see happening in practice is no video frames are detected _at all_ by the host.&lt;/P&gt;&lt;P&gt;It is allowed to "throttle" the FPS by adjusting the amount of data delivered per microframe? For example, assuming an image dimension of 640x480x2, delivering up to 2340 bytes per 125us should yield 30FPS. However, an IAR&amp;nbsp;example program created for the 1050 delivers up to the maximum amount of 3072 bytes per 125us only to block in the ISR waiting for the next image to come in from the camera. But one might as well simply "spread" the video data over the entire 33ms needed to reach 30FPS, rather then the 25ms the example employs, followed by a wait period (the block I mentioned above). Is such a policy of "speading" the data principally acceptable?&lt;/P&gt;&lt;P&gt;If you have access to a MIMXRT1064-EVK you can very easily reproduce this problem as I pointed out in a post above using NXP SDK video over USB examples (only a very limited number of changes are needed, also demonstrated above. You could even use example code our contact person should have delivered to NXP some days ago - a program that does not even need a camera to demonstrate the problem). Could you or&amp;nbsp;somebody else please help me understand why this is happening? It is perfectly possible that there is no firmware problem at all and that the SDK's video-over-usb sample blocking in USB interrupt waiting for an image is the "solution", but then I'd expect that similar artifical delays I tried (just to get an image) would yield a similar result but they don't.&lt;/P&gt;&lt;P&gt;I would like to point out that even if my controller sends out a frame per 33ms I see no image on the host side. I have verified this with a scope, using the "data throtteling" method I mentioned above.&lt;/P&gt;&lt;P&gt;The fact of the matter is that the product will have to be redesigned unless I get this to work soon...&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 May 2020 13:38:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098577#M9838</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-23T13:38:20Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098578#M9839</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;BR /&gt;I don't have access to the example project that you have referred to but I do know the HS USB video example that is included in SDK and is the same for all processors (generally whether running on an i.MX RT 1050 or i.MX RT 106x should not be any different since the USB controllers and thus the drivers are identical).&lt;BR /&gt;The example in the SDK use an interrupt on each micro-frame, which is OK when this is the only operation and the work to prepare the data is quick. But in general cases, especially when the camera's data needs to be pre-processed and clock synchronisation between camera and USB host clock domains are needed it a more efficient solution based on using chained USB descriptors is advisable - maybe the example project uses this (?)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In cases of difficulties the cause could be at various points including possibly not keeping up with the USB ISO IN rate as more data is to be prepared (higher frame rate or larger images) so generally saying what needs to be fixed is not possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I ave attached a slide showing the handling of isochronous audio or video data in the uTasker project, which allows simple 192MBit/s throughput with very little processor loading (based on USB circular buffer descriptor chaining) which gives a reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 May 2020 14:13:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098578#M9839</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-05-26T14:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098579#M9840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a couple of questions just to be sure that I understood correctly the changes that you are making&amp;nbsp;to the SDK example.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The only two changes that you are making is setting HS_STREAM_IN_PACKET_ADDITIONAL_TRANSACTION to 2 and&amp;nbsp;HS_STREAM_IN_PACKET_SIZE to 1024, correct?&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;When you make these two changes the SDK example project stops working at all, correct?&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Are there any other changes that you have made to the example to&amp;nbsp;achieve&amp;nbsp;the 30fps?&amp;nbsp;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Just to confirm, are you using the dev_video_virtual_camera_bm example?&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 May 2020 23:26:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098579#M9840</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-26T23:26:17Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098580#M9841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Victor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;&lt;EM&gt;- "The only two changes that you are making is setting HS_STREAM_IN_PACKET_ADDITIONAL_TRANSACTION to 2 and&amp;nbsp;HS_STREAM_IN_PACKET_SIZE to 1024, correct? "&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Yes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;&lt;EM&gt;- "When you make these two changes the SDK example project stops working at all, correct? "&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;Yes.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;&lt;EM&gt;- "&lt;SPAN style="background-color: #ffffff;"&gt;Are there any other changes that you have made to the example to&amp;nbsp;achieve&amp;nbsp;the 30fps?"&lt;/SPAN&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;1. Replaced&amp;nbsp;the blockage of the USB ISR (as it waits for the camera ISR) with a balanced data payload delivery per interrupt (without blocking; see (*) below) to allow me to reach 30 FPS (in my case that is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;2340 bytes: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;2340 bytes/125us = 18720 bytes/ms, or 18720000 bytes/second ~ 640*480*2*30 = 18432000 bytes/second = payload 30 FPS).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2. I've set HS_STREAM_IN_INTERVAL to 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;&lt;EM&gt;- "Just to confirm, are you using the dev_video_virtual_camera_bm example?"&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;Yes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;Thanks again for your assistance.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;Tamir&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;(*) By only adjusting the value of&amp;nbsp;&lt;SPAN style="color: #3d3d3d;"&gt;HS_STREAM_IN_INTERVAL to 1 (i.e. leaving &lt;SPAN style="color: #51626f; border: 0px;"&gt;&lt;EM&gt;HS_STREAM_IN_PACKET_ADDITIONAL_TRANSACTION set to 0)&lt;/EM&gt;&lt;/SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;of I can deliver 1024 bytes/interrupt without blocking the USB ISR yielding 13.28 FPS: &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;1024 bytes/125us = 8192 bytes/ms = 8192000 bytes/sec&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;8192000/(640*480*2) = 13.33 FPS&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 May 2020 06:31:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098580#M9841</guid>
      <dc:creator>tamir_michael</dc:creator>
      <dc:date>2020-05-27T06:31:47Z</dc:date>
    </item>
    <item>
      <title>Re: imxrt1064 USB video bit rate</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098581#M9842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tamir,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for answering my questions! I'm currently checking this with the applications team and I will give you an update as soon as possible.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Victor&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 May 2020 17:50:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/imxrt1064-USB-video-bit-rate/m-p/1098581#M9842</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2020-05-27T17:50:07Z</dc:date>
    </item>
  </channel>
</rss>

