Slave FIFO + UART Driver Setup

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

cross mob
MaPo_1297961
Level 1
Level 1
First like given

Hello!

I want to use Slave FIFO and UART within single FX3 firmware, so I've merged two well-known Cypress examples, combine descriptors, so on. I use 0x00F1 as product ID.

Driver setup is very tricky:

1) initially my board was displayed as a Composite USB Device in the Device Dispatcher

2) I've modified cyusb3.inf by adding string

%VID_04B4&PID_00F1.DeviceDesc%=CyUsb3, USB\VID_04B4&PID_00F1&MI_00

I saw StreamerExample in Device Dispatcher after that update, but there was no COM port yet.

3) I've modified CypressSerial.inf by adding string

%CypressSerial% = CypressSerial.NTamd64,Ports\VID_04B4&PID_00F1&MI_01

I got two COM ports with that update.

I did not check UART yet, but Slave FIFO works good.

So, my questions:

1) is the procedure, described above, normal/usual with FX3  or not? Are there any less tricky ways to reach the same?

2) why do two COM ports appear, but not one? Are both of them functional or not? If no, which of them should I use?

Many thanks!

With regards,

Maksim

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.

Hello Maksim,

I had not added the CDC functionality in firmware that i had attached in my previous response. I had just changed the descriptor file. For CDC functionality .c file need to be changed accordingly to handle the CDC

You shouldn't get two Com Ports when FX3 is programmed: One should be as Cypress Fx3 Streamer Device and one Serial Com Port. Please use fresh driver files before testing and not the one that you modified.

I have tested this firmware on both High speed and Super speed

These are the steps you need to follow:

- Please load the attached firmware (with CDC functionality added). I have combined usbuart sdk example with slavefifosync firmware.

the #define cdc enables switching between slavefifo and slavefifo + cdc

- Check the Device manager - uninstall the device (with yellow mark)

- Program the FX3 again  - FX3 will be seen under other devices - and a serial port will be seen under Port (COM & LPT)

- You need to bind FX3 with Cyusb3 driver  (choose Cypress Fx3 Streamer Device)  and serial port with Cypressserial driver

- You can see FX3 as Cypress Fx3 Streamer Device and one Serial Com Port

-Now as per the functionality of usbuart SDK example and Slavefifo:

  -The fx3 will have functionality of Slavefifo

  - The second functionality will be as serial com port

The UsbUart example is have channel from usb to uart and uart to usb. So connect the uart pins or use int integrated debugger (if using CyUSB3Kit-003 explorer kit).

- Open two windows of teraterm : one with FX3 as CDC and other with the uart lines.

- Try transferring data.

Please find the attached results of my tests

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
15 Replies