×

I2C驱动的培训教程详细说明

消耗积分:0 | 格式:doc | 大小:4.89 MB | 2020-04-12

yyzf998

分享资料个

  一、协议

  I2C 总线是一种用于IC器件之间连接的双向二线制总线

  I2C总线有两根信号线,一根为SDA(数据线),一根为SCL(时钟线)。可发送和接收数据。任何时候时钟信号都是由主控器件产生。

  I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。

  开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

  结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

  应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

AL t4518533744968704

  基本概念

  主机 初始化发送,产生时钟信号和终止发送的器件

  从机 被主机寻址的器件

  发送器 发送数据到总线的器件

  接收器 从总线接收数据的器件

  多主机 同时有多于一个主机尝试控制总线 但不破坏报文

  仲裁 是一个在有多个主机同时尝试控制总线,但只允许其中一个控制总线并使报文不被破坏的过程

  同步 两个或多个器件同步时钟信号的过程
 

  主机发送数据流程

  (1)主机在检测到总线为“空闲状态”(即 SDA、SCL 线均为高电平)时,发送一个启动信号“S”,开始一次通信的开始

  (2)主机接着发送一个命令字节。该字节由 7 位的外围器件地址和 1 位读写控制位 R/W组成(此时 R/W=0)

  (3)相对应的从机收到命令字节后向主机回馈应答信号 ACK(ACK=0)

  (4)主机收到从机的应答信号后开始发送第一个字节的数据

  (5)从机收到数据后返回一个应答信号 ACK

  (6)主机收到应答信号后再发送下一个数据字节

  (7)当主机发送最后一个数据字节并收到从机的 ACK 后,通过向从机发送一个停止信号P结束本次通信并释放总线。从机收到P信号后也退出与主机之间的通信

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !