I2C bus principle For 8-bit digital control applications such as those that require the use of microcontrollers, some design criteria must be established: • A complete system usually consists of at least one microcontroller and other peripheral devices such as memory and I/O expanders. • The cost of connecting different devices in the system must be minimized. • The system that performs control functions does not require high-speed data transmission. • The overall benefit is determined by the type of device and interconnect bus structure selected. Creating a system that meets these standards requires a serial bus structure. Although serial buses do not have the data throughput capacity of parallel buses, they only require a few wiring and IC connection pins. However, the bus is not just an interconnection line, but also contains all the formats and processes of system communication. The communication between devices on the serial bus. There must be some form of protocol to avoid all the possibility of chaotic data loss and obstruction of information. Fast devices must be able to communicate with slow devices. The system must not be based on the connected devices, otherwise it will be impossible to modify or improve. A process should be designed to determine which devices can control the bus when. In addition, if there are devices with different clock speeds connected to the bus, the clock source of the bus must be defined. All of these standards are in the I2C bus specification. I2C The bus is a multi-master bus, which means that more than one device capable of controlling the bus can be connected to the bus. Since the master is usually a microcontroller, let us consider the following data transfer between two microcontrollers connected to the I2C bus. See Figure 2. This highlights the master-slave and receiver-transmitter relationships of the I2C bus. It should be noted that these relationships are not permanent and are only determined by the direction of the data transfer at the time. The process of transferring data is as follows: 1 Suppose microcontroller A wants to send information to microcontroller B • Microcontroller A master addresses microcontroller B slave • Microcontroller A master transmitter sends data to microcontroller B slave receiver • Microcontroller A terminates the transfer 2 If microcontroller A wants to receive information from microcontroller B • Microcontroller A master addresses microcontroller B (slave)
You Might Like
Recommended ContentMore
Open source project More
Popular Components
Searched by Users
Just Take a LookMore
Trending Downloads
Trending ArticlesMore