I2C总线的结构与工作原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I²C总线的结构与工作原理
2.1概述
2.1.1 I²C总线在单片机应用系统设计中的意义
现代消费类产品、通讯类产品、仪器仪表、工业测控系统中,逐渐形成了以一个或
多个单片机组成的智能系统,这些系统硬件结构都有相似之处:
1.单片机电路已日趋简单化和标准化。通常是由单片机(MICROCONTROLLER)、程序存储器(EPROM)、数据存储器(SRAM)构成的三片体系,或采用有在片程序存储器的单片机与数据存储器构成的二片体系,以及单片机与通用外围接口器件(PSD)构成的最简单体系。
2. 都有一些外围通用电路,如EEPROM、I/O口、A/D、D/A、日历时钟等外围器件和键盘、LED/LCD显示器、打印机接口等外围设备模块等。
3.面对系统特殊应用的一些电路,如无线电、电视、音像系统中的数字协调、编码、解码、图象处理、频率合成、音调控制、立体声处理等。
在上述的一些电路中,除与单片机直接相关的程序存储器、并行扩展的数据存储器外,单片机对许多外围电路之间主要是实现控制功能,而且许多外设并不要求很高的数据传送速度。为了简化系统,提高系统的可靠性,缩短产品开发周期,增加硬件结构的灵活性,Philips公司推出了一种高效、可靠、方便的串行扩展总线I²C总线。
在单片机应用系统中推广I²C总线后将会大大改变单片机应用系统结构性能、对单片机的应用开发带来以下好处:
可最大限度地简化结构。二线制的I²C串行总线使得各电路单元之间只需最简单的连接,而且总线接口都集成在器件中,不需另加总线接口电路。电路的简化省去了电路板上大量走线,减少电路板面积,提高了可靠性,降低了成本。
可实现电路系统的模块化、标准化设计。在I²C总线上各单元电路除了个别中断引线外,相互之间没有其他连线,用户常用的单元电路基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。
标准I²C总线模块的组合开发方式大缩短了新品的开发周期。
I²C总线各节点具有独立的电器特性,各节点单元电路能在相互不受影响的情况下,甚至在系统供电情况下,接入或撤除。I²C总线系统构成具有最大的灵活性。系统该型设计、或对已加工好的电路板需扩展功能时,对原有设计及电路板系统影响最小。
I²C总线系统可方便地对某一接点电路进行故障诊断与跟踪,有极好的可维护性
目前Philips及I²C总线器件,除带有I²C总线单片机、常用的通用外围器件外,在家电产品、电讯、电视、音像产品中已发展成套I²C总线器件,在这些部门中I²C总线系统已得到了广泛的应用。
2.1.2 I²C总线的一般应用特性
I²C总线系统中,带有I²C总线的单片机,其I²C总线输入输出口的电器结构、相关的特殊功能寄存器(SFR)设置以及所提供的标准程序模块,为用户掌握I²C总线的系统设计和应用软件的编制带来极大的方便。
I²C总线的串行数据传送与一般UART的串行数据传送无论从借口电器特性、传送状态管理以及程序编制特点都有很大的不同,了解这些特点十分重要。
1.二线传输。I²C总线上所有的节点,如主器件(单片机,微处理器)、外围器件、借口模块等都连到同名端的SDA、SCL上。
2.系统中有多个主器件时,这些器件都可作总线的主控制器(无中心主机),I²C总线工作时任何一个主件都可成为主控制器,多机竞争时的时钟同步与总线仲裁都由硬件与标准软件模块自动完成,无须用户介入。
3.I²C总线传输时,采用状态码的管理方法。对应于总线数据传输时的任何一种状态,在状态寄存器中会出现相应的状态码,并且会自动进入响应的状态处理程序中进行自动处理,无须用户介入,用户只须将Philips公司提供的标准状态处理器一定的空间即可。
4.系统中所有外围器件及模块采用器件地址及引脚地址的编码方法。系统中主控制器对任何节点的寻址采用纯软件寻址方法,避免了片选线的先连方法。系统中若有地址编码冲突可通过改变地址引脚的电平设置来解决。
5.所有带I²C接口的外围器件都具有应答功能。片有多少单元地址时,读数据、写时都有地址自动加1功能。这样,在I²C 总线对某一器件读写多个字节时很容易实现自动操作,即准备好读、写入口条件后,只须启动I²C总线就可自动完成n个字节的读、写操作。
6.I²C总线电器接口为开漏晶体管组成,开路输出没有找到电源的钳位二级管,而连到I²C总线的每个器件上,其自身
的电源可以独立(但须工地),总线上各个节点可在系统带电情况下接入或撤出。
2.1.3 I²C总线系统中的几个名词、术语
I²C总线系统的结构十分灵活。系统中除了可以挂接带有I²C总线接口的单片机、外围器件外,通过I²C总线扩展器PCD8584可以挂接不带I²C总线接口的单片机、微处理器。通过外围器件可以扩展许多通用外设借口模块。
I²C总线系统构成、总线系统中数据传送时的有关名词、术语规如下:
一、I²C总线系统中硬件构成的节点
I²C总线系统中每个带有I²C总线接口或I²C总线扩展接口的器件或模块,接入I²C总线中均构成一个I²C总线节点,所有节点之间除公共电源及地外只通过SDA/SCK相连。
由于接入器件的不同,总线中的节点可分为主器件节点和外围器件节点。
主器件节点:系统中由单片机或微处理机构成的节点,这些节点能对I²C总线实现主动控制。
外围器件节点:系统中由不含CPU的外围器件构成的节点。由于不含CPU,这些节点无法实现对I²C总线的主动控制。
二、I²C总线工作时的主动控制器
主控器:I²C总线工作时,任何一个主器节点都能对总线实现控制,当某个主器件节点控制了总线时,称为主控器。主控器完成一次传输过程的初始化、发送时钟信号及传输终止信号。
被控器:被控器寻址的器件称为被控器。
I²C总线系统中,主器件可作为主控器也可作为被控器,而外围器件只能作为被控器。
三、据传输中的接受/发送器
I²C总线系统中用发送器与接收器来表明数据传输的发送方与接收方。
发送器:总线上发送数据的器件。
接收器:总线上接收数据的器件。
I²C总线上的所有节点都可以成为发送器或接收器。
四、主竞争中的仲裁与同步
在I²C总线系统中可以有多个主器件节点。如果某些主器件节点在运行时都企图控制总线,则形成多主竞争状态,I²C总线系统可保证多个主器件节点企图控制总线时不会丢失信息。在总线竞争过程中进行总线控制权的仲裁和时钟同步,仲裁结果只允许其中一个主器件继续战局总线。
多主竞争:多个主器件节点同时企图控制总线。在多主主状态下总线信息不会丢失。
仲裁:在多主竞争状态时的裁决过程。裁决的结果只允许其中一个主器节点成为主控器继续占据总线。仲裁过程中总线上数据不丢失。
同步;多主竞争状态下将参与竞争的主器件的时钟信号进行同步处理。
2.2 I²C总线的基本原理
I²C总线的时钟线SCL和数据线SDA都是双向传输线。总线备用时SDA和SCL都必须保持高电平状态,只有关闭I²C总线时才使SCL钳位在低电平。在标准I²C模式下数据传送速率可达100kbit/s,高速模式下可达400kbit/s.总线的驱动能力受总线电容限制,不加驱动扩展时驱动能力为400pF。
2.2.1 I²C总线的接口电路
为了能使总线上所有电路的输出能实现线“与”的逻辑功能,各个I²C总线的接口电路的输出端必须是漏极开路或集电极开路结构,如图2.1所示。输出端必须接上拉电阻。