单片机的串行扩展技术-PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机的串行扩展技术-PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串行 扩展 技术 PPT 课件
- 资源描述:
-
1、第第1212章章 单片机的串行扩展技术单片机的串行扩展技术1成都理工大学工程技术学院成都理工大学工程技术学院自动化工程系自动化工程系2 第第12章章 目录目录12.1 单总线串行扩展单总线串行扩展12.2 SPI总线串行扩展总线串行扩展12.3 Microwire总线简介总线简介12.4 I2C总线的串行扩展介绍总线的串行扩展介绍 12.4.1 I2C串行总线概述 12.4.2 I2C总线的数据传送12.5 AT89S51单片机的单片机的I2C串行扩展设计串行扩展设计 12.5.1 AT89S51的I2C总线扩展系统 12.5.2 I2C总线数据传送的模拟 12.5.3 I2C总线模拟通用子程
2、序3内容概要内容概要单片机的单片机的并行总线扩展并行总线扩展(利用三总线(利用三总线ABAB、DBDB、CBCB进行进行的系统扩展)的系统扩展)已不再是单片机系统唯一的扩展结构已不再是单片机系统唯一的扩展结构,除并,除并行总线扩展技术之外,行总线扩展技术之外,近年又出现近年又出现串行总线扩展技术串行总线扩展技术。例如:例如:PhilipsPhilips公司的公司的I I2 2C C串行总线接口、串行总线接口、DALLAS DALLAS 公公司的司的单总线(单总线(1-Wire1-Wire)接口)接口、MotorolaMotorola公司的公司的SPISPI串行外串行外设接口设接口以及以及Mic
3、rowireMicrowire总线总线三线同步串行接口。三线同步串行接口。本章介绍上述串行扩展接口总线的工作原理及特点,本章介绍上述串行扩展接口总线的工作原理及特点,重点介绍重点介绍I I2 2C C串行扩展技术串行扩展技术,并介绍,并介绍AT89S51AT89S51软件模拟软件模拟I I2 2C C串行接口总线时序实现串行接口总线时序实现I I2 2C C接口的方法。接口的方法。单片机的单片机的串行扩展技术与并行扩展技术串行扩展技术与并行扩展技术相比具有相比具有显著显著的优点的优点,串行接口器件与单片机接口时,串行接口器件与单片机接口时需要的需要的I/OI/O口线很口线很少少(仅需(仅需1
4、14 4条),串行接口器件条),串行接口器件体积小体积小,因而占用电路,因而占用电路板的空间小,仅为并行接口器件的板的空间小,仅为并行接口器件的10%10%,明显减少电路板,明显减少电路板空间和成本。空间和成本。除上述优点,还有除上述优点,还有工作电压宽、抗干扰能力强、功耗工作电压宽、抗干扰能力强、功耗低、数据不易丢失低、数据不易丢失等特点。串行扩展技术在等特点。串行扩展技术在ICIC卡、智能仪卡、智能仪器仪表以及分布式控制系统器仪表以及分布式控制系统等领域得到等领域得到广泛应用广泛应用。412.1 12.1 单总线串行扩展单总线串行扩展 单总线单总线(也称(也称1-Wire bus1-Wir
5、e bus)是)是由美国由美国DALLASDALLAS公司公司推出推出的外围串行扩展总线。的外围串行扩展总线。只有一条数据输入只有一条数据输入/输出线输出线DQDQ,总线上的总线上的所有器件都所有器件都挂在挂在DQDQ上上,电源电源也通过这条信号线供给,使用一条信号线也通过这条信号线供给,使用一条信号线的串行扩展技术,称为的串行扩展技术,称为单总线技术单总线技术。单总线系统的单总线系统的各种器件各种器件,由由DALLASDALLAS公司提供公司提供的专用芯的专用芯片实现。片实现。每个芯片都有每个芯片都有6464位位ROMROM,厂家对每一个芯片用激,厂家对每一个芯片用激光烧写编码,其中存有光烧
6、写编码,其中存有1616位十进制编码序列号,位十进制编码序列号,它是它是器件器件的地址编号的地址编号,确保它挂在总线上后,可,确保它挂在总线上后,可唯一被唯一被确定确定。5除地址编码外,片内还包含还包含收发控制收发控制和和电源存储电路电源存储电路,如图图12-1所示。这些芯片的耗电量都很小耗电量都很小(空闲时几微瓦,工作时几毫瓦),从总线上馈送电能到大电容中就可以工作,故一般不需另加电源故一般不需另加电源。下面说明具体应用。6图图12-1 单总线芯片的内部结构示意图单总线芯片的内部结构示意图【例例12-1】图图12-2所示为一个由单总线构成的分布式单总线构成的分布式温度监测系统温度监测系统,也
7、可用于各种狭小空间内设备的数字测温。图中多个带有单总线接口的数字温度传感器数字温度传感器DS18B20芯片都挂在单片机的1根I/O口线(即DQ线)上。对每个DS18B20通过总线DQ寻址。DQ为漏极开路,须加上拉电阻。DS18B20封装形式多样封装形式多样,其中的一种封装形式见图图12-2。在该单总线数字温度传感器系列中还有DS1820、DS18S20、DS1822等其他型号,工作原理与特性基本相同。具有如下特点如下特点:7(1)体积小、结构简单、使用方便)体积小、结构简单、使用方便。(2)每芯片都有唯一唯一的64位光刻位光刻ROM编码编码,家族码为家族码为28H。(3)温度测量范围)温度测量
8、范围-55+125C,在-10+85C范围内,测量精度可达0.5C。(4)分辨率)分辨率为可编程的912位位(其中包括1位符号位),对应的温度变化量分别为0.5C、0.25C、0.125C、0.0625C。(5)转换时间与分辨率有关)转换时间与分辨率有关。当设定为9位,转换时间93.75ms;设定为10位,转换时间为187.5 ms;当设定11位,转换时间375ms;当设定12位,转换时间750ms。8(6)片内含有片内含有SRAM、E2PROM,单片机写入E2PROM的报警的上下限温度值和以及对DS18B20的设置,在芯片掉电的情况下不丢失。功能命令功能命令包括两类:包括两类:1条条启动温度
9、转换命令(44H),5条条读/写SRAM和E2PROM命令。图图12-2电路电路如果再扩展几位(根据需要)LED数码管显示器,即可构成简易的数字温度计系统。构成简易的数字温度计系统。可在图图12-2的基础上,自行扩展设计。9 10图图12-2 单总线构成的分布式温度监测系统单总线构成的分布式温度监测系统在在1-Wire 总线传输的是总线传输的是数字信号数字信号,数据传输均采用CRC码校验码校验。DALLAS公司为单总线的寻址及数据的传送制定了总线协议,具体内容读者可查阅相关资料。1-Wire协议不足在传输速率稍慢不足在传输速率稍慢,故1-Wire 总线协议特别适用于特别适用于测控点多、分布面广
10、、种类复杂,而又需集中测控点多、分布面广、种类复杂,而又需集中监控、统一管理的应用场合监控、统一管理的应用场合。1112.2 SPI总线串行扩展总线串行扩展SPI(Serial Periperal Interface)是Motorola公司公司推出的同步串行外设接口同步串行外设接口,允许单片机与多个厂家生产的带有标准SPI接口的外围设备直接连接,以串行方式交换信息。图图12-3为SPI外围串行扩展结构图。SPI使用条线使用条线:串行时钟SCK,主器件输入/从器件输出数据线MISO,主器件输出/从器件输入数据线MOSI和从器件选择线从器件选择线。1213图图12-3 SPI外围串行扩展结构图外围
11、串行扩展结构图SPI典型应用是典型应用是单主系统单主系统,一台主器件,从器件通常从器件通常是外围接口器件,如是外围接口器件,如存储器、存储器、I/O接口、接口、A/D、D/A、键盘、键盘、日历日历/时钟和显示驱动时钟和显示驱动等等。扩展多个外围器件时,SPI无法通过数据线译码选择,故外围器件都有外围器件都有片选端片选端。在扩展单个SPI器件时,外围器件的片选端片选端 可以接地或通过I/O口控制;在扩展多个在扩展多个SPI器件时,单片机应分别通过器件时,单片机应分别通过I/O口线来分时选通外围器件。口线来分时选通外围器件。在SPI串行扩展系统中,如果某一从器件只作输入(如键盘)或只作输出(如显示
12、器)时,可省去一条数据输出(MISO)线或一条数据输入(MOSI)线,从而构成双线系统(接地接地)。14CSCSSPI系统中单片机对从器件的选通需控制其从器件的选通需控制其CS*端端,由于省去省去传输时的地址字节地址字节,数据传送软件十分简单。但在扩展器件较多时,需要控制较多的从器件 端,连线较多。在SPI系统中,主器件单片机在启动一次传送启动一次传送时,便便产生产生8个个时钟时钟,传送给接口芯片作为同步时钟同步时钟,控制数据的输入和输出。传送格式格式是高位(MSB)在前,低位(LSB)在后,如图图12-4所示所示。输出数据的变化以及输入数据时的采样,都取决于SCK。但对不同外围芯片,可能是S
13、CK的上升沿的上升沿起作用,也可能是SCK的下降沿的下降沿起作用。SPI有较高的数据传输速度,最高可达1.05Mbit/s。15CS 图图12-4 SPI数据传送格式数据传送格式Motorola提供了一系列具有SPI接口的单片机和外围接口芯片,如如存储器MC2814、显示驱动器MC14499和MC14489等各种芯片。16SPI从器件要具有从器件要具有SPI接口接口。主器件是单片机。目前已有许多机型的单片机都带有SPI接口。但对AT89S51,由于不带SPI接口,SPI接口的实现,可采用软件与采用软件与I/O口结口结合来模拟合来模拟SPI的接口时序的接口时序。【例例12-2】设计AT89S51
14、单片机与串行串行A/D转换器转换器TLC2543的SPI接口。TLC2543是美国TI公司的12位串行SPI接口的A/D转换器,转换时间为10s。片内有1个14路模拟开关,用来选择11路模拟输入以及3路内部测试电压中的1路进行采样。17图图12-5为单片机与单片机与TLC2543的的SPI接口电路接口电路。TLC2543的I/O CLOCK、DATA INPUT和 端由单片机的P1.0、P1.1和和P1.3来控制。转换结果的输出数据(DATA OUT)由单片机的P1.2串行接收,单片机将命令命令字字通过P1.1输入到TLC2543的输入寄存器中。下面的子程序下面的子程序为AT89S51选择某一
15、通道选择某一通道(例如AIN0通道)进行进行1次数据采集次数据采集,A/D转换结果共转换结果共12位位,分两次两次读入读入。先读入TLC2543中的8位转换结果到单片机中,同时写入下一次转换的命令,然后再读入4位的转换结果到单片机中。18CS注意:注意:TLC2543在每次I/O周期读取的数据都是上次读取的数据都是上次转换的结果转换的结果,当前转换结果要在下一个I/O周期中被串行移出。TLC2543A/D转换的第第1次读数次读数由于内部调整,读取的转换结果可能不准确可能不准确,应丢弃。图图12-5 AT89S51单片机与单片机与TLC2543的的SPI接口接口19子程序如下子程序如下:ADCO
16、MDBYTE6FH;定义命令存储单元ADOUTH BYTE6EH;定义存储转换结果高4位单元ADOUTL BYTE6DH;定义存储转换结果低8位单元ADCONV:CLRP1.0;时钟脚为低电平CLRP1.3;片选 有效,选中TLC2543MOVR2,#08H ;送出下一次8位转换命令和;读8位转换结果做准备MOVA,ADCOMD;下一次转换命令在ADCOMD;单元中送ALOOP1:MOVC,P1.2;读入1位转换结果RRCA;1位转换结果带进位位右移20MOVP1.1,C;送出命令字节中的1位SETBP1.0;产生1个时钟NOPCLRP1.0NOPDJNZR2,LOOP1;是否完成8次转换结果
17、读入和命;令输出?未完则跳MOVADOUTL,A;读8位转换结果存入ADOUTL单元MOVA,#00H;A清0MOVR2,#04H;为读入4位转换结果做准备21SETBP1.0;产生1个时钟NOPCLRP1.0NOPDJNZR2,LOOP2;是否完成4次读入?未完则跳;LOOP2MOVADOUTH,A;高4位转换结果存入;ADOUTH单元中的高4位SWAP ADOUTH;ADOUTH单元中的高4位与;低4位互换LOOP2:MOVC,P1.2;读入高4位转换结果中的1位RRCA;带进位位循环右移SETBP1.0;时钟无效RET22执行上述程序中的执行上述程序中的8次循环次循环,执行“RRC A”
18、指令8次,每次读入转换结果1位,然后送出ADCOMD单元中的下一次转换的命令字节“G7 G6 G5 G4 G3 G2 G1 G0”中的1位,进入TLC2543的输入寄存器。经8次右移后,8位A/D转换结果数据“”读入累加器Acc中,上述的具体数据交换过程如图图12-6所示。子程序中的4次循环,只是读入转换结果的4位数据,图中没有给出,读者可自行画出4次移位的过程。2324图图12-6 单片机与单片机与TLC2543的的8位数据交换示意图位数据交换示意图由本例见,单片机与TLC2543接口十分简单,只需用软件控制4条I/O脚按规定时序对TLC2543进行访问即可。12.3 Microwire总线
19、简介总线简介三线同步串行接口,1根根数据线SO、1根根数据输入线S和1根根时钟线SK组成。该总线最初是内建在NS公司公司COP400/COP800 HPC系列单片机中,为单片机和外围器件提供串行通信接口。该总线只需要只需要3根信号线根信号线,连接和拆卸都很方便连接和拆卸都很方便。在需对一个系统更改时,只需改变链接到总线的单片机及外器件的数量和型号即可。25最初的最初的Microwire总线总线只能连接一台单片机作为主机,总线上的其他器件都是从设备。随着技术的发展,NS公司推出了8位的COP800系列单片机,该系列单片机仍采用原来的 Microwire总线,但接口功能进行了增强,称之为增强型的M
20、icrowirePlus。增强型的增强型的MicrowirePlus允许连接多台单片机和外围允许连接多台单片机和外围器件器件,应用于分布式、多处理器的复杂系统。NS公司已生产出各种功能的公司已生产出各种功能的Microwire总线总线外围器件外围器件,包括存储器、定时器存储器、定时器/计数器、计数器、ADC和和DAC、LED显示驱显示驱动器动器和LCD显示驱动器显示驱动器以及远程通信设备远程通信设备等。2612.4 I2C总线的串行扩展介绍总线的串行扩展介绍 12.4.1 概述概述I2C总线总线,PHILIPS推出,使用广泛、很有发展前途的使用广泛、很有发展前途的芯片间串行扩展总线芯片间串行扩
21、展总线。只有只有两条信号线两条信号线,一一是数据线SDA,另一另一是时钟线SCL。两条线均两条线均双向双向,所有连到所有连到I2C上器件的数据线都接上器件的数据线都接到到SDA线上线上,各器件时钟线均接到各器件时钟线均接到SCL线线上上。I2C系统基本结构如图图12-7所示所示。I2C总线单片机(如PHILIPS公司的8xC552)直接与I2C接口的各种扩展器件(如存储器、I/O芯片、A/D、D/A、键盘、显示器、日历/时钟)连接。27由于I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就大大简化了总线数量。28图图12-7 I2C串行总线系统的基本结构串行总线系统的基本结构I2C
22、的运行由主器件(主机)主器件(主机)控制。主器件是指启动启动数据的发送(发出起始信号)、发出时钟信号、传送结束数据的发送(发出起始信号)、发出时钟信号、传送结束时发出终止信号的器件,时发出终止信号的器件,通常由单片机来担当。从器件(从机)从器件(从机)可以是存储器、LED或LCD驱动器、A/D或D/A转换器、时钟/日历器件等,从器件必须带有I2C串行总线接口。当当I2C总线空闲时,总线空闲时,SDA和和SCL两条线均为高电平两条线均为高电平。由于连接到总线上器件(节点)输出级必须是漏极或集电极开路,只要有一器件任意时刻输出低电平,都将使总线只要有一器件任意时刻输出低电平,都将使总线上的信号变低
23、,上的信号变低,即各器件的SDA及SCL都是“线与线与”关系。29由于各器件输出端为漏级开路,故必须通过上拉电阻接正电源(见图12-7中的两个电阻),以保证SDA和SCL在空闲时被上拉为高电平。SCL线上的时钟信号对SDA线上的各器件间的数据传输起同步控制作用。SDA线上的数据起始、终止及数据的有效性均要根据SCL线上的时钟信号来判断。30 在标准I2C模式,数据的传输速率为传输速率为100kbit/s,高速高速模式模式下可达可达400kbit/s。总线上扩展的器件数量不是由电流负载决定的,而是总线上扩展的器件数量不是由电流负载决定的,而是由电容负载确定的。由电容负载确定的。I2C总线上每个节
24、点器件的接口都有一定的等效电容,连接的器件越多,电容值越大,这会造成信号传输的延迟。总线上允许的器件数以器件的电容量不超过400pF(通过驱动扩展可达4 000pF)为宜,据此可计算出总线长度及连接器件的数量。每个连到I2C总线上的器件都有一个唯一的地址器件都有一个唯一的地址,扩展器件时也要受器件地址数目的限制。31I2C系统允许多主器件允许多主器件,究竟哪一主器件控制总线要通过总线仲裁总线仲裁来决定。如何仲裁,可查阅I2C仲裁协议。但在实际应用中,经常遇到的是以经常遇到的是以单一单片机单一单片机为主机为主机,其他外围接口器件为从机情况。12.4.2 I2C总线的数据传送总线的数据传送1数据位
25、的有效性规定数据位的有效性规定I2C总线在进行数据传送时,每一数据位的传送都与时钟脉冲相对应。时钟脉冲为高电平期间,数据线上的数据必须保持稳定,在I2C总线上,只有在时钟线为低电平期间,数据线上的电平状态才允许变化,如图图12-8所示。32 图图12-8 数据位的有效性规定2起始和终止信号起始和终止信号据I2C总线协议总线协议,总线上数据信号传送由起始信号(起始信号(S)开始、由终止信号(终止信号(P)结束。起始信号和终止信号都由主机发出主机发出,在起始信号产生起始信号产生后后,总线就处于总线就处于占用状态占用状态;在终止信号产生后终止信号产生后,总线就处于空闲状态空闲状态。结合图图12-9介
展开阅读全文