ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:208.08KB ,
资源ID:7544716      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7544716.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(I2C总线的结构与工作原理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

I2C总线的结构与工作原理.docx

1、I2C总线的结构与工作原理I 2C 总线的结构与工作原理2.1概述2.1.1I 2C 总线在单片机应用系统设计中的意义 现代消费类产品、通讯类产品、仪器仪表、工业测控系统中,逐渐形成了以一个或 多个单片机组成的智能系统,这些系统硬件结构都有相似之处:1.单片机电路已日趋简单化和标准化。通常是由单片机( MICROCONTROLL)E、R程序存储器( EPRO)M、数据存储器( SRAM)构成的三片体系,或采用有在片程序存储器的单片机与数据存储器构成的二片体系,以及单片机与通用外围接口器件( PSD)构成的最简单体系。2.都有一些外围通用电路,如 EEPRO、MI/O 口、 A/D、D/A、日历

2、时钟等外围器件和键盘、 LED/LCD显示器、打印机接口等 外围设备模块等。3.面对系统特殊应用的一些电路, 如无线电、 电视、 音像系统中的数字协调、 编码、解码、图象处理、 频率合成、 音调控制、 立体声处理等。在上述的一些电路中, 除与单片机直接相关的程序存储器、 并行扩展的数据存储器外, 单片机对许多外围电路之间主要是实 现控制功能,而且许多外设并不要求很高的数据传送速度。为了简化系统,提高系统的可靠性,缩短产品开发周期,增加硬 件结构的灵活性, Philips 公司推出了一种高效、可靠、方便的串行扩展总线 I2C 总线。在单片机应用系统中推广 I 2C总线后将会大大改变单片机应用系统

3、结构性能、对单片机的应用开发带来以下好处: 可最大限度地简化结构。二线制的 I 2C串行总线使得各电路单元之间只需最简单的连接,而且总线接口都集成在器件中,不 需另加总线接口电路。电路的简化省去了电路板上大量走线,减少电路板面积,提高了可靠性,降低了成本。 可实现电路系统的模块化、标准化设计。在 I 2C总线上各单元电路除了个别中断引线外,相互之间没有其他连线,用户常用的单元电路基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。标准 I 2C总线模块的组合开发方式大大地缩短了新品的开发周期。I2C 总线各节点具有独立的电器特性,各节点单元电路能在相互不受影响的情况下,甚至在系统供电

4、情况下,接入或撤除。I2C 总线系统构成具有最大的灵活性。系统该型设计、或对已加工好的电路板需扩展功能时,对原有设计及电路板系统影响 最小。I2C 总线系统可方便地对某一接点电路进行故障诊断与跟踪,有极好的可维护性目前 Philips 及I 2C总线器件,除带有 I 2C总线单片机、常用的通用外围器件外,在家电产品、电讯、电视、音像产品中已 发展成套 I 2C总线器件,在这些部门中 I 2C总线系统已得到了广泛的应用。212 I 2C总线的一般应用特性I 2C总线系统中,带有 I 2C总线的单片机,其 I 2C总线输入输出口的电器结构、相关的特殊功能寄存器( SFR)设置以及所提供的标准程序模

5、块,为用户掌握 I 2C总线的系统设计和应用软件的编制带来极大的方便。I2C 总线的串行数据传送与一般 UART的串行数据传送无论从借口电器特性、传送状态管理以及程序编制特点都有很大的不 同,了解这些特点十分重要。1 二线传输。 I 2C总线上所有的节点,如主器件(单片机,微处理器) 、外围器件、借口模块等都连到同名端的 SDA、SCL上。2 系统中有多个主器件时,这些器件都可作总线的主控制器(无中心主机) ,I2C 总线工作时任何一个主件都可成为主控制器,多机竞争时的时钟同步与总线仲裁都由硬件与标准软件模块自动完成,无须用户介入。3I2C 总线传输时,采用状态码的管理方法。对应于总线数据传输

6、时的任何一种状态,在状态寄存器中会出现相应的状态 码,并且会自动进入响应的状态处理程序中进行自动处理, 无须用户介入, 用户只须将 Philips 公司提供的标准状态处理器 一定的空间即可。4.系统中所有外围器件及模块采用器件地址及引脚地址的编码方法。系统中主控制器对任何节点的寻址采用纯软件寻址方 法,避免了片选线的先连方法。系统中若有地址编码冲突可通过改变地址引脚的电平设置来解决。5.所有带 I2C 接口的外围器件都具有应答功能。片内有多少单元地址时, 读数据、写时都有地址自动加 1 功能。这样,在 I2C 总线对某一器件读写多个字节时很容易实现自动操作,即准备好读、写入口条件后,只须启动

7、I2C 总线就可自动完成 n 个字节的读、写操作。6.I2C总线电器接口为开漏晶体管组成, 开路输出没有找到电源的钳位二级管, 而连到 I 2C 总线的每个器件上, 其自身 的电源可以独立(但须工地) ,总线上各个节点可在系统带电情况下接入或撤出。213 I 2C总线系统中的几个名词、术语I 2C总线系统的结构十分灵活。 系统中除了可以挂接带有 I 2C总线接口的单片机、 外围器件外, 通过 I 2C总线扩展器 PCD8584 可以挂接不带 I 2C总线接口的单片机、微处理器。通过外围器件可以扩展许多通用外设借口模块。I2C 总线系统构成、总线系统中数据传送时的有关名词、术语规范如下:一、 I

8、2C 总线系统中硬件构成的节点I 2C总线系统中每个带有 I 2C总线接口或 I 2C总线扩展接口的器件或模块,接入 I 2C总线中均构成一个 I 2C总线节点, 所有节点之间除公共电源及地外只通过 SDA/SCK相连。 由于接入器件的不同,总线中的节点可分为主器件节点和外围器件节点。主器件节点 :系统中由单片机或微处理机构成的节点,这些节点能对 I 2C 总线实现主动控制。外围器件节点 :系统中由不含 CPU的外围器件构成的节点。由于不含 CPU,这些节点无法实现对 I 2C总线的主动控制。二、 I 2C总线工作时的主动控制器主控器 : I 2C总线工作时,任何一个主器节点都能对总线实现控制

9、,当某个主器件节点控制了总线时,称为主控器。主控器 完成一次传输过程的初始化、发送时钟信号及传输终止信号。被控器 :被控器寻址的器件称为被控器。I2C 总线系统中,主器件可作为主控器也可作为被控器,而外围器件只能作为被控器。三、据传输中的接受 / 发送器I2C 总线系统中用发送器与接收器来表明数据传输的发送方与接收方。发送器 :总线上发送数据的器件。接收器 :总线上接收数据的器件。I2C 总线上的所有节点都可以成为发送器或接收器。四、主竞争中的仲裁与同步 在 I2C 总线系统中可以有多个主器件节点。如果某些主器件节点在运行时都企图控制总线,则形成多主竞争状态, I2C总线 系统可保证多个主器件

10、节点企图控制总线时不会丢失信息。 在总线竞争过程中进行总线控制权的仲裁和时钟同步, 仲裁结果 只允许其中一个主器件继续战局总线。多主竞争 :多个主器件节点同时企图控制总线。在多主主状态下总线信息不会丢失。仲裁 :在多主竞争状态时的裁决过程。 裁决的结果只允许其中一个主器节点成为主控器继续占据总线。 仲裁过程中总线上数 据不丢失。同步 ;多主竞争状态下将参与竞争的主器件的时钟信号进行同步处理。2.2I 2C 总线的基本原理I 2C总线的时钟线 SCL和数据线 SDA都是双向传输线。总线备用时 SDA和 SCL都必须保持高电平状态,只有关闭 I 2C总线时 才使 SCL钳位在低电平。 在标准 I2

11、C 模式下数据传送速率可达 100kbit/s ,高速模式下可达 400kbit/s. 总线的驱动能力受总 线电容限制,不加驱动扩展时驱动能力为 400pF。2 21 I 2C 总线的接口电路 为了能使总线上所有电路的输出能实现线“与”的逻辑功能,各个 I2C 总线的接口电路的输出端必须是漏极开路或集电极开路结构,如图 2.1 所示。输出端必须接上拉电阻。图 2.1I 2C 总线接口电路结构2.2.2I 2C 总线的信号及时序定义在 I2C 总线上每传输一位数据都有一个时钟脉冲相对应,其逻辑“ 0 ”和“ 1”的信号电平取决于该节点的正端电源 VDD的电压。数据的有效性I 2C 总线数据传输时

12、,在时钟线高电平期间数据线上必须保持有稳定的逻辑电平状态,高电平为数据 1 ,低电平为数据 0。只有在时钟线为低电平时,才允许数据线上的电平状态变化。如图 2.2 所示。图 2.2I 2C 总线上的数据位传送二、 总线数据传送的起始与停止I 2C总线数据传送有两种时序状态分别定义为起始信号和终止信号如图 2.3 所示 .图 2.3I 2C 总线的起始信号和终止信号 起始信号 :在时钟线保持高点平期间 ,数据线出现由高点平向低点平变化时将启动 I2C总线,为 I 2C总线的起始信号 .终止信号 :在时钟线保持高点平期间 ,数据线出现由低点平向高点平变化时将启动 I2C总线,为 I 2C总线的终止

13、信号 .起始信号与终止信号都是由主控制器产生 . 总线上带有 I 2C 总线接口的器件很容易检测到这些信号 . 但是对于不具备这些硬 件接口的一些单片机来说 , 为了能准确地检测到这些信号 , 必须保证在总线的一个时钟周期内对数据线至少进行两次采样 .三、 总线信号时序要求为了保证 I 2C总线数据的可靠传送 , 对总线上的信号时序作了严格的规定 , 其时序定义如图 2.4 所示.图中对 主要信号时序作了定义 , 并在表 2.1 中给出了具体数据 . 表中给出的 SCL时钟信号最小高电平和低电平周期决定了 器件的最大数据传输率 , 标准模式为 100Kbit/s, 高速模式为 400Kbit/

14、s. 标准模式和高速模式的 I 2C 总线器件都必须 能满足各自的最高数据传送速率要求 . 当然, 实际数据传送时可以选择不同的数据传送速率 , 同时也可以采取延长SCL低电平周期来控制数据传送速率 .图 2.4I 2C 总线的时序定义 表 2.1I 2C 总线信号定时要求参数符号标准模式高速模式单位最大值最小值最大值最小值SCL时钟频率Fscl01000400kHz在一个终止信号和起 始信号之间必须空闲 的时间Tbuf4.71.3us起始信号保持时间 (在 这段时间过后可产生 第一个时钟脉冲)Thd;s ta4.00.6UsSCL时钟信号低电平周期Tlow4.71.3UsSCL始终信号高电平

15、周期Thigh4.00.6Us一个重复信号的建立时间Tsu;s ta4.70.6Us数据保持时间: 与 CBUSThd;d5.0Us兼容的主控器 I 2C 总线 器件at01)01)0.9 2)Us数据建立时间Tsu;d at2501003)nsSDA和 SCL信号的上升 时间Tr100020+0.1Cb4)300NsSDA和 SCL信号的下降 时间Tf30020+0.1Cb4)300Ns终止信号的建立时间Tsu;s to4.00.6Us总线上每条线的负载电容Cb400400pF注 : 所有数值均以 V1Hmin和 ViLmax 电平为参考1)为了跨过 SCL信号下降沿中的未定义区域 ,所有的

