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

USB low-full-high speed peripherals Forum Discussions

jv
Level 1
10 sign-ins 5 replies posted 5 sign-ins
Level 1

Hi,

I'm using the CY7C65215A as a USB-to-I2C bridge for some hardware and a C++ windows application.

I can use vendor or CDC mode, both are working fine with the Cypress APIs.

Now I got a LabView application (made by someone else), that should communicate with my hardware. When using a FTDI chip as USB-to-I2C bridge to my hardware, the app is working. But when I use the CY7C65215A there is no communication.

The designer of the LabView app assured me that it uses standard access to the COM port, so it should work with any chip.

When I sniff the USB I can find the expected data, but on the I2C lines of the CY7C65215A there is no reaction.

Now the question is

- is there something wrong with the COM port driver?

- or is some additional driver needed?

- or does the LabView app need some something special?

 

best regards

0 Likes
1 Solution
Meghavi
Moderator
Moderator 100 solutions authored 10 likes received First like given
Moderator

Hi,

Yes, the Cypress VCP library provides the required APIs to communicate with the device. The Cypress library adds a custom protocol wrapper on top of the Native Serial Communication layer and this protocol wrapper targets I2C and SPI device access using the Cy7C6521xA part.

Regards,

Meghavi

View solution in original post

0 Likes
5 Replies
Meghavi
Moderator
Moderator 100 solutions authored 10 likes received First like given
Moderator

Hi,

Can you please confirm if you are using the driver present in the USB-Serial SDK: https://www.infineon.com/cms/en/design-support/tools/sdk/usb-controllers-sdk/usb-serial-software-dev... ? The CDC driver is present at: \Cypress\USB-Serial SDK\Cypress USB-Serial Driver\DriverBinary\CDC_Driver\bin and the Vendor driver is present at: \Cypress\USB-Serial SDK\Cypress USB-Serial Driver\DriverBinary\Vendor_Driver\bin

Regards,

Meghavi

0 Likes
jv
Level 1
10 sign-ins 5 replies posted 5 sign-ins
Level 1

Hi,

yes, I installed exactly from there.

I think it was then updated, because the version is newer than that from the link.

jv_0-1657174462959.png

 

0 Likes
jv
Level 1
10 sign-ins 5 replies posted 5 sign-ins
Level 1

Maybe some USB data can help to find the problem?

The CY7C65215A is in CDC mode.

My C++ windows application sends a command at the start, that looks like this in a USB analyzer:

jv_0-1657548381387.png

 

some lines later I can see the response from my hardware:

jv_1-1657548439600.png

it's working fine.

Now, using the same COM port, I start the LabView app, that sends a command that looks like this:

jv_2-1657548536679.png

2 lines later the traffic stops, and the CY7C65215A doesn't send any I2C signal.

Is it maybe the content of the message, that causes this behaviour? E.g. the "0d 0a" at the end?

0 Likes
jv
Level 1
10 sign-ins 5 replies posted 5 sign-ins
Level 1

I just got the  information, that the above mentioned "LabView app" is not written with LabView. It's a .NET app, written in C#. 🙄

Sorry for the confusion. But the problem persists, just in another language.

The .NET app uses the SerialPort class of the .NET framework.

In this post https://community.infineon.com/t5/USB-low-full-high-speed/CY7C65215-virtual-com-port-protocol/m-p/68... I found the following:

the user asked: "Since I'm writing a C# .NET application I want to use the SerialPort class and send the byte data myself."

the answer was: "C# can be used to call the C++ VCP APIs for the I2C and SPI virtual COM port implementation."

Do you have to take that to mean that the VCP API must be used instead of the SerialPort class?

 

0 Likes
Meghavi
Moderator
Moderator 100 solutions authored 10 likes received First like given
Moderator

Hi,

Yes, the Cypress VCP library provides the required APIs to communicate with the device. The Cypress library adds a custom protocol wrapper on top of the Native Serial Communication layer and this protocol wrapper targets I2C and SPI device access using the Cy7C6521xA part.

Regards,

Meghavi

0 Likes