Download presentation
Presentation is loading. Please wait.
1
I2C总线 广州创龙电子科技有限公司 Inter-Integrated Circuit
Guangzhou Tronlong Electronic Technology Co., Ltd
2
01 概述 02 标准 03 架构 02
3
01 概述 第 1 部分
4
I2C总线 1. The name I2C translates into “Inter IC”. Sometimes the bus is called IIC or I²C bus 2. Philips early ’80s easy communication components same circuit board. 现在不仅局限于单板,线缆 3 总线提供总裁机制,当多个主机同时尝试控制总线时,只允许其中一个控制总线并使传输不被破坏的过程(也就是允许多主机而又不冲突的机制) 历史: 1.1982年 Philips首发,限速100Kbps(标准模式)、7位地址线 2.1992年 总线规范发布,增加了400Kbps(快速模式)、10位地址线 3.发展至今 总线增加3.4Mbps(高速模式)和5.0Mbps(超高速模式) 标签:串行、半双工、低速、多主机 06 广州创龙电子科技有限公司
5
I2C总线 06 广州创龙电子科技有限公司 1.两种角色,非主机即从机
2.发送器:发送数据到总线的器件;并不是主机就是发送器,主机也可以是接收器 3.接收器:从总线接收数据的器件;并不是从机就是接收器,从机也可以是发送器 Mster(主机):初始化总线的数据传输并产生允许传输的时钟信号的器件 Slave(从机):被主机寻址的器件是从机 SDA(SerialData):串行数据 SCL(SerialClock):串行时钟 06 广州创龙电子科技有限公司
6
I2C总线和UART对比 06 广州创龙电子科技有限公司
2.多主多从 约定通信速率 仅适用于点对点通信 标签:串行、全双工、低速、点对点 06 广州创龙电子科技有限公司
7
I2C总线和SPI对比 06 广州创龙电子科技有限公司 1.i2c仅需要两根线
2.多主多从 需要的线多,4个 mosi miso cs sclk 每增加一个需要增加一个cs 通信总线中仅允许一个主机 标签:串行、全双工、低速、一主多从 06 广州创龙电子科技有限公司
8
I2C总线的应用 I²C Bus Controller and Bridge Ics 控制器和桥接器I²C Bus Repeaters/Hubs/Extenders 中继器/集线器/延伸器 I²C DACs and ADCs 模数转换器I²C Bus Repeaters/Hubs/Extenders 中继器/集线器/延伸器 I²C General Purpose I/O I²C Multiplexers/Switches I²C Real-Time Clocks (RTC) I²C Serial EEPROM/RAM I²C Temperature/Voltage Monitors I²C LED Display Control 三轴加速度传感器 06 广州创龙电子科技有限公司
9
02 标准 第 2 部分
10
电路结构 1.I²C只使用兩條雙向漏极开路(Open Drain)(串列資料(SDA)及串列時脈(SCL))並利用電阻將電位上拉 2.I²C允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。 3.各设备之间是线与关系,当连接到总线的任意设备输出低电平时,都将使信号线拉低 SDA(SerialData):串行数据 SCL(SerialClock):串行时钟 06 广州创龙电子科技有限公司
11
电气特性 VDD最大不超过5.5V VDD最大不超过5.5V 输入电气特性: VL < 0.3VDD VH > 0.7VDD
06 广州创龙电子科技有限公司
12
数据传输格式 06 广州创龙电子科技有限公司 起始信号+(7位地址+读/写)+应答位+一个字节数据+一个应答位…….+终止信号
注意:每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位 06 广州创龙电子科技有限公司
13
起始和终止信号 06 广州创龙电子科技有限公司 起始信号:SCL线为高电平期间,SDA线由高电平向低电平的变化
1.起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态; 2.在终止信号产生后,总线就处于空闲状态。 3.连接到I2C总线上的器件,若具有I2C总线的硬件接口,则很容易检测到起始和终止信号。 06 广州创龙电子科技有限公司
14
有效数据位信号 06 广州创龙电子科技有限公司 也就是在时钟信号高电平期间,稳定的数据信号为一个有效的数据位
这里所指的数据位除起始和终止信号以外的其他位 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。 06 广州创龙电子科技有限公司
15
应答与非应答信号 06 广州创龙电子科技有限公司
1.应答信号出现在每个字节后面,接收器通过应答位通知发送器,一个字节被成功接收,可以进行下一个字节发送。 非应答信号出现的几种情况: 1.总线上没有器件与主机发出的地址一致,因而没有回应 2.从机因为正在进行一些实时性操作而无法与主机进行收发操作时 3.在传输过程中,接收器接收到无法解析的数据或命令时 4.在传输过程中,接收器不能接收更多的数据字节时 5.主机接收器接收到了本次传输的最后一个数据字节时,通过对从机的非应答信号来实现,然后从机释放SDA线,以允许主机产生终止信号。 ACK( Acknowledge signal ):在第九个时钟,也就是应答时钟周期时,发送端释放SDA,SDA被接收端拉为低电平状态,即为应答信号 NACK(Not Acknowledge signal ):在应答时钟周期时,若SDA一直保持高电平,即为非应答信号 06 广州创龙电子科技有限公司
16
起始信号后的地址和方向信息字节 06 广州创龙电子科技有限公司 7bit 地址线+一位读写信号 10bit 地址线+一位读写信号
①主机通过发送地址码与对应的从机建立了通信关系,而挂接在总线上的其它从机虽然同时也收到了地址码,但因为与其自身的地址不相符合,因此提前退出与主机的通信; 06 广州创龙电子科技有限公司
17
主机发送,从机接收 06 广州创龙电子科技有限公司
(1)主机在检测到总线为“空闲状态”(即 SDA、SCL 线均为高电平)时,发送一个启动信号“S”,开始一次通信的开始 (2)主机接着发送一个命令字节。该字节由 7 位的外围器件地址和 1 位读写控制位 R/W组成(此时 R/W=0) (3)相对应的从机收到命令字节后向主机回馈应答信号 ACK(ACK=0) (4)主机收到从机的应答信号后开始发送第一个字节的数据 (5)从机收到数据后返回一个应答信号 ACK (6)主机收到应答信号后再发送下一个数据字节 ,主机的一次发送通信,其发送的数据数量不受限制。 (7)当主机发送最后一个数据字节并收到从机的 ACK 后,通过向从机发送一个停止信号P结束本次通信并释放总线。从机收到P信号后也退出与主机之间的通信 06 广州创龙电子科技有限公司
18
主机接收,从机发送 06 广州创龙电子科技有限公司 (1)主机发送启动信号后,接着发送命令字节(其中 R/W=1)
(2)对应的从机收到地址字节后,返回一个应答信号并向主机发送数据 (3)主机收到数据后向从机反馈一个应答信号 (4)从机收到应答信号后再向主机发送下一个数据 (5)当主机完成接收数据后,向从机发送一个“非应答信号(ACK=1)”,从机收到ASK=1 的非应答信号后便停止发送 主机所接收数据的数量是由主机自身决定 (6)主机发送非应答信号后,再发送一个停止信号,释放总线结束通信 06 广州创龙电子科技有限公司
19
复合模式 06 广州创龙电子科技有限公司 主机发送 从机接收 而后可能 从机发送,主机接收
例如存储器的读写操作,第一个数据字节传输,主机发送读取地址给从机 而后不放弃总线控制权,直接重复一个起始信号和从机地址,数据就开始被传输出来 06 广州创龙电子科技有限公司
20
总线死锁 06 广州创龙电子科技有限公司 主机发送,从机接收 从机:SDA拉低 输出应答信号 主机:异常复位,SCL为高电平
从机:等待SCL变低,以释放应答信号 主机:SDA低,判断总线被占用 等待… 等待… 从机发送,主机接收 从机:SDA拉低,输出数据位0 主机:异常复位,SCL为高电平 之前说过的有效数据位 1.将从机的电源设计为可控,当发生总线死锁的时将从机复位 2.可以在从机的程序中加入监测功能,如果总线长时间被拉低则释放对总线的控制 06 广州创龙电子科技有限公司
21
03 架构 第 3 部分
22
BLOCK DIAGRAM 06 广州创龙电子科技有限公司 1.寄存器 2.时钟控制 3.起始信号和停止信号检测 4.数据输入输出移位寄存器
5.地址比较器 I2C总线接收到数据后通过中断、地址总线、数据总线将数据传输给CPU 06 广州创龙电子科技有限公司
23
广州创龙电子科技有限公司 谢谢 官网: 论坛:51dsp.net 微信公众号:广州创龙
Similar presentations