16、器件都必须在内部对 SDA信号提供一个至少为 300ns 的保持时间 .2)只有在器件没有延长 SCL 信号低电平周期 (tlow) 的情况下才必须满足 thd,dat 最大的限制 .3)一个高速模式的 I 2C 总线器件可以用在一个标准模式的 I2C 总线系统中 , 但是关于 TSU,DAT=250NS的要求也同时 必须得到满足 .反之,它必须在释放 SCL以前(根据标准模式下 I 2C总线规范 )提前一定时间 TR+TSU;DAT=1000+250NS先, 在 SDA线上输出下一比特 .4)CB 表示以 pF 为单位的每条总线的总电容值 .2.2.3 I 2C 总线上的数据传送格式一、 I

17、 2C总线上的数据传送I 2C总线上传送的每一个字节均为 8 位,但每启动一次 I 2C总线,其后的数据传输字节数是没有限制的 .每传送一个字节后都 必须更岁一个应答位 , 并且首先发送的数据位为最高位在全部数据传送结束后主控制器发送终止信号 , 如图 2.5 所示 .图 2.5 I 2C 总线上的数据传送二、数据传送时的总线控制冲图中可以看到 , 没有时钟信号时数据传送将停止进行 , 接口的线与特征将使 SCL在低电平时钳住总线 . 这种情况可以用于当接收到一个字节数据后要进行一些其它工作而无法立即接收下个数据时 , 迫使总线进入等待状态 ,直到接收器准备好接收新数据时 ,接收器再释放时钟线

