Using CYUSBS234 DVK with external I2C devices

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

cross mob
jcsb1994
Level 4
Level 4
First solution authored 50 replies posted 50 sign-ins

Hi, I bought a CYUSBS234 DVK and used the quick start guide to test i2C-USB bridging functionality, which worked perfectly using the USB Serial Test Utility provided with the CYUSBS234 kit setup. But now I have a few questions before I can start using the kit:

1. I found this page which explains pretty well how to hook up an external i2c device to my kit. But I do not know how I could interface with this device once plugged in. Should I use the USB Serial Test Utility?

2. Actually, I need to understand what happens when you leave the shorts on the jumpers J17 and J21 on the kit, and run the I2C-USB test with the USB Serial Test Utility like I did. Is the software sending data directly to the CYUSBS234 chip (and then where do the jumpers lead??), and then the chip is programmed to exactly retransmit the received bytes via USB?

3. What would happen if I removed the J17 and J21 shorts and connected the external device as explained in the link above? would the utility still reach the chip, and then the signal would be sent via the jumpers to the external device?

4. Is there a way or a software I could use to test sending I2C commands from my computer through USB through the kit and then to an external device? This is basically what I want to do, but I want to understand what is going on in the kit and how i can do that.

Thank you!

0 Likes
1 Solution
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

1. The USB-Serial Test Utility is provided to communicate with the on-board EEPROM as I2C slave. To interface with any other I2C device, you could create your own host application and you could refer to the example applications present with the USB-Serial SDK at- <install directory>\Cypress\USB-Serial SDK\examples\usbserialexample

2. Jumpers J17 and J21 connect to the SCL and SDA lines on the EEPROM (U7) and as you mentioned, the USB-Serial device receives the data from the utility trough USB and writes to the EEPROM over I2C lines. Similarly it reads from the EEPROM and sends the data back to the utility through USB.

3. If you removed the shorts on the jumpers, the I2C lines would no longer be connected to the EEPROM (with pull ups on the lines) so you can directly connect to the SCL/SDA lines of your external device to Pin 2 on the J17, J21.

4. Please refer to point 2, you could create an application to send the commands using the I2C APIs (kindly check the API Guide in the SDK at <install directory>\Cypress\USB-Serial SDK\documentation for more details). The APIs will send the vendor commands to the device via USB and it will perform I2C read or write to your external device as per the API.

Best Regards,

Sananya

View solution in original post

3 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

1. The USB-Serial Test Utility is provided to communicate with the on-board EEPROM as I2C slave. To interface with any other I2C device, you could create your own host application and you could refer to the example applications present with the USB-Serial SDK at- <install directory>\Cypress\USB-Serial SDK\examples\usbserialexample

2. Jumpers J17 and J21 connect to the SCL and SDA lines on the EEPROM (U7) and as you mentioned, the USB-Serial device receives the data from the utility trough USB and writes to the EEPROM over I2C lines. Similarly it reads from the EEPROM and sends the data back to the utility through USB.

3. If you removed the shorts on the jumpers, the I2C lines would no longer be connected to the EEPROM (with pull ups on the lines) so you can directly connect to the SCL/SDA lines of your external device to Pin 2 on the J17, J21.

4. Please refer to point 2, you could create an application to send the commands using the I2C APIs (kindly check the API Guide in the SDK at <install directory>\Cypress\USB-Serial SDK\documentation for more details). The APIs will send the vendor commands to the device via USB and it will perform I2C read or write to your external device as per the API.

Best Regards,

Sananya

Thank you for your reply! I understand better now.
However I am not sure about how to proceed. I have a PSOC 41xx DVK, and a set of i2c SDA and SCL pins are connected with jumper cables to the J17 and J21 jumpers on the CYUSBS234 DVK.

My PSOC device is programmed as an I2C slave and I can change led colors by sending i2c commands to it with the bridge control panel application.

1. I thought I could just use bridge control panel to interact with the CYUSBS234 kit, and send the I2C commands to it (then it would be able to send the same commands to the PSOC 4), but bridge control panel does not find the CYUSBS234 kit so this doesn't seem to be an option. Can I use bridge control panel with CYUSBS234 if I setup something differently? I am looking for the simplest way to talk to the psoc!

2. About the APIs you mentioned, the documentation lists the APIs, but how do I write/program the device? What application am I supposed to use? Is it PSoC creator? Because even after installing the kit setup, I cannot choose this device for a new project. For example, if I wanted to program one of the serial examples into my CYUSBS234 kit, what software do I need to use?

Thanks again!

0 Likes
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

-As you mentioned, the Bridge Control Panel does not support the USB-Serial and hence you cant use it to send I2C commands to the PSoC 4. This is because the application only recognizes a certain set of devices such as CY3240, MiniProg3, KitProg, TrueTouchBridge etc. Please refer to the Help section on the Bridge Control Panel for more information on the supported devices.

-Please note that the USB-Serial is a fixed firmware device and you cant change the firmware using an IDE such as the PSoC Creator. You could update the device configuration using the USB-Serial Configuration Utility which is also present in the SDK. The examples present for the kit are host application examples which will allow you to send commands to the device (using the above mentioned APIs) which are already supported in the firmware.

If you are using the PSoC 4 as an I2C slave, please refer to the example command line application for I2C master in the USB-Serial SDK at the path-

<install directory>\Cypress\USB-Serial SDK\examples\usbserialexample\i2cmaster

You could change the I2C slave address to that of your PSoC 4 device and test the same.

Best Regards,

Sananya

0 Likes