I2C 使用2根双向信号线来传递数据
SCL 时钟线
SDA 数据线
特点 半双功,仅需要2根线
一般在PCU 上占2个PIN
I2C 总线 上 都是 oc/od 输出 , 所以使用上拉电阻 当总线空闲的时候 都是输出 高电平 任意 一根线输出低电平 都会使2根线 变成低电平 各个元器件到SDA和SCL线 之间的关系是与的关系。
在I2C 总线上的 每个元器件 都有自己的独立地址, 在传送的过程中 分为 发送器 和接收器。
在多个主机系统中 , 有可能同时 有几个主机 企图同时 控制总线来进行传输,为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机来控制总线。
传输过程中 时钟总线处于高电平是 要求SDA上的数据稳定 (不能发生电平的跳变),反之亦然。
传输的过程中 是由主机来控制开始和终止的。
1.SCL信号处于高电平 ,SDA 由高跳低电平(开始), SDA线由低跳高电平(终止)。
二。数据传送格式
传送一个字节 先传送 最高位 ,后面还要跟一个应答位,即长度是9位。
主机向从机 传送 时 从机 先要 应答 即给出 低电平
三。总线寻址
I2C 总线寻址方式所 7位的寻址 字节 (寻址字节是起始信号后的第一个字节)
D7~D1 组成从机地址。
D0 位是数据的传送方向位 (0表示 主机向从机写数据,1表示主机向从机读数据)
主机发送地址的时候 总线上的每个从机 都将这7位地址码 和自己的地址进行比较,如果相同就确定自己正被主机寻址
根据D0位来确定 自己是 发送器 或者接收器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)