- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
03-30-2017 01:13 PM
I am continuing to work with the CP2114 for an application and have some more questions.
- Is it possible to send I2C data out through the CP2114's I2C bus from the PC side?
- If I don't want the CP2114 to configure my CODEC (in my case, the SI4713), then what do I need to change in the default setup (if anything). NOTE: Aside from physically disconnecting the ICs from each other)
- If I leave everything on the default settings and configure the SI4713 to read the I2S data according to the default output format (16-bit left justified I2S), does the CP2114 automatically start streaming the I2S data as soon as it powers up? Or do I need to adjust some of the settings first?
Solved! Go to Solution.
04-01-2017 04:23 AM
1. The CP2114-B02 (feature list section on page 2 of the datasheet) should be ok to receive data from PC and send the data to slave device through I2C.
2. I think you could don't need change something. I did not run the test with a codec that don't need I2C configuration. But I tried to remove the I2C jumper on the DK board and it looks like the I2S data still output from CP2114.
3. I did not catch your point. Do you mean you did not customize the CP2114 and use the default configuration?
I did not try this on the DK board, but I think you should choose the default configuration from the default that support record.
My views are my own and do not necessarily represent the views of Silicon Labs
04-03-2017 10:42 AM
Thanks again for the followup. Sorry for the confusion in my third question. I was trying to ask if the CP2114 automatically starts outputting the I2S data on startup (assuming that the default profile is selected? If I can simply set the Si4713 to match these settings, then I (hopefully) won't need to add any further customization to the CP2114.
Referring now to your response to my first question. If it is possible to control my I2C-connected devices directly from a computer rather than an MCU, this sounds like an ideal solution for my application. Are there any drivers (or dlls) available to access the CP2114's I2C port from the computer? In my case, I'd be writing a C# program to communicate with it.
04-04-2017 11:52 AM
The CP2114 doesn't have an interface for controlling the I2C traffic from the host, unfortunately. It does have a HID UART, though. You could potentially use this to interface with some device that can translate UART into I2C. You could also add a CP2112 USB-to-SMBus (an I2C superset) to your board. This would require another USB connection to the host, however. That could be accomplished by putting a USB Hub chip on your board, but we've generally recommended against having a HUB between the CP2114 and the host...
04-05-2017 08:27 AM
Thanks for the response. I was reading through AN433, which describes the HID interface spec for the CP2114. At the bottom of page 30 in the PDF, there is a report for I2C Write Data (0x7D) and on page 31, a report for I2C Read Data (0x7E). If reading and writing to these two reports does not transfer data out through the CP2114's control I2C interface, what are they actually used for?
04-05-2017 02:39 PM
@BrianL, Thank you for the clarification. I'll make this thread as complete for now. My team is currently working on implementing the I2C communications from the PC side. I'll start a new post regarding this, as we are running into some problems here as well.