当前位置:网站首页>Easy to understand IIC protocol explanation

Easy to understand IIC protocol explanation

2022-07-06 05:23:00 Embedded base

  Link to the original text

I2C The bus is a simple 、 Two way two wire synchronous serial bus .
I2C The communication protocol has few pins , The hardware implementation is simple , High scalability , Unwanted USART、CAN And other communication protocols , It is widely used in multiple integrated circuits in the system (IC) Communication between .
 Easy to understand IIC Explanation of the agreement _iic drive

I2C Information exchange is completed by two signal lines ,SCL It's a clock signal line ,SDA For data entry / Output line .
I2C Support multiple slaves (Slaver), It can also support multi host mode (Master). Most of the I2C Device support 100kHz and 400kHz Pattern , Some special applications can also be designed to support 3.4MHz.

I2C Its simple applications mainly include I2C Hardware connection and I2C Communication protocol Two aspects , This article gives a brief description of common communication methods .

I2C Hardware connection

As shown in the figure below , In a I2C In the communication bus , Can connect multiple I2C Communication equipment , Support multiple communication hosts and multiple communication slaves .
 Easy to understand IIC Explanation of the agreement _iic drive _02

  • SDA, SCL Pin and pull-up resistance
  • The equipment SDA, SCL Pin use OD Gate output , Line and operate between different equipment , namely “ And logic ”.
  • SDA and SCL It needs to be connected with pull resistance , According to I2C Number of equipment , Communication speed of the system , Design and choose different pull-up resistors .I2C The number of devices determines the bus capacitance on the bus , Bus capacitance and pull-up resistance limit the communication rate of the system .
  • Usually ,3.3V Pull up the resistance of the system and take 3.3kΩ,5V Pull up the resistance of the system and take 4.7kΩ.
  • When I2C When the device is idle , It will output a high resistance state , And when all the devices are idle , When both output high resistance states , Pull the bus to high level by pull-up resistor .
Multi master and multi slave applications
  • Each slave device connected to the bus has an independent address , The host can use this address to access different devices .
  • When multiple hosts use the bus at the same time , To prevent data conflicts , Arbitration can be used to decide which host device occupies the bus .

I2C Communication protocol

The following figure shows a host (Master) To the slave (Slaver) Write a byte of data as an example , explain I2C Basic protocol of communication .
 Easy to understand IIC Explanation of the agreement _IIC_03
 Easy to understand IIC Explanation of the agreement _IIC_04

  • Start signal ( S ): When SCL It's high level ,SDA Switch from high level to low level .
  • Stop signal ( P ): When SCL It's high level ,SDA Switch from low level to high level .
     Easy to understand IIC Explanation of the agreement _iic drive _05
  • Frame address : Unique to each slave 7 Bit or 10 Bit address , Used for address identification between master and slave devices .I2C The protocol states that the device address can be 7 Bit or 10 position , In the actual 7 Bit addresses are widely used .
  • read / Write in : a , If the master sends data to the slave, it is low , The request data is high .
  • ACK/NACK:I2C The data and address of the transmission are with response . Responses include “ The reply (ACK)” and “ Non response (NACK)” Two signals .ACK Low level ,NACK High level .
  • The data is valid : When data is transmitted ,SCL For high voltage ,SDA The data is valid , That at this time SDA Show data for high level “1”, Show data for low level “0”; When SCL Low power level ,SDA Invalid data for , Usually at this time , Yes SDA Carry out level switching .
     Easy to understand IIC Explanation of the agreement _ Single chip microcomputer _06
    Focus on v-x- Male - many - Number :【 Embedded base
    after - platform - return - complex :【 Electric competition 】 Information available
    reply 【 Programming 】 Can get
    It includes :C、C++、C#、JAVA、Python、JavaScript、PHP、 database 、 Wechat applet 、 Artificial intelligence 、 The embedded 、Linux、Unix、QT、 The Internet of things 、 Introduction to algorithms 、 Big data and other information

 Easy to understand IIC Explanation of the agreement _i2c_07

原网站

版权声明
本文为[Embedded base]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202132114307233.html