《串行接口技术》PPT课件.ppt
《《串行接口技术》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《串行接口技术》PPT课件.ppt(133页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 串行接口技术在串行扩展中,可以根据接口主器件的数量分为单主器件系统和多主在串行扩展中,可以根据接口主器件的数量分为单主器件系统和多主器件系统。其中单主器件系统应用最普遍。在单主器件系统中,具有器件系统。其中单主器件系统应用最普遍。在单主器件系统中,具有一个主器件和多个从器件,数据的传送由主器件控制。主器件启动和一个主器件和多个从器件,数据的传送由主器件控制。主器件启动和停止数据的发送,提供同步时钟信号。在应用中使用种类最多的是功停止数据的发送,提供同步时钟信号。在应用中使用种类最多的是功能繁多的从器件。目前常用串行总线主要有能繁多的从器件。目前常用串行总线主要有I2C总线、总线、SPI
2、总线、总线、One-Wire总线(单总线)。总线(单总线)。本章介绍支持器件较多、连接较为简单的本章介绍支持器件较多、连接较为简单的I2C串行总线和串行总线和One-Wire总总线。线。第6章 串行接口技术I2C串行总线串行总线I2C串行总线是Philips公司提出的一种板内芯片间串行总线。它用两根连线即可方便地实现外围器件扩展。I2C总线上数据传送的基本单位为字节,采用高位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。第6章 串行接口技术SPI总线总线SPI(同步串行外设接口)由Motorola公司提出,是一种三线同步接口,分别为同步信号
3、、输入信号和输出信号。另外每个扩展芯片还需要一根片选线,主器件通过片选线选通与其通信的从器件。SPI是全双工的,即数据的发送和接收可同时进行。如果仅对从器件写数据,主器件可以丢弃同时读入的数据;反之,如果仅读数据,可以在命令字节后,写入任意数据。数据传送以字节为单位,并采用高位在前的格式。第6章 串行接口技术One-Wire总线(单总线)总线(单总线)One-Wire总线是DALLAS公司研制开发的一种协议。它由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合One-Wire协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家族代码和8位的CR
4、C代码。主芯片对各个从芯片的寻址依据这64位的不同来进行。One-Wire总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括复位及应答时序、写一位时序、读一位时序。在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。第6章 串行接口技术1.I2C串行总线原理与应用串行总线原理与应用 2.串行单总线原理与应用串行单总线原理与应用 3.串行模串行模/数转换器数转换器 4.I2C总线键盘总线键盘/显示器接口芯片显示器接口芯片ZLG7290 5.I2C总线串行总线
5、串行8位数位数/模转换器模转换器MAX517 6.基于基于I2C总线的总线的ADS1100型型16位模位模/数转换数转换器器I2C串行总线原理与应用串行总线原理与应用 I2C串行总线的组成与工作原理串行总线的组成与工作原理 I2C串行总线的接口设计串行总线的接口设计 I2C串行总线器件串行总线器件 应用举例应用举例 实践与思考实践与思考I2C串行总线的组成与工作原理串行总线的组成与工作原理I2C串行总线的基本特性串行总线的基本特性I2C总线的数据传送总线的数据传送 I2C串行总线的基本特性串行总线的基本特性I2C总线是Philips公司推出的一种串行总线,是具备多主机系统所需的包括总线仲裁和高
6、低速器件同步功能的高性能串行总线。它具有如下基本特性。I2C串行总线只有两根双向信号线串行总线只有两根双向信号线I2C总线是一个多主机总线总线是一个多主机总线I2C总线的总线的SDA和和SCL是双向的,均通过是双向的,均通过上拉电阻接正电源上拉电阻接正电源I2C总线的总线仲裁总线的总线仲裁I2C串行总线只有两根双向信号线串行总线只有两根双向信号线 一根是数据线SDA,另一根是时钟线SCL。所有连接到I2C总线上的器件的数据线都接到SDA线上,各器件的时钟线均接到SCL线上。I2C总线的基本结构如图所示。I2C总线是一个多主机总线总线是一个多主机总线总线上可以有一个或多个主机,总线运行由主机控制
7、。这里所说的主机是指启动数据的传送(发起始信号)、发出时钟信号、传送结束时发出终止信号的器件。通常,主机由各种单片机或其他微处理器充当。被主机寻访的器件叫从机,它可以是各种单片机或其他微处理器,也可以是其他器件,如存储器、LED或LCD驱动器、A/D或D/A转换器、时钟日历器件等。I2C总线的总线的SDA和和SCL是双向的是双向的均通过上拉电阻接正电源均通过上拉电阻接正电源 如图所示,当总线空闲时,两根线均为高电平。连到总线上的器件(相当于结点)的输出级必须是漏极或集电极开路的,任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。SCL线上的时钟信号对SDA线
8、上各器件间数据的传输起同步作用。SDA线上数据的起始、终止及数据的有效性均要根据SCL线上的时钟信号来判断。在标准I2C普通模式下,数据的传输率为100Kbps,高速模式下可达400Kbps。连接的器件越多,电容值越大,总线上允许的器件数以总线上的电容量不超过400pF为限。I2C总线的总线仲裁总线的总线仲裁在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。首先,不同主器件(欲发送数据的器件)分别发出的时钟信号在SCL线上“线与”产生系统时钟:其低电平时间为周期最长的主器件的低电平时间,高电平时间则是周期最短主器件的高电
9、平时间。仲裁的方法是:各主器件在各自时钟的高电平期间送出各自要发送的数据到SDA线上,并在SCL的高电平期间检测SDA线上的数据是否与自己发出的数据相同。I2C总线的数据传送总线的数据传送 数据位的有效性规定数据位的有效性规定 起始和终止信号起始和终止信号数据传送格式数据传送格式 I2C总线的时序特性总线的时序特性 I2C总线的寻址总线的寻址 数据位的有效性规定数据位的有效性规定I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定。只有在时钟线上的信号为低电平期间,数据线上的高电平或低电工状态才允许变化,如图所示。起始和终止信号起始和终止信号 根据I2C总线协议的规定,S
10、CL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。起始和终止信号如图所示。数据传送格式数据传送格式(1)字节传送与应答)字节传送与应答 利用I2C总线进行数据传送时,传送的字节数是没有限制的,但是每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位),如图所示:应答时序图数据传送格式数据传送格式(2)数据帧格式)数据帧格式 在总线的一次数据传送过程中,可以有以下几种组合方式:主机向从机发送数据,数据传送方向在整个传送过程中不变。P数据A数据A0
11、从机地址S主机在第一个字节后,立即由从机读数据。P数据A数据A1从机地址SA在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正好反向。P数据A1从机地址S数据A0从机地址S注:有阴影部分表示数据注:有阴影部分表示数据由主机向从机传送,无阴由主机向从机传送,无阴影部分则表示数据由从机影部分则表示数据由从机向主机传送。向主机传送。A表示应答,表示非应答表示应答,表示非应答(高电平)。(高电平)。S表示起始表示起始信号,信号,P表示终止信号。表示终止信号。I2C总线的时序特性总线的时序特性为了保证数据传送的可靠性,标准I2C总线的数据传送有严格的时序要求。I
12、2C总线的起始信号、终止信号、发送“0”及发送“1”的模拟时序如图所示。典型信号时序图I2C总线的时序特性总线的时序特性下表为I2C总线的时序特性。由表可见,除了SDA、SCL线的信号下降时间为最大值外,其他参数只有最小值。这表明在I2C总线的数据传送中,可以利用时钟同步机制展宽低电平周期,迫使主器件处于等待状态,使传送速率降低。参 数 说 明符号最小值最大值单位新的起始信号前总线必须的空闲时间TBUF4.7s起始信号保持时间THD:STA4.0s时钟的低电平时间TLOW4.7s时钟的高电平时间THIGH4.0s起始信号建立时间(仅对重复起始信号)TSU:STA4.0s数据建立时间TSU:DA
13、T250nsSDA、SCL线的信号下降时间TF300ns终止信号建立时间TSU:STO4.7sI2C总线的寻址总线的寻址 I2C总线协议有明确的规定:采用7位的寻址字节(寻址字节是起始信号后的第一个字节)。(1)寻址字节的位定义)寻址字节的位定义D7D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/W位将自己确定为发送器或接收器。从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部
14、分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。I2C总线的寻址总线的寻址(2)寻址字节中的特殊地址)寻址字节中的特殊地址 总线规定了一些特殊地址。其中两组固定地址编号0000和1111已被保留作为特殊用途,如表所示。R/十位从机地址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意 义地 址
15、 位I2C总线的寻址总线的寻址起始信号后第一字节的8位为“00000000”时,称为通用呼叫地址,即用于寻访接到I2C总线上所有器件的地址。通用呼叫地址的用意在第二字节中加以说明。格式为:0 0 0 0 0 0 0 0 A B A第二字节为06H时,所有能响应通用呼叫地址的从机器件复位,并由硬件装入从机地址的可编程部分。能响应命令的从机器件复位时不拉低SDA和SCL线,以免堵塞总线。第二字节为04H时,所有能响应通用呼叫地址并通过硬件来定义其可编程地址的从机器件将锁定地址中的可编程位,但不进行复位。如果第二字节的方向位B为“1”,则这两个字节命令称为硬件通用呼叫命令。也就是说这是由“硬件主器件
16、”发出的。I2C总线的寻址总线的寻址所谓硬件主器件,就是不能发送所要寻访从器件地址的发送器,如键盘扫描器等。制造这种器件时无法知道信息应向哪儿传送,所以,它发出硬件呼叫命令,在这第二字节的高7位说明自己的地址。接在总线上的智能器件,如单片机或其他微处理器能识别这个地址,并与之传送数据。硬件主器件作为从机使用时,也用这个地址作为从机地址。格式为:S00000000A主机地址1A 数据 A数据A P在系统中另一种选择可能是系统复位时硬件主机器件工作在从机接收器方式,这时由系统中的主机先告诉硬件主机器件数据应送往的从机器件地址,当硬件主机器件要发送数据时,就可以直接向指定从机器件发送数据了。I2C总
17、线的寻址总线的寻址(3)起始字节)起始字节 起始字节是提供给没有I2C总线接口的单片机查询I2C总线时使用的特殊字节。于是单片机的速度与硬件接口器件的速度存在较大的差别,因此I2C总线上的数据传送要由一个较长的起始过程加以引导,如图所示。起始引导字节I2C串行总线的接口设计串行总线的接口设计 I2C串行总线的接口设计分两种情况:一种是单片机自身带有I2C总线硬件接口,另一种是早期单片机不含I2C总线硬件接口。Philips公司推出的P89C66X系列单片机内含I2C总线逻辑,提供了符合I2C总线规范的串行接口,具有性能稳定、速度快、使用方便等优点;而Philips公司推出的P8XC552、P8
18、XC654以及P8XC652系列单片机不具有I2C总线逻辑,在外接I2C总线接口器件,需要模拟实现。P89C66X系列单片机系列单片机I2C总线接口总线接口 I2C总线模拟硬件接口软件设计总线模拟硬件接口软件设计 P89C66X系列单片机系列单片机I2C总线接口总线接口 1.引脚设计引脚设计P89C66X系列单片机有44脚PLCC和LQFP两种封装,其中P1.6/SCL和P1.7/SDA分别为I2C总线的时钟线和数据线,且因为芯片内部采用漏级开路工艺,所以当用户将这两个引脚用做I2C总线接口时,需外接上拉电阻,如图所示。P89C66X系列单片机I2C总线接口引脚图P89C66X系列单片机系列单
19、片机I2C总线接口总线接口2.P89C66X系列单片机系列单片机I2C总线的控制寄存器总线的控制寄存器P89C66X系列单片机内部与I2C总线有关的寄存器共有4个,通过对这4个寄存器的编程实现I2C总线功能,如表所示:名 称寄存器符号说 明地址寄存器S1ADR该寄存器用于保存单片机本身的从地址数据寄存器S1DAT该寄存器用于保存发送或接收到的数据字节控制寄存器S1CON该寄存器用于I2C总线的设置状态寄存器S1STA该寄存器用于显示当前I2C总线的状态地址寄存器(地址寄存器(S1ADR)该寄存器用于保存单片机本身的从地址,CPU可以对该寄存器进行读写操作。其中高7位为地址本身,最低位为通用地址
20、识别标志GC。当单片机作为主器件存在时,该寄存器不起作用;当单片机作为从器件存在的时候,接收到的地址字节的高7位将与S1ADR的值相比较,如果相同则接收后面的数据信息。此外,如果通用地址识别标志GC为0,单片机不识别通用调用地址(如广播地址);GC为1时,单片机识别通用调用地址。控制寄存器(控制寄存器(S1CON)该寄存器用于对I2C总线进行设置,各功能位含义如下:D7D6D5D4D3D2D1D0CR2ENS1STASTOSIAACR1CR0ENS1:I2C总线使能位。当ENS1为0时,SDA和SCL输出为高阻状态;当ENS1为1时,I2C总线使能。STA:I2C总线起始条件标志位。当STA为
21、0时,单片机不产生起始条件,当STA为1时,单片机首先利用硬件检测I2C总线状态。STO:I2C总线停止条件标志位。当STO为0时,单片机不产生停止条件;当STO为1时,如果单片机处于主模式,则立刻向I2C总线发送停止条件,如果单片机处于从模式,则可以从错误条件中恢复出来。STO位可由硬件清零。控制寄存器(控制寄存器(S1CON)SI:串行中断标志位。当SI标志位置位,并且EA和ES1都置位时,产生一个中断请求。单片机就可以对接收到的数据进行处理,处理完成后,SI必须由软件清零。AA:声明应答标志位。当AA为1时,如果器件接收到自身的从地址(或广播地址),或者接收到一个完整的数据字节之后,将会
22、在SCL的响应时钟脉冲期间保持SDA为低电平,即发送应答信号。当AA为0时,器件接收到一个完整的数据字节之后,在SCL的响应时钟脉冲期间保持SDA为高电平,即发送非应答信号。CR0、CR1和CR2:串行时钟速率选择位。这3位决定了器件在主模式下的串行时钟速率,其值与单片机工作频率有关,如下表所示。控制寄存器(控制寄存器(S1CON)CR2CR1CR0单片机时钟频率分 频 数6MHz12MHz16MHz000234762.5256001275471224010316383.319201137751001601006.2512.51796010150100133120110100200267601
23、110.246.250.4962.50.6555.6定时器在模式2时的重装数值 I2C总线串行时钟速率选择总线串行时钟速率选择速率单位:kHz状态寄存器(状态寄存器(S1STA)状态寄存器S1STA用于显示当前I2C总线的状态,该寄存器是只读的。寄存器的低3位始终为0,高5位为总线状态编码。总线共有26种可能的状态。每种状态都有一种固定的状态编码。总线每进入一个状态都会产生串行中断请求,并将SI置位,SI置位一个机器周期后,当前S1STA中代码有效。在SI由软件复位的一个机器周期之后,此代码仍然存在。P89C66X系列单片机系列单片机I2C总线接口的软件设计总线接口的软件设计(1)主模式程序设
24、计。主模式程序设计包括以下几项:申请占用总线;发送一个数据字节;向无子地址器件发送单字节数据;向无子地址读字节数据;向有子地址器件发送和接收多字节数据。(2)从模式程序设计。从模式程序设计包括:设置总线;发送字节数据;接收字节数据。3.P89C66X系列单片机系列单片机I2C总线接口的软件设计总线接口的软件设计 I2C总线模拟硬件接口软件设计总线模拟硬件接口软件设计 使用硬件接口进行I2C总线设计,要使用具有I2C总线硬件接口的单片机。对通常的单片机,要支持I2C总线,可以选择外接I2C总线芯片,但这要增加系统的整体成本,另一种解决方案是使用软件模拟,使用程序控制实现I2C总线的时序。首先可定
25、义P1口任意两个引脚作为单片机I2C总线的SCL和SDA,然后再编程实现I2C功能。下面介绍一个主方式下的虚拟I2C总线软件包。汇编软件包说明汇编软件包说明 软件包程序清单软件包程序清单汇编软件包说明汇编软件包说明虚拟I2C总线操作平台软件包是用在单主I2C总线上,硬件接口是SCL、SDA,使用单片机的I/O口来模拟SCL/SDA总线。根据I2C总线器件的特点,设计无子地址和有子地址子程序。(1)软件包文件名。软件包文件名是VI2C_ASM.ASM,是I2C总线应用程序的底层子程序,使用前要定义好SCL和SDA。在标准80C51模式下,时钟频率不高于12MHz,若高于12MHz,则在程序中要相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行接口技术 串行 接口 技术 PPT 课件
限制150内