A pic is providing the endpoint, so it's also PIC related. I read about interrupt xfers in the USB spec and would like to confirm my understanding. For an int endpoint you specify a packet size, and the frame interval. So for a packet size of 64 bytes (FS max) and an interval of 1 frame (1 frame=1ms) you are guaranteed (64*1000)=64,000 bytes per second of throughput. Depending on bus traffic, you may get more than one packet per frame, up to 90% of the available bytes in a frame. A frame is 1500 bytes but some of these are for packet overhead and spacing. That plus the 90% limit means you can get as many as 19 64 bit packets in a frame, resulting in a max possible bandwidth of (64*1000*19)=1,216,000 bytes per second Finally, for a protocol converter (protocol X to USB), if protocol X is up to 40 kbits/sec, then I should choose a packet size of 8 bytes and a frame interval of 1, resulting in (8*1000*8)=64,000 bits per second on USB. The small packet plus low frame interval reduces buffer requirements in the PIC. Does the above look right? thanks, --steve ------------------- Steve Ravet ARM steve.ravet@arm.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist