目录
1. I2C总线简介
I2C总线(Inter IC BUS)是由Philips公司开发的一种串行,同步、半双工总线;
通用的I2C总线,可以使各种设备的通信标准统一,对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性,对于应用者来说,使用通用的通信协议可以避免学习各种各样的自定义协议,降低了学习和应用的难度;
I2C总线是一种多主机总线,连接IIC总线上的器件分为主机和从机,主机有权发起和结束一次通信,而从机只能被主机呼叫;当总线上有多个主机同时启用总线时,I2C也具备冲突检测和仲裁的功能来防止错误产生;每个连接到IIC总线上的器件都有一个唯一的地址(7bit),且每个器件都可以作为主机也可以作为从机(同一时刻只能有一个主机),总线上的器件增加和删除不影响其他器件正常工作;I2C总线在通信时总线上发送数据的器件为发送器,接收数据的器件为接收器;主要用于近距离(抗干扰能力稍弱),低速的芯片之间的通信(传输视频,带宽要求比较高的场合也是不行的);I2C总线有两根双向的信号线,时钟线SCL(Serial Clock)用于通信双方时钟的同步、(I2C可以发送任意多个字节,因为收发双方用的是同一个时间基准)数据线SDA(Serial Data)用于收发数据,IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用;
1.1 I2C电路规范
所有I2C设备的SCL连在一起,SDA连在一起
设备的SCL和SDA均要配置成开漏输出模式
SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右
开漏输出和上拉电阻的共同作用实现了“线与”的功能,此设计主要是为了解决多机通信互相干扰的问题


1.2 I2C总线的通信过程
一: 主机发送起始信号启用总线
二:主机发送一个字节数据指明从机地址和后续字节的传送方向;
往总线上发一个字节数据:高7位地址,低一位为0主机向从机发数据;为1从机向主机发数据;
三:被寻址的从机发送应答信号回应主机;
应答:告诉主机“我存在,我听见了”
四:发送器发送一个字节数据
最低位为0发送器为主机,接收器为从机;
最低位为1发送器为从机,接收器为主机;
发送过程中不允许改变通信方向;
五:接收器发送应答信号回应发送器
0为应答1为非应答
. . . 循环步骤4和5
n:通信完成后主机发
4472



被折叠的 条评论
为什么被折叠?



