cancel
Showing results for 
Search instead for 
Did you mean: 

USB Low-Full-High Speed Peripherals

IzMa_4105896
New Contributor

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
SrinathS_16
Moderator
Moderator

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

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
IzMa_4105896
New Contributor

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
SrinathS_16
Moderator
Moderator

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