码迷,mamicode.com
首页 > 其他好文 > 详细

总线接口与计算机通信(一)I2C总线

时间:2015-07-27 01:49:33      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

  • I2C总线的基本概念

?1)发送器(Transmitter):发送数据到总线的器件

?2)接收器(Receiver):从总线接收数据的器件

?3)主机(Master):初始化发送、产生时钟信号和终止发送的器件

?4)从机(Slave):被主机寻址的器件

? ?

? ?

其线路结构图如下:

技术分享

? ?

? ?

如上图示,I2C?总线具有如下特点:?

1)I2C?总线是双向传输的总线,因此主机和从机都可能成为发送器和接收器。不论主机是发送器还是接收器,时钟信号SCL?都要由主机来产生。

2)?只需要由两根信号线组成,一根是串行数据线SDA,另一根是串行时钟线SCL?3)?SDA?和SCL?信号线都必须要加上拉电阻Rp(Pull-Up?Resistor)。上拉电阻一般取值3~?10KΩ?

4)?SDA?和SCL?管脚都是漏极开路(或集电极开路)输出结构

? ?

  • I2C总线的信号传输?

    1)3种速率可选择?

    标准模式100kbps、快速模式400kbps、最高速率3.4Mbps

    ? ?

    2)具有特定的传输起始、停止条件?

    a)起始条件:当SCL?处于高电平期间时,SDA?从高电平向低电平跳变时产生起始条件。?起始条件常常简记为S?

    b)停止条件:当SCL?处于高电平期间时,SDA?从低电平向高电平跳变时产生停止条件。?停止条件简记为P

    技术分享

    ? ?

    3)?数据传输从确定从机地址开始?

    a)多个从机可连接到同一条I2C?总线上,它们之间通过各自唯一的器件地址来区分?

    b)一般从机地址由7?位地址位和一位读写标志R/W?组成,7?位地址占据高7?位,读写位在最后。读写位是0,表示主机将要向从机写入数据;读写位是1,则表示主机将要从从机读取数据

    ? ?

    4)?以字节为单位的数据传输方式?

    a)I2C?总线以字节(Byte)为单位收发数据,主机总是先发地址再发数据?

    b)在I2C?总线传输数据过程中,每传输一个字节,都要跟一个应答状态位。遵循"谁?接收谁产生"的原则,即总是由接收器产生应答位,应答位为0?表示接收器应答?(ACK);为1?则表示非应答(NACK)?

    c)如果接收器在接收完最后一个字节的数据,或者不能再接收更多的数据时,应当产生非应答来通知发送器

总线接口与计算机通信(一)I2C总线

标签:

原文地址:http://www.cnblogs.com/mylinux/p/4679068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!