Is there an example with two CDC ports under one USB configuration?

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

cross mob
IzMa_4105896
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

I'm having problems getting this working and I'm wondering if there is a working example with this configuration?

Ultimately I am trying to put together an application with two CDC USB ports (a CDC to UART bridge and debug port) and a GPIF II USB interface all under one configuration. 

0 Likes
1 Solution

Hello Iztok,

- Use the UsbUart example as the base firmware. Add additional CDC interface onto this firmware by modifying the descriptor information. Ensure that the configuration descriptor length is modified accordingly. This should enumerate the device as two CDC interfaces, which can be seen as 2 COM ports on the host.

- Configure the additional endpoint(s) used for the second CDC interface. Create a new DMA channel between FX3 CPU socket and USB socket and configure the same.

- Data can now be committed from the FX3 CPU over the second DMA channel to be sent over the host PC.

Please test and let me know if you are facing issues while doing these.

Best regards,

Srinath S

View solution in original post

0 Likes
3 Replies
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

Please let me know more details on your implementation since FX3 has got only one UART block. So, how are you planning to have the second UART interface? Is it through a bit-banged firmware implementation of is it something different?

Best regards,

Srinath S

0 Likes

Hi Srinath,

Only one CDC USB port is a bridge to the UART. This is similar to the UsbUart SDK example.

The other CDC USB port is used for debugging only and is only connected to the FX3’s CPU, not the UART. CyU3PDebugPrint calls will be redirected to the debug port and the user will be able to query the FX3 firmware for some simple state information similar to the CDC_BulkLoop example from the SuperSpeed Device Design By Example book.

Thanks,

Iztok

0 Likes

Hello Iztok,

- Use the UsbUart example as the base firmware. Add additional CDC interface onto this firmware by modifying the descriptor information. Ensure that the configuration descriptor length is modified accordingly. This should enumerate the device as two CDC interfaces, which can be seen as 2 COM ports on the host.

- Configure the additional endpoint(s) used for the second CDC interface. Create a new DMA channel between FX3 CPU socket and USB socket and configure the same.

- Data can now be committed from the FX3 CPU over the second DMA channel to be sent over the host PC.

Please test and let me know if you are facing issues while doing these.

Best regards,

Srinath S

0 Likes