18、使数据传送得以继续正常进行 .例如, 当接收器接收完主控制器的一个字节数据后 , 产生中断信号并进行中断处理 , 中断处理完毕才能接收下一个字节数据 , 这时 接收器在中断处理时将钳住 SCL为低电平直到中断处理完毕才释放 SCL.三、应答信号I 2C总线数据传送时 ,每传送一个字节数据后都必须有应答信号 , 与应答信号想对应的时钟由主控器产生 ,这时 发送器必须在这一时钟位上释放数据线 ,使其处于高电平状态 ,以便接收器在这一位上送出应答信号 ,如图 2.6 所示. 应答信号在第 9 个时钟位上出现 , 接收器输出低电平为应答信号 (A), 输出高电平则为非应答信号 (/A). 由于某中原因

19、 ,被控器不产生应答时 , 如被控器正在进行其它处理而无法接收总线上 的数据时 ,必须释放总线 ,将数据线只高电平 , 然后主控制器可通过产生一个停止信号 来终止总线数据传输 .当主控器接收数据时 , 接收到最后一个数据字节后 , 必须给被空发送器发送一个非应答位 (A), 使被空发送器释放 数据总线 , 以便主控制发送停止信号 , 从而终止数据传送 .四、数据传送格式I2C 总线数据传输时必须遵循规定的数据格式,如图为一次完整的数据传输格式。图 2.6I 2C 总线上的应答信号图 2.7I 2C 总线的一次完整的数据传送按照总线规定, 起始信号表明一次数据传输的开始,其后为寻址字节,寻址字节

