当前位置:网站首页>Easy to understand IIC protocol explanation
Easy to understand IIC protocol explanation
2022-07-06 05:23:00 【Embedded base】
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 .
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 .
- 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 .
- 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 .
- 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 .
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
边栏推荐
- F12 solve the problem that web pages cannot be copied
- 關於Unity Inspector上的一些常用技巧,一般用於編輯器擴展或者其他
- Idea one key guide package
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Three. JS learning - light and shadow (understanding)
- UCF (summer team competition II)
- 【torch】|torch. nn. utils. clip_ grad_ norm_
- [cloud native] 3.1 kubernetes platform installation kubespher
- Self built DNS server, the client opens the web page slowly, the solution
- 注释、接续、转义等符号
猜你喜欢
随机推荐
Unity Vector3. Use and calculation principle of reflect
无代码六月大事件|2022无代码探索者大会即将召开;AI增强型无代码工具推出...
[leetcode16] the sum of the nearest three numbers (double pointer)
Summary of redis basic knowledge points
Rce code and Command Execution Vulnerability
nacos-高可用seata之TC搭建(02)
改善Jpopup以实现动态控制disable
[effective Objective-C] - memory management
集合详解之 Collection + 面试题
【云原生】3.1 Kubernetes平台安装KubeSpher
指针经典笔试题
备忘一下jvxetable的各种数据集获取方法
Select knowledge points of structure
Mongodb basic knowledge summary
關於Unity Inspector上的一些常用技巧,一般用於編輯器擴展或者其他
2022半年总结
注释、接续、转义等符号
Three. JS learning - light and shadow (understanding)
Steady, 35K, byte business data analysis post
Self built DNS server, the client opens the web page slowly, the solution