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

USB low-full-high speed peripherals Forum Discussions

tlclem
Level 1
Level 1
First reply posted First question asked First like given

I'm having some issues getting I2C communication working using the CY7C65211A. Using the configuration utility, I am able to set the mode to I2C and the protocol to CDC such that the part presents as a USB-serial virtual COM port. I am currently running in Windows and am able to see the device in Device Manager. It seems, however, that there is no activity on the clock or data lines coming out of the part when I attempt to send data over the COM port in Windows via a Powershell script (I have verified with an oscilloscope that no activity occurs on either line when attempting to write data).

One thing I noticed is that there are some discrepancies between the datasheet for the part, the user guide for the configuration utility, and the configuration utility itself in terms of the product IDs.

According to the part datasheet, the product ID for the 65211A should be 0x00FB. The user guide for the configuration utility shows in Table 2-2 that the PID for the 65211A, when set to I2C in either vendor or CDC mode, should be 0x0004 and should only be 0x002 when in UART mode. The configuration utility itself does not appear to change the PID to 0x0004 when configured for I2C/CDC (where it still shows 0x0002), and only changes to 0x0004 when the protocol is set to Vendor. I did verify on the tab in the utility that it shows CY7C65211A when connected to the device.

I was able to verify that there is activity on both the clock and data lines if I change the protocol to Vendor and attempt to send randomly generated data from the USB-Serial Test Utility included with the SDK. For my end-use embedded application, however, I really need to have the device configured for CDC/COM port operation.

Is there an issue with the configuration for the I2C/CDC mode remaining with a PID of 0x002? Could this be a potential cause of a lack of communication on the I2C lines? Or could there be something else in the configuration that is preventing communication while selecting I2C/CDC mode?

 

 

 

 

0 Likes
1 Solution
MallikaK_22
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 250 replies posted

Hi,

Could you please attach a screenshot of the device manager? Also, please attach screenshots from Teraterm.

Please also let me know if you are using Cypress DVK or a custom kit? If custom kit, please share the schematics if not confidential.

Regards,

Mallika

View solution in original post

5 Replies
MallikaK_22
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 250 replies posted

Hi,

The PID mentioned in the datasheet is the default one. For different configurations of the device, the USB Configuration utility will show different PIDs under the Cypress VID. This is not a problem as long as your device is getting detected in the utility.

CY7C65211A, if configured for I2C as a CDC class device will show under Virtual COM Ports. The Cypress VCP library provides the required APIs to communicate with the device and you can use it to build your host application. You can find the library at the following installation path after installing the USB Serial SDK - C:\Program Files (x86)\Cypress\USB-Serial SDK\library\CyUSBSerialVCP along with the guide at C:\Program Files (x86)\Cypress\USB-Serial SDK\documentation\Cypress USB-Serial VCP I2CSPI API Guide.

It is not possible to use Teraterm/Putty for I2C/SPI communications.

Regards,

Mallika

0 Likes

Based on some further testing, I have found that I am actually able to use Teraterm to generate activity on the lines when I put the chip in SPI/CDC mode, and this appears to be consistent with some other posts I found linked below.

https://community.infineon.com/t5/USB-low-full-high-speed/CY7C65211A-Buffer-Operation/m-p/187932/thr...

https://community.infineon.com/t5/USB-low-full-high-speed/CY7C65211A-SPI-access/m-p/201531

I also noticed in the second link that the driver that they reference appears to be newer than the drivers that are available directly from the product page. I found another post (linked below) that contains the 2018 drivers, but they do not appear to make any difference as far as I2C operation.

https://community.infineon.com/t5/USB-low-full-high-speed/3-13-0-84-drivers-for-64bit-PCs-link-is-br...

So, is it the case that SPI communication should in fact be possible through a standard terminal interface in CDC mode, and just not I2C? Or is there perhaps another configuration that might allow I2C communication without using the provided API, since it appears SPI works this way.

 

 

 

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 250 replies posted

Hi,

Could you please attach a screenshot of the device manager? Also, please attach screenshots from Teraterm.

Please also let me know if you are using Cypress DVK or a custom kit? If custom kit, please share the schematics if not confidential.

Regards,

Mallika

Meghavi
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 10 likes received

Hi,

Can you please verify if the PID is the same in configuration utility and device manager as shown below?

Meghavi_0-1644554225508.png

Meghavi_1-1644554280902.png

Best Regards

0 Likes
tlclem
Level 1
Level 1
First reply posted First question asked First like given

This is what I read when connected:

tlclem_0-1644586205005.png

 

tlclem_1-1644586243472.png

 

 

0 Likes