20、由高 7 位地址和最低 1 位方向位组成, 方向 位表明主控器和被控器数据传送方向, 方向位为 ”0”时表明主控器对被控器的写操作, 为”1”时表明主控器对被控器的读操作 . 在寻址字节后是按照指定读、写操作的数据字节与应答位。在数据传送完成后主控器都必须发送停止信号。总线上的数据传输有许多读、写组合方式。下面已简化的图解方式介绍三类数据传送格式。1.主控器的写操作。主控器向被寻址的被控器发送 n 个数据字节,整个传输过程中数据传送方向不变。其数据传送格式如 下:S SLAW A Data1 A Data2 A Datan-1 A Datan A/A P其中:主控器发送,被控器接收:主控器接收

21、,被控器发送A:应答信号A:非应答信号S:起始信号P:停止信号SLAW:寻址字节(写)Data1 datan: 写入被控器的 n 个数据字节2.主控器的读操作。 主控器从被控器中读出 n 个字节的操作, 整个传输过程中除寻址字节外, 都是被控器发送, 主控器接收 的过程。数据传送的格式如下:3.其中 Sr: 重复起始信号; 图中未表注数据字节的传输方向,其方向决定于寻址字节的方向位。从上述数据传送格式可以看出: 无论何种方式起始、停止,寻址字节都由主控器发送,数据字节的传送方向则遵循寻址字节中方向位的规定, 寻址字节只表明器件地址及传送方向, 器件内部的 n个数据地址由器件设计者在该器件的 I

