I2C串行接口技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《I2C串行接口技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- I2C 串行 接口 技术 课件
- 资源描述:
-
1、串行接口技术I2C串行总线串行总线I2C串行总线是Philips公司提出的一种板内芯片间串行总线。它用两根连线即可方便地实现外围器件扩展。I2C总线上数据传送的基本单位为字节,采用高位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。第6章 串行接口技术1. I2C串行总线原理与应用串行总线原理与应用 2. 串行单总线原理与应用串行单总线原理与应用 3. 串行模串行模/数转换器数转换器 4. I2C总线键盘总线键盘/显示器接口芯片显示器接口芯片ZLG7290 5. I2C总线串行总线串行8位数位数/模转换器模转换器MAX517 6. 基于基于I
2、2C总线的总线的ADS1100型型16位模位模/数转换器数转换器I2C串行总线原理与应用串行总线原理与应用 I2C串行总线的组成与工作原理串行总线的组成与工作原理 I2C串行总线的接口设计串行总线的接口设计 I2C串行总线器件串行总线器件 应用举例应用举例 实践与思考实践与思考I2C串行总线的组成与工作原理串行总线的组成与工作原理 I2C串行总线的基本特性串行总线的基本特性 I2C总线的数据传送总线的数据传送 I2C串行总线的基本特性串行总线的基本特性I2C总线是Philips公司推出的一种串行总线,是具备多主机系统所需的包括总线仲裁和高低速器件同步功能的高性能串行总线。它具有如下基本特性。
3、I2C串行总线只有两根双向信号线串行总线只有两根双向信号线 I2C总线是一个多主机总线总线是一个多主机总线 I2C总线的总线的SDA和和SCL是双向的,均通过是双向的,均通过上拉电阻接正电源上拉电阻接正电源 I2C总线的总线仲裁总线的总线仲裁I2C串行总线只有两根双向信号线串行总线只有两根双向信号线 一根是数据线SDA,另一根是时钟线SCL。所有连接到I2C总线上的器件的数据线都接到SDA线上,各器件的时钟线均接到SCL线上。I2C总线的基本结构如图所示。I2C总线是一个多主机总线总线是一个多主机总线总线上可以有一个或多个主机,总线运行由主机控制。这里所说的主机是指启动数据的传送(发起始信号)
4、、发出时钟信号、传送结束时发出终止信号的器件。通常,主机由各种单片机或其他微处理器充当。被主机寻访的器件叫从机,它可以是各种单片机或其他微处理器,也可以是其他器件,如存储器、LED或LCD驱动器、A/D或D/A转换器、时钟日历器件等。I2C总线的总线的SDA和和SCL是双向的是双向的均通过上拉电阻接正电源均通过上拉电阻接正电源 如图所示,当总线空闲时,两根线均为高电平。连到总线上的器件(相当于结点)的输出级必须是漏极或集电极开路的,任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。SCL线上的时钟信号对SDA线上各器件间数据的传输起同步作用。SDA线上数据的
5、起始、终止及数据的有效性均要根据SCL线上的时钟信号来判断。在标准I2C普通模式下,数据的传输率为100Kbps,高速模式下可达400Kbps。连接的器件越多,电容值越大,总线上允许的器件数以总线上的电容量不超过400pF为限。 I2C总线的总线仲裁总线的总线仲裁在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。首先,不同主器件(欲发送数据的器件)分别发出的时钟信号在SCL线上“线与”产生系统时钟:其低电平时间为周期最长的主器件的低电平时间,高电平时间则是周期最短主器件的高电平时间。仲裁的方法是:各主器件在各自时钟的高电
6、平期间送出各自要发送的数据到SDA线上,并在SCL的高电平期间检测SDA线上的数据是否与自己发出的数据相同。 I2C总线的数据传送总线的数据传送 数据位的有效性规定数据位的有效性规定 起始和终止信号起始和终止信号 数据传送格式数据传送格式 I2C总线的时序特性总线的时序特性 I2C总线的寻址总线的寻址 数据位的有效性规定数据位的有效性规定I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定。只有在时钟线上的信号为低电平期间,数据线上的高电平或低电工状态才允许变化,如图所示。 起始和终止信号起始和终止信号 根据I2C总线协议的规定,SCL线为高电平期间,SDA线由高电平向低
7、电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。起始和终止信号如图所示。数据传送格式数据传送格式 (1)字节传送与应答)字节传送与应答 利用I2C总线进行数据传送时,传送的字节数是没有限制的,但是每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位),如图所示: 应答时序图 数据传送格式数据传送格式(2)数据帧格式)数据帧格式 在总线的一次数据传送过程中,可以有以下几种组合方式: 主机向从机发送数据,数据传送方向在整个传送过程中不变。AP数据A数据A0从机地址S 主机在第一个字节后
8、,立即由从机读数据。P数据A数据A1从机地址SA 在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正好反向。AP数据A1从机地址S数据A0从机地址SA注:有阴影部分表示数据注:有阴影部分表示数据由主机向从机传送,无阴由主机向从机传送,无阴影部分则表示数据由从机影部分则表示数据由从机向主机传送。向主机传送。A表示应答,表示非应答表示应答,表示非应答(高电平)。(高电平)。S表示起始表示起始信号,信号,P表示终止信号。表示终止信号。I2C总线的时序特性总线的时序特性为了保证数据传送的可靠性,标准I2C总线的数据传送有严格的时序要求。I2C总线的起始信号、终
9、止信号、发送“0”及发送“1”的模拟时序如图所示。典型信号时序图 I2C总线的时序特性总线的时序特性下表为I2C总线的时序特性。由表可见,除了SDA、SCL线的信号下降时间为最大值外,其他参数只有最小值。这表明在I2C总线的数据传送中,可以利用时钟同步机制展宽低电平周期,迫使主器件处于等待状态,使传送速率降低。参 数 说 明符号最小值最大值单位新的起始信号前总线必须的空闲时间TBUF4.7s起始信号保持时间THD:STA4.0s时钟的低电平时间TLOW4.7s时钟的高电平时间THIGH4.0s起始信号建立时间(仅对重复起始信号)TSU:STA4.0s数据建立时间TSU:DAT250nsSDA、
10、SCL线的信号下降时间TF300ns终止信号建立时间TSU:STO4.7sI2C总线的寻址总线的寻址 I2C总线协议有明确的规定:采用7位的寻址字节(寻址字节是起始信号后的第一个字节)。 (1)寻址字节的位定义)寻址字节的位定义D7D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/W位将自己确定为发送器或接收器。从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线
11、该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。 I2C总线的寻址总线的寻址(2)寻址字节中的特殊地址)寻址字节中的特殊地址 总线规定了一些特殊地址。其中两组固定地址编号0000和1111已被保留作为特殊用途,如表所示。 R/W十位从机地址0 1 1 1 11 1 1 1 11 0 0 0 0保留0 1 10 0 0 0为不同总线的保留地址0 1 00 0 0 0CBUS地址0 0 10 0 0 0起始字节10 0 00 0 0 0通用呼叫地址00 0 00 0 0 0意 义地 址 位I2C总
12、线的寻址总线的寻址起始信号后第一字节的8位为“0000 0000”时,称为通用呼叫地址,即用于寻访接到I2C总线上所有器件的地址。通用呼叫地址的用意在第二字节中加以说明。格式为: 00000000ABA第二字节为06H时,所有能响应通用呼叫地址的从机器件复位,并由硬件装入从机地址的可编程部分。能响应命令的从机器件复位时不拉低SDA和SCL线,以免堵塞总线。第二字节为04H时,所有能响应通用呼叫地址并通过硬件来定义其可编程地址的从机器件将锁定地址中的可编程位,但不进行复位。如果第二字节的方向位B为“1”,则这两个字节命令称为硬件通用呼叫命令。也就是说这是由“硬件主器件”发出的。 I2C总线的寻址
13、总线的寻址所谓硬件主器件,就是不能发送所要寻访从器件地址的发送器,如键盘扫描器等。制造这种器件时无法知道信息应向哪儿传送,所以,它发出硬件呼叫命令,在这第二字节的高7位说明自己的地址。接在总线上的智能器件,如单片机或其他微处理器能识别这个地址,并与之传送数据。硬件主器件作为从机使用时,也用这个地址作为从机地址。格式为: S00000000A主机地址1A 数据 A数据A P在系统中另一种选择可能是系统复位时硬件主机器件工作在从机接收器方式,这时由系统中的主机先告诉硬件主机器件数据应送往的从机器件地址,当硬件主机器件要发送数据时,就可以直接向指定从机器件发送数据了。I2C总线的寻址总线的寻址(3)
14、起始字节)起始字节 起始字节是提供给没有I2C总线接口的单片机查询I2C总线时使用的特殊字节。于是单片机的速度与硬件接口器件的速度存在较大的差别,因此I2C总线上的数据传送要由一个较长的起始过程加以引导,如图所示。 起始引导字节 I2C串行总线的接口设计串行总线的接口设计 I2C串行总线的接口设计分两种情况:一种是单片机自身带有I2C总线硬件接口,另一种是早期单片机不含I2C总线硬件接口。Philips公司推出的P89C66X系列单片机内含I2C总线逻辑,提供了符合I2C总线规范的串行接口,具有性能稳定、速度快、使用方便等优点;而Philips公司推出的P8XC552、P8XC654以及P8X
15、C652系列单片机不具有I2C总线逻辑,在外接I2C总线接口器件,需要模拟实现。 P89C66X系列单片机系列单片机I2C总线接口总线接口 I2C总线模拟硬件接口软件设计总线模拟硬件接口软件设计 P89C66X系列单片机系列单片机I2C总线接口总线接口 1. 引脚设计引脚设计P89C66X系列单片机有44脚PLCC和LQFP两种封装,其中P1.6/SCL和P1.7/SDA分别为I2C总线的时钟线和数据线,且因为芯片内部采用漏级开路工艺,所以当用户将这两个引脚用做I2C总线接口时,需外接上拉电阻,如图所示。 P89C66X系列单片机I2C总线接口引脚图 P89C66X系列单片机系列单片机I2C总
16、线接口总线接口2. P89C66X系列单片机系列单片机I2C总线的控制寄存器总线的控制寄存器P89C66X系列单片机内部与I2C总线有关的寄存器共有4个,通过对这4个寄存器的编程实现I2C总线功能,如表所示: 名 称寄存器符号说 明地址寄存器S1ADR该寄存器用于保存单片机本身的从地址数据寄存器S1DAT该寄存器用于保存发送或接收到的数据字节控制寄存器S1CON该寄存器用于I2C总线的设置状态寄存器S1STA该寄存器用于显示当前I2C总线的状态地址寄存器(地址寄存器(S1ADR) 该寄存器用于保存单片机本身的从地址,CPU可以对该寄存器进行读写操作。其中高7位为地址本身,最低位为通用地址识别标
17、志GC。当单片机作为主器件存在时,该寄存器不起作用;当单片机作为从器件存在的时候,接收到的地址字节的高7位将与S1ADR的值相比较,如果相同则接收后面的数据信息。此外,如果通用地址识别标志GC为0,单片机不识别通用调用地址(如广播地址);GC为1时,单片机识别通用调用地址。 控制寄存器(控制寄存器(S1CON) 该寄存器用于对I2C总线进行设置,各功能位含义如下: D7D6D5D4D3D2D1D0CR2ENS1STASTOSIAACR1CR0ENS1:I2C总线使能位。当ENS1为0时,SDA和SCL输出为高阻状态;当ENS1为1时,I2C总线使能。STA:I2C总线起始条件标志位。当STA为
18、0时,单片机不产生起始条件,当STA为1时,单片机首先利用硬件检测I2C总线状态。STO:I2C总线停止条件标志位。当STO为0时,单片机不产生停止条件;当STO为1时,如果单片机处于主模式,则立刻向I2C总线发送停止条件,如果单片机处于从模式,则可以从错误条件中恢复出来。STO位可由硬件清零。控制寄存器(控制寄存器(S1CON)SI:串行中断标志位。当SI标志位置位,并且EA和ES1都置位时,产生一个中断请求。单片机就可以对接收到的数据进行处理,处理完成后,SI必须由软件清零。AA:声明应答标志位。当AA为1时,如果器件接收到自身的从地址(或广播地址),或者接收到一个完整的数据字节之后,将会
展开阅读全文