iic总线的仲裁机制,iic协议释放总线是什么意思

首页 > 体育 > 作者:YD1662023-11-20 03:43:05

14.1 IIC协议详细说明

IIC有模拟和芯片自带的两种方式。软件模拟方式具有引脚可以任意分配,软件修改灵活对PCB设计也有一定的优点,但是缺点也是非常明显的,因为采用的是软件进行会产生较长时间的延时,对于一些要求较高的场合并不适用,比如汽车电子方向、充电桩等这些就不适合用模拟电子还有就是一些医疗设备。因此建议在设计时优先芯片之中提供的IIC
这章我们先来说说软件模拟这部分,硬件IIC下一章节会讲。
IIC(Inter-Integrated Circuit BUS) 集成电路总线,该总线NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的一种主从数据交互通信,在小数据量场合使用,传输距离短。
I2C可以支持0kHz~5MHz设备的多种模式:普通模式(100kHz)、快速模式(400kHz)、快速模式(1MHz)、高速模式(3.4MHz)和超高速模式(5MHz)。

14.1.1 I2C物理层

在I2C通信总线上,可连接多个I2C通信设备,支持多个通信主机和多个通信从机。I2C通信只需要2条双向总线:一条数据线SDA(Serial Data Line,串行数据线),一条时钟线SCL(Serial Clock Line,串行时钟线)。

其中:
SDA:用于数据传输(传输方式:大端传输(MSB),一次8bit,即1字节)
SCL:用于数据同步收发

IIC支持多主控,任何时间点都只有一个主控。每个连接到总线的设备都只有一个独立的地址,共7bit(也有10bit的,不过用的少点而已)主机正式利用该地址对设备进行访问。
先来看个图:
IIC中SDA和SCL引脚是开开漏电路形式,所以SDA和SCL都要接上拉电阻,当总线空闲,SDA和SCL都是高电平。

iic总线的仲裁机制,iic协议释放总线是什么意思(1)

a.只要求两条总线线路,一条是串行数据线SDA,一条是串行时钟线SCL。(IIC是半双工,而不是全双工)。
b.每个连接到总线的器件都可以通过唯一的地址和其它器件通信,主机/从机角色和地址可配置,主机可以作为主机发送器和主机接收器。
c.IIC是真正的多主机总线,(而类似的SPI总线协议在每次通信前都需要把主机定死,IIC可以在通讯过程中,改变主机),如果两个或更多的主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏。但是任意时刻只能有一个主机。
d.传输速率在标准模式下可以达到100kb/s,快速模式下可以达到400kb/s。
e.连接到总线的IIC设备数量只是受到总线的最大负载电容400pf限制。

iic总线的仲裁机制,iic协议释放总线是什么意思(2)

14.2.1 I2C协议层

一个完整的IIC数据传输含有开始信号、器件地址、读写控制、器件内地址访问、数据的有效性、信号应答、停止信号。

1.I2C总线的位传输

数据传输 :SDA的数据在SCL高电平期间被写入从机。所以SDA的数据变化要发生在SCL低电平期间。
在时钟的高电平周期内,SDA线上的数据必须保持稳定,SDA上传输1位数据(数据线仅可以在时钟SCL为低电平时改变)。

iic总线的仲裁机制,iic协议释放总线是什么意思(3)

2.I2C总线的开始信号和结束信号

起始条件:当SCL为高电平的时候,SDA线上由高到低的跳变被定义为起始条件。
结束条件:当SCL为高电平的时候,SDA线上由低到高的跳变被定义为停止条件。
总线空闲状态 :SDA :高电平 SCL : 高电平

iic总线的仲裁机制,iic协议释放总线是什么意思(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.