22、2C 总线数据操作格式中指定第一 个数据字节作为器件内的单元地址数据。并且设置地址自动加减功能。每个字节传送都必须有应答信号相随。I2C 总线被控器在接收到起始信号后都必须复位它们的总线逻辑,以便对将要开始的被控器地址的传送进行预处理。2.2.4 I 2C 总线的寻址约定为了消除 I 2C总线系统中主控器与被控器的地址选择线 , 最大限度地简化总线连接线 ,I 2C总线采用了独特的寻址约定 , 规定了 起始信号后的第一个字节为寻址字节 , 用来寻址被控器件 , 并规定数据传送方向。一、寻址字节的位定义在I 2C总线系统中 ,寻址字节由被控器的七位地址位 (它占据了 D7D1位)和一位方向位 (

23、为 D0位)组成.方向位为 0时 表示主控器将数据写入被控器 , 为 1 时表示主控器从被控器读取数据 .主控器发送起始信号后 ,立即发送寻址字节 ,这时,总线上的所有器件都将寻址字节中的 7 位地址与自己器件地址想比较 . 如果两者相同 ,则该器件认为被主控器寻址 ,并根据读 ,写为确定是被控发送器或被控接收器 .I 2C总线系统中 ,主器件 (单片机)作为被控器时 ,其 7为从地址在 I 2C总线地址寄存器中给定 ,为纯软件地址 .而非单片机类 型的外围 器件地址完全由器件类型与引脚电平给定 ,即器件的 7位地址由器件编号地址 (高4位 D7D4)和引脚地址 (低 3位D3D1)组成, 如

24、 8 位 I/O扩展器件 PCF8574其器件编号地址为 0111, 引脚地址为 A2,A1,A0. 如果在 I 2C总线系统中 PCF8574地址引脚 A2,A1,A0 皆接地 , 则该器件的寻址字节为 SLAW=70H,SLAR=71H.2IC 总线上同一地址器件最大允许接入数量取决于可利用的地址引脚数 .二、寻址字节中的特殊地址I 2C总线地址统一由 I2C总线委员会实行分配 .其中两组编号地址 0000和1111已被保留作特殊用途 ,如表2.2 所示.I 2C 总线规约所给出的这些能与其它规约混合使用 , 只有那些能够一这种格式和规约工作的 I 2C总线兼容器才允许对这些保留地址进行应

25、答 .表 2.2I 2C 总线中的特殊字节被控器地址读/写用途0000 0000通用调用地址0000 0001起始字节0000 001XCBUS地址0000 010X为不同总线格式而保留的地址0000 011X待定0000 1XXX1111 1XXX1111 0XXX10 位被控器寻址1. 广播地址广播地址用于访问 I 2C 总线上所有器件 . 但是, 如果某个器件不需要主控器发送的广播数据时 , 则可以不对广播地址应答, 并且忽略该地址, 则必须对核地址进行应答 , 并成为一个被控接收广播寻址的第二个字节以及随后的广播寻址的内容是由第二个字节来设定的 , 其格式如下00000000AXXXX

