IIC通信协议总结.doc

IIC通信协议总结.doc

ID:50337982

大小:70.00 KB

页数:7页

时间:2020-03-08

IIC通信协议总结.doc_第1页
IIC通信协议总结.doc_第2页
IIC通信协议总结.doc_第3页
IIC通信协议总结.doc_第4页
IIC通信协议总结.doc_第5页
资源描述:

《IIC通信协议总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、lie通信协议总结lie通信协议%1.概述%1.硬件结构三:数据的传输开始和停止条件的确定:在I2C总线传输过程中,将两种特定的情况定义为开始和停止条件(见图3):当SCL保持“高”时,SDA由“高”变为“低”为开始条件;当SCL保持“高”且SDA由“低”变为“高”时为停止条件。开始和停止条件均由主控制器产生。使用硬件接口可以很容易地检测到开始和停止条件,没冇这种接口的微机必须以每吋钟周期至少两次对SDA取样,以检测这种变化。传输注意事项:1.SDA线上的数据在时钟“高”期间必须是稳定的,只冇当SCL线上的为低时,数据线上的“高”或“低”状态才可以改变。因此在IIC

2、总线上胡数据传输过程中,数据信号线SDA的变化只能发生在SCL为低电平的期间内。从上图屮可以清楚的看到这一点。响应信号ACK宽度为1位,紧跟在8个数据位后面,所以发送1字节的数据需要9个SCL时钟脉冲。响应时钟脉冲也是由主机产生的,主机在响应时钟脉冲期间释放SDA线,使其处在高电平(见图16—3上面的信号)。而在响应时钟脉冲期间,接收方需要将SDA拉低,使SDA在响应吋钟脉冲高电平期间保持稳定的低电平(见图16-3中间结束的信号)。低电平用ACK表示,代表冇应答;高电平用nACK表示,代表无应答。应答信号在I2C总线的数据传输过程中起着非常重要的作用,它将决定总线及

3、连接在总线上设备下一步的状态和动作。一旦在应答信号上发生错误,例如接收方不按规定返回或返回不正确的应答信号,以及发送方对应答信号的误判,都将造成总线通信的失败。2.输出到SDA线上的每个字节必须是8位,高位在前,低位在后。每次传输的字节不受限制,但每个字节必须要冇一个应答ACKo如果一接收器件在完成其他功能(如一内部中断)前不能接收另一数据的完整字节吋,它可以保持时钟线SCL为低,以促使发送器进入等待状态;当接收器准备好接受数据的其它字节并释放时钟SCL后,数据传输继续进行。3.具冇应答是必须的。与应答对应的由主控制器产生,发送器在应答期间必须下拉SDA线。4.当的

4、被控器件不能应答时,数据保持为高并使主控器产生停止条件而终止传输。5.在传输的过程中,在用到主控接收器的情况下,主控接收器必须发出一数据结束信号给被控发送器,从而使被控发送器释放数据线,以允许主控器产生停止条件。开始传输:I2C总线在开始条件后的首字节决定哪个被控器将被主控器选择,例外的是“通用访问”地址,它可以在所有期间寻址。当主控器输出一地址时,系统屮的每一器件都将开始条件后的前7位地址和自己的地址进行比较。如果相同,该器件即认为自己被主控器寻址,而作为被控接收器或被控发送器则取决于R/W位。四.例子(用GMS97C2051的通用I/O口来作为I2C总线接口,并

5、由软件控制实现数据传送)接I2C总线规定:SCL线和SDA线是各设备对应输出状态相“与”的结果,任一设备都可以用输出低电平的方法来延长SCL的低电平时间,以迫使高速设备进入等待状态,从而实现不同速度设备间的时钟同步。因此,即使吋钟脉冲的高、低电平吋间长短不一,也能实现数据的可靠传送,可以用软件控制I/O口做I2C接口。传输的整个过程:前面己经介绍过I2C总线是支持多机通信的数据总线,每一个连接在总线上的从机设备或器件都有一个唯一独立的地址,以便于主机寻访。I2C总线上的数据通信过程是由主机发起的,以主机控制总线,发出起始信号作为开始。在发送起始信号后,主机将发送一个

6、用于选择从机设备的地址字节,以寻址总线中的某一个从机设备,通知其参与同主机之间的数据通信。地址字节的格式如下:地址字节的高7位数据是主机呼叫的从机地址,第8位用于标示紧接下来的数据传输方向:“0”表示要从机准备接收主机下发数据(主机发送/从机接收);而“I,,则表示主机向从机读取数据(主机接收/从机发送)。当主机发出地址字节后,总线上所冇的从机都将起始信号后的7位地址与自己的地址进行比较:如果相同,则该从机确认自己被主机寻址;而那些本机地址与主机下发的寻呼地址不匹配的从机,则继续保持在检测起始信号的状态,等待下一个起始信号的到来。被主机寻址的从机,必须在第9个SCK

7、时钟脉冲期间拉低SDA,给出ACK回应,以通知主机寻址成功。然后,从机将根据地址字节中第8他的指示,将自己转换成相应的角色(0—从机接收器;1—从机发送器),参与接下來的数据传输过程。图16-4所示为在I2C总线上一次数据传输的示例,它实现了简单的操作:主机向从机读取1字节。图中描述了整个数据传输的全部过程,给出了I2C总线上的时序变化,SDA上的数据情况、以及发送、接收双方相互转换与控制SDA的过程。>主机控制SDA。在I2C总线上产生起始信号,同时控制SCL,发送时钟脉冲。在整个传输过程中,SCL都是由主机控制的。>主机发送器发送地址字节。地址字节的第8位为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。