IIC总线接口与编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.6 I2C 总线接口与编程 一、I2C总线(Inter Integrated Circuit Bus)概述 I2C总线是由Philips公司推出的一种新型总线标准,是二线制同步串行数据传输总线,具有控制方式简单,器件封装形式小,通信速率高等特点。 I2C总线上挂接的器件和设备(也可统称为节点)可以多达112个,每个设备或器件都有自己的地址编号(也称为节点地址)。 I2C总线通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息并根据地址识别每个器件(选中节点)。 I2C总线上允许连接多种接口电路如MCU、A/D及D/A转换器、实时时钟/日历、LCD驱动器、温度传感器、键盘接口等,也可以连接串行E2PROM。 挂接在I2C总线上的器件或设备的所有SDA端挂接在SDA总线上,所有的SCL端挂接在SCL总线上,总线的接口电路均为漏极开路,故总线上必须接上拉电阻。 I2C总线的驱动能力为400pF,最高扩展为4000pF,传输速率原限定为100Kbps,在版本1.0-1992中,允许传输速率达到400Kbps,在版本2.0-1998中,允许传输速率达3.4Mbps, 传输时数据高位在前,低位在后。 I2C 总线使设计人员和厂商都得益。 典型的带有IIC总线接口的器件 时钟芯片:PCF8583 存储器芯片:24XX、24C64 A/D芯片:PCF8591 D/A芯片:MAX517、TC1320/1321 温度传感器:DS1621、AD7416 I/O口芯片:PCF9535、PCF8574 LED数码管驱动芯片:SAA1064 湿度、湿度传感器:SHT11 二、 I2C总线的工作原理 一般而言,任何器件均能成为从器件,只有微控制器才能成为主器件。主、从器件对偶出现,工作在接收还是发送数据方式,由器件的功能和数据传送的方向所决定。 总线允许连接多个微控制器,显然不能同时存在两个主器件,先控制总线的器件成为主器件。可能有几个微控制器同时企图控制总线成为主器件,这就产生了总线竞争的协议,竞争成功的器件成为主器件,其他则退出。竞争过程中,数据不会被破坏、丢失。数据只能在主、从器件间传送,结束后,主、从器件将释放总线,退出主、从器件角色。 总线上存在主、从器件时,总线处于忙的状态,反之,总线处于空闲状态,此时,器件才有机会控制总线成为主器件。 对于系统中的某一器件来说,有四种可能的工作方式:主发送方式、主接收方式、从发送方式、从接收方式。但不管哪种方式,只有主器件的SCL是有效的,主器件的SCL一定是输出的。 位传送及数据的有效性 I2C总线数据传送采用时钟脉冲逐位串行传送方式。SDA 线上的数据必须在时钟的高电平周期保持稳定。SDA数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变。 起始、停止条件 在SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件(开始信号S)。 当SCL 是高电平时,SDA 线由低电平向高电平切换表示停止条件(结束信号P)。 起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态;在停止条件的某段时间后,总线被认为再次处于空闲状态。 字节传送及格式 发送器件送到SDA线上的每个字节必须为8位长,先传送高位,与之对应,主器件在SCL线上产生8个脉冲,第9个脉冲低电平期间,发送器件释放SDA线,即置高SDA,接收器件则把SDA线拉成低电平,以给出一个接收确认位;第9个脉冲高电平期间,发送器件收到这个确认位,即开始下一字节的传送,下一字节的第一个脉冲低电平期间,接收器释放SDA。每个字节需要9个脉冲,每次传送的字节数是不受限制的。 确认信号(应答信号) 接收器件必须确认数据的接收,确认位(Acknowledge,亦称应答信号)相对于主器件产生的一个时钟,在这个时钟内发送器释放SDA线,如前图。 若一个从器件在处理一个实时事件时,从器件不给出确认信号,此时,主器件产生一个结束信号使传送异常结束,传送数据无效。 在主器件接收的传送中,主器件接收器对最后一个数据字节不予确认(not acknowledge,非应答信号),以对从器件指出数据传送的结束,从发送器释放SDA线,使主器件能产生一个结束信号。 寻址 I2C总线上器件的寻址。器件地址由7位组成。它和1位数据方向位(R/W)构成了I2C总线的寻址字节SLA(从器件地址)。 DA3、DA2、DA1、DA0:器件地址,是I2C总线外围接口器件固有的地址编码,器件出厂时就已给定,用它来识别器件类型。如I2C总线EEPROM AT24C××的器件地址为1010,4位LED驱动器SAA1064的器件地址为0111,四通道8位A/D加一路D/A的PCF

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档