26、XXXBA1)B 为 0 时的情况B 为 0 时第二字节有如下定义00000110(06H): 被控制器地址的可编程部分由硬件进行复位和写入 . 在收到这两个字节的序列后 , 所有能响应通用地址的器件都将复位 , 并 装入其地址中的可编程部分 .00000100(04H): 被控制器地址的可编程部分由硬件进行写入 , 在收到这两个字节的序列后 , 所有能响应广播寻址并通过硬 件来定义 它们各自可编程部分的器件将锁定它们地址中的可编程部分 , 但不进行复位 .00000000(00H): 该编码不允许用在第二字节 . 有关各种器件在广播寻址中的编程过程可参阅相应的资料 .第二字节的其余情况格式还

27、未确定,各器件应忽略这些数据。2)B为 1 时的情况当 B为 1 时, 广播地址中的二个字节为硬件广播呼叫 ,它表示数据是一个硬件主空乏送、 主控发出的 , 例如一个键盘控制器 等, 这些器件无法通过对它编程来发送一个所希望的被控器地址。由于硬件主控器无法事先知道送出的信息将传向哪个被控 器,所以它只能通过发送这种硬件广播呼叫和自身的地址 ,以使系统识别它 . 硬件主控发送器的数据传送格式如下:S 0000 A 主控器地址 1 A data A data A P 通用调用地址 第二字节 n 字节 +应答 第二个字节中的七位数据是硬件主控器的地址 ,这个地址可被总线上的一个主控器件所识别 , 并

28、由它来处理硬件主控器发送的数据 . 如果硬件 主控器也能作为被控器工作 , 则硬件主控器地址就是它的被控器地址 .在一些系统中 ,广播寻址还可以有另外一种方式 ,即复位后 , 硬件主控发送器可以首先进入被控接收器工作方式 ,由系统配置一个主控制器来通知数据传送对象的地址 , 在完成这个编程过程后 ,硬件主控器工作方式 , 其数据操作格式如下 : 系统主控器将转移地址发送给硬件主控器S硬件主控器被接收器地址WA硬件主控器转移地址XAP硬件主控器将数据发送给所选择的被控接收器 .S硬件主控器被接收器地址WA data A dataA/AP n 字节 + 应答 2. 起始字节起始字节是提供给无 I

29、2C总线接口的单片机查询 I 2C总线时使用的特殊字节 .通常单片机可以通过两种方法接入 I 2C总线.如果本身带有 I2C 总线的硬件接口 , 则可以通过编程来响应由 I 2C总线请求 而产生的中断 . 单如果 单片机不具备这样的硬件接口时 ,则必须通过软件不断检测总线 ,以便及时响应总线的请求 .显然 ,单片机监控总线或定时查 询总线的单片机来说 , 工作速度会减慢而与快速硬件电路之间产生一定差距 , 再这种情况下 ,I 2C 总线上的数据可以由一个较长的起始过程加以引导 如图 2.8 所示图 2.8 起始字节引导过程引导过程由起始信号 S,起始字节 , 应答位,重复信号 SR组成.请求访

30、问总线的主控器在向总线传送一个起始信号后 , 接着传送一个起始字节 (00000001), 另一个单片机可以有一个较低 的采样率对 SDA线进行采样 ,直到起始字节中七个 0 信号中的一位被检测到为止 , 然后这个单片机即可转而以较高的采样速率对 I 2C总线的软件查寻 , 以便发现 用于同步的第二个起始信号 SR.在收到第三个起始信号 SR后,硬件接收器将复位 , 由此而忽略整个起始字节 .在起始字节后 , 会才生一个与应答信号相关的时钟脉冲 , 这仅仅是为了使总线的数据处理格式保持一致 , 不允许任何电路对 起始字节进行应答 .3.CBUS 地址CBUS 地址的设置使现有的 CBUS接收器也可以接入 I 2C 总线 .CBUS 发送器 / 接收器必须同时连接第三条信号线 DLEN,并 且省去 I 2C总线通讯中的应答信号位 .通常 I 2C总线上数据传输都是以 8位为一字节的组合 ,而 CBUS电路却采用了不同的数据格式 .由于在 I 2C总线和 CBUS混合总线中 ,不允许 I 2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1