Vendor ID, Product ID confusion

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

cross mob
ZhBo_4667106
Level 1
Level 1
5 replies posted 10 sign-ins 5 sign-ins

Hello,

I have been studying this example https://www.cypress.com/documentation/application-notes/an84868-configuring-fpga-over-usb-using-cypr... .

And stuck on some kind of basic theoretical question. In utility source code, there is:

                myDevice = usbDevices[0x04b4, 0x00F1] as CyUSBDevice;              // check for device with VID/PID of 0x04B4/0x1002

                myFX3Device = usbDevices[0x04B4, 0x00F3] as CyFX3Device;

I don't get it. Why there are two devices, if I am connecting superspeed kit. There is only single fx3 chip isn't it. And in the descriptor code for the firmware, there is only 0x00F1 as PID. While 0x00F3 not shown anywhere. From the code, I guess 0x00F3 PID means serial programmer? While 0x00F1 device is just blank device? And I didn't get the comment. 0x1002 PID.

Thanks,

0 Likes
1 Solution
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hello,

The FPGA Configuration Utility checks for two PID's since it checks for both the Cypress FX3 Bootloader Device with PID = 0x00F3 attached or if the FX3 device is re-enumerating after being programmed with the FX3 firmware in the given project folder comes up as  Cypress FX3 USB StreamerExample Device with PID = 0x00F1.

The Cypress FX3 Bootloader device VID and PID of FX3 SuperSpeed Explorer kit are as follows:

pastedImage_0.png

The VID and PID mentioned in the FX3 firmware (Cypress FX3 StreamerExample Device) after programming are as follows:

pastedImage_1.png

Since the utility needs to check for both the devices, hence there's two instances of the CyUSBDevice class.


Regards,
Yashwant

View solution in original post

1 Reply
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hello,

The FPGA Configuration Utility checks for two PID's since it checks for both the Cypress FX3 Bootloader Device with PID = 0x00F3 attached or if the FX3 device is re-enumerating after being programmed with the FX3 firmware in the given project folder comes up as  Cypress FX3 USB StreamerExample Device with PID = 0x00F1.

The Cypress FX3 Bootloader device VID and PID of FX3 SuperSpeed Explorer kit are as follows:

pastedImage_0.png

The VID and PID mentioned in the FX3 firmware (Cypress FX3 StreamerExample Device) after programming are as follows:

pastedImage_1.png

Since the utility needs to check for both the devices, hence there's two instances of the CyUSBDevice class.


Regards,
Yashwant