USB composite device with PSOC 5

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
greg79
Level 4
Level 4
25 replies posted 25 sign-ins 10 replies posted

At the risk of sounding ignorant, can one create a composite audio, MIDI and serial USB interface with PSOC 5? 12 Mbps seems plenty but I wonder if there are any limitations.  Thank you for your kind answers in advance.

0 Likes
1 Solution
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello @greg79 ,

It should be possible to develop a USB Composite device consisting of audio and serial USB interface (by which I think you mean CDC Class) with PSOC 5.

The following document  describes how a composite device descriptor can be created: Implementing-USB-Composite-Device-with-PSoC-3-PSoC-4L-or-PSoC 5LP

You would need to use the  Interface Association Descriptor (IAD) which is used to describe two or more interfaces (audio and CDC in this case) that are associated with a single device function. More details on IAD configuration can be found in the following document: USB Interface Association Descriptor

The audio class would require you to use isochronous transfers (that have pre-negotiated bandwidth on the bus) that would happen continuously if there is data to send. On the other hand, CDC class will support Bulk transfers which will happen only when some bandwidth is available on the bus. In this case therefore the delivery time varies depending on how much bandwidth on the bus is available.

Best Regards
Ekta

View solution in original post

2 Replies
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello @greg79 ,

It should be possible to develop a USB Composite device consisting of audio and serial USB interface (by which I think you mean CDC Class) with PSOC 5.

The following document  describes how a composite device descriptor can be created: Implementing-USB-Composite-Device-with-PSoC-3-PSoC-4L-or-PSoC 5LP

You would need to use the  Interface Association Descriptor (IAD) which is used to describe two or more interfaces (audio and CDC in this case) that are associated with a single device function. More details on IAD configuration can be found in the following document: USB Interface Association Descriptor

The audio class would require you to use isochronous transfers (that have pre-negotiated bandwidth on the bus) that would happen continuously if there is data to send. On the other hand, CDC class will support Bulk transfers which will happen only when some bandwidth is available on the bus. In this case therefore the delivery time varies depending on how much bandwidth on the bus is available.

Best Regards
Ekta

greg79
Level 4
Level 4
25 replies posted 25 sign-ins 10 replies posted

Thank you for your reply!

0 Likes