PORTS Forum
Ports and Interfaces => USB => Topic started by: Jan Axelson on November 19, 2013, 10:40:12 am
-
WinUSB now supports isochronous transfers (Windows 8.1 and later):
http://msdn.microsoft.com/en-us/library/windows/hardware/dn376866%28v=vs.85%29.aspx
-
pls i'm on my final yr project on:data transfer from usb flash to usb flash without PC
in my schl we don't the ARM9 processor except the PIC mcu, i wish to know if there is any
PIC that i cn use in place of the ARM
-
Use a PIC that can function as a USB host. Write firmware that copies data from one flash drive to another.
-
Get back to the original post,
WinUsb_WriteIsochPipe(Asap) takes a "transfer", and it splits the "transfer" into transactions of MPS (Max Packet Size), like bulk/interrupt transfer.
http://msdn.microsoft.com/en-us/library/windows/hardware/dn265568(v=vs.85).aspx
WinUsb_WriteIsochPipe packetizes the transfer buffer so that in each interval, the host can send the maximum bytes allowed per interval.
On the other hand, WinUsb_ReadIsochPipe(Asap) takes USBD_ISO_PACKET_DESCRIPTOR array, like orthodox Isoc API implementation, which allows different size of each packet (transaction).
This MPS restriction of WinUsb_WriteIsochPipe(Asap) is not practical for Audio/Video applications. I'm not sure, why MS WinUSB team would decide this asymmetry.
I believe they should add WinUsb_WriteIsochPipe(Asap)Ex soon, at the next revision ;-)
Tsuneo
-
Maybe so they can say it support isochronous even if it's not full support...