This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LPC1769 USB DMA Mode

Hi,
I am currently using IN EP3 of the LPC1769 to realize Isochronous transactions to the Host. I have configured the this endpoint in the DMA mode

 LPC_USB->EpDMAEn   = 0x80;

I enable the DMA on the EP when I receive the Set Interface command from the Host. However, I see that the EpDMAEn does not change its value to 0x80 as desired (this could probably be because the register is Write Only, but I am not sure).
Please can someone let me know the conditions under which the DMA mode for the EP would get disabled?

In order to get around this problem I write to the above register everytime I create a DMA Descriptor. Is this a good method? Many time we end up loosing bytes of information on the host but I am not sure if it is actually because of this.

Any help in this regard would be much appreciated.

Thanks very much.

Regards,
Shaunak

Parents
  • I recommend you bulk transfer, instead of isoc, for your custom driver.

    On isoc, the camera clock timing should be synchronized to the bus frame timing,
    so that the packet of each USB frame is kept formatted.
    Running on bulk, this restriction is removed. Also, bulk transfer makes the timing on the firmware easy, because bulk IN endpoint is polled by host frequently.

    UVC spec also allows bulk pipe for video streaming EP.

    Tsuneo

Reply
  • I recommend you bulk transfer, instead of isoc, for your custom driver.

    On isoc, the camera clock timing should be synchronized to the bus frame timing,
    so that the packet of each USB frame is kept formatted.
    Running on bulk, this restriction is removed. Also, bulk transfer makes the timing on the firmware easy, because bulk IN endpoint is polled by host frequently.

    UVC spec also allows bulk pipe for video streaming EP.

    Tsuneo

Children
No data