> On 19 Sep 2015, at 01:52, Brian Willoughby <[email protected]> wrote:
> 
> I am developing a USB Device which samples data in real time (5 kHz), but 
> does not have enough internal memory to buffer more than a few milliseconds 
> of data. The USB Communications Device Class specification allows for 
> Isochronous endpoints in the DCI, and this seems like the correct solution to 
> avoid data loss due to the nature of Bulk endpoints as not having guaranteed 
> scheduling.


Hi,

I'm by no means expert on this but here are a few random thoughts.

Isochronous guarantees bandwidth but not delivery AFAIK, so you may still loose 
data. If you can tolerate that loss you should be able to tolerate occasional 
breaks in the bulk transfer (if any).

I've used USB CDC ACM (with PIC) and never seen appreciable pauses in the 
communication. IIRC I did a test (on Mac OS X) that allowed me to transfer some 
+900 kB/sec of data using bulk transfers and CDC ACM. Mind you that used up all 
of the PIC USB RAM (PIC18F4550).

Of course it is not guaranteed but in any case nothing is guaranteed because 
the OS is not a realtime anyway.

I'm not sure if you can have isochronous endpoints with CDC ACM on any platform.

The lack of isochronous examples indicates that there are a very few legitimate 
use cases for it beyond what the operating systems provide i.e. video.

I hang around at [email protected] and the folks there seems 
to know quite a lot about, well everything USB related. So you might pose the 
question about you descriptors there. 

just my 2 snt worth, cheers Kusti






 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to