How to use an oscilloscope to solve problems encountered in I2C communication development
The I2C bus is a two-wire serial bus launched by PHLIPS in the 1980s. It was originally developed for audio and video equipment, and is now used to connect microcontrollers and their peripheral devices in various embedded systems.
The I2C bus only uses two communication lines (one is the serial data line "SDA" and the other is the serial clock line "SCL"), and the transmission rate can reach 3.4Mbit/s in high-speed mode, and is multi- Main bus. Each I2C device connected to the I2C bus can be accessed through a unique address.
The application of I2C bus in embedded system development can effectively reduce component area, improve anti-interference ability and enhance design compatibility. Of course, while enjoying its design convenience, the complexity of the signal will also increase the difficulty of system debugging.
This article explains the I2C communication problems encountered in actual development and how to use an oscilloscope to analyze and solve problems.
The latest DS6104 oscilloscope launched by RIGOL was used in the analysis process. Its specific features include: up to 1GHz bandwidth, which is enough to meet the bandwidth requirements of commonly used standard buses; 5GSa/s real-time sampling rate to ensure that signal details are not missed; 180,000 times per second Excellent waveform capture rate, maximum probability of capturing signals of interest; standard 140M deep storage, meeting the needs of both overall overview and local observation; up to 180,000 frames of waveforms can be recorded, and singular signals can be played back and analyzed at will; a variety of strings are provided Line triggering, RS232, I2C, SPI, CAN, USB, etc.
Problem discussion
In the project design, it is planned to use the Cypress 68013A chip to realize the USB device function. 68013A is a high-speed USB device produced by Cypress. The reference design of this chip runs by reading the firmware program stored in EEPROM through the I2C bus.
