- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)