I2C总线的结构工作时序与模拟编程.docxVIP

  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文档。上传文档
查看更多
I2C总线的构造、工作时序与模拟编程 I2C总线(InterIntegratedCircuit)是飞利浦企业于上个世纪80年月开发的一种“电路板 级”的总线构造。与其余串行接口相比,不论从硬件构造、组网方式、软件编程都有很大的 不同。在AT89C51系统上使用汇编语言模拟I2C总线的各样信号及编程原理,为自主开发、 设计拥有I2C总线接口的系统打下一个优秀的基础,也为其余串口的模拟编程创建一个好的 思路和可行的方法。 I2C总线的主要特点 二线制构造。即双向的串行数据线SDA、串行同步时钟线SCL。总线上的所有器件其同 名端都分别挂在SDA、SCL线上(见图7.1); 2.I2C总线所有器件的SDA、SCL引脚的输出驱动都为漏极开路构造(见图7.2),经过外接 上拉电阻将总线上所有节点的SDA、SCL信号电平实现“线与”的逻辑关系。这不单可 以将多个节点器件按同名端引脚直接挂在SDA、SCL线上,还使I2C总线具备了“时钟同 步”、保证不同工作速度的器件同步工作; 系统中的所有外围器件都拥有一个7位的“从器件专用地点码”,其中高4位为器件种类 地点(由生产厂家拟订),低3位为器件引脚定义地点(由使用者定义),主控器件经过 地点码成立多机通信的体制。因此I2C总线省去了外围器件的片选线,这样不论总线上挂 接多少器件,其系统仍旧为简洁的二线构造; I2C总线上的所有器件都拥有“自动应答”功能,保证了数据互换的正确性; I2C总线系统拥有“时钟同步”功能。利用SCL线的“线与”逻辑协调不同器件之间的速 度问题; 在I2C总线系统中能够实现“多主机(主控器)”构造。依赖“总线仲裁”体制保证系统 中任何一个主控器都能够掌握总线的控制权。任何一个主控器之间没有优先级,没有中 心主机的特权。当多主机竞争总线时,依赖主控器对其SDA信号的“线与”逻辑,自动 实现“总线仲裁”功能; I2C总线系统中的主控器必须是带CPU的逻辑模块;而被控器能够是无CPU的普通外围器 件,也能够是拥有CPU的逻辑模块。主控器与被控器的区别在于SCL的发送权,即对总 线的控制权; 8.I2C总线不单宽泛应用于电路板级的“内部通信”场合,还能够经过I2C总线驱动器进行不 同系统间的通信; 9.I2C总线的工作速度分为3种版本:S(标准模式),速率为100kb/s。主要用于简单的检 测与控制场合;F(迅速模式),速率为400kb/s;Hs(高速模式),速率为3.4Mb/s。 IC总线的系统和接口内部构造 2.1I2C总线的系统构造 VCC SDA SCL S S S S S S S S SCL C D C D C D SCL C D L A L A L L SDA A SDA A 主控器A外围器件1外围器件2外围器件3主控器B外围器件n 图7.1拥有多主机的IC总线的系统构造 2.2IC总线接口的内部构造 每一个IC总线器件内部的SDA、SCL引脚电路结 VCC 构都是同样的,引脚的输出驱动与输入缓冲连在一 起。其中输出为漏极开路的场效应管、输入缓冲为一 只高输入阻抗的同相器。这种电路拥有两个特点:  SDA SCL SCLSDA 串行时钟串行数据 输出输出 ①由于SDA、SCL为漏极开路构造,借助于外部的上 拉电阻实现了信号的“线与”逻辑; 串行时钟 串行数据 输入 输入 ②引脚在输出信号的同时还将引脚上的电平进行检 测,检测是否与方才输出一致。为 “时钟同步”和 “总线仲裁”提供硬件基础。 图7.2I 2C总线接口内部构造 I2C总线的工作过程与原理 总线上的所有通信都是由主控器引发的。在一次通信中,主控器与被控器老是在扮演着两种不同的角色。 3.1主控制器向被控器发送数据 操作程如下: (1)主控器在到“空状”(即SDA、SCL均高平),送一个启 信号“S”,开始一次通信的开始; (2)主控器接着发送一个命令字节。该字节由7位的外围器件地点和1位读写控制位R/W 成(此R/W=0); (3)相的被控器收到命令字后向主控器回答信号ACK(ACK=0); (4)主控器收到被控器的答信号后开始送第一个字的数据; (5)被控器收到数据后返回一个答信号  ACK  ; (6)主控器收到答信号后再送下一个数据字  ?? (7)当主控器发送最后一个数据字节并收到被控器的  ACK  后,经过向被控器发送一个停 止信号  P束本次通信并放。被控器收到  P信号后也退出与主控器之的通信。 S从机地点(7位)R/WA数据1A数据2A数据1A数据NAP 启动信号 地点字节 应答信号 N个数据字节的写入 停止信号 (命令字) 主控器产生的信号被控器产生的信号 7.3主控器向被控器写N个数据的程 需要明的是:①主控器通送地点与的被控器成立了通信关系,而挂接在 上的其余被控

文档评论(0)

178****4202 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档