《单片机系统的串行扩展精.ppt》由会员分享,可在线阅读,更多相关《单片机系统的串行扩展精.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机系统的串行扩展1 第1页,本讲稿共37页 7.1 MCS-51 7.1 MCS-51系统的串行扩展原理 目前,对控制系统微型化的要求越来越高,便携式的智 化仪器需求量越来越大。为了使仪器微型化,首先要设法减 少仪器所用芯片的引脚数。这样一来过去常用的并行总线 接口方案由于需要较多的引脚数而不得不舍弃,转而采用 只 需 少 量 引 脚 数 的 串 行 总 线 接 口 方 案。SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)就是两种常用的串行总线接口。SPI三线总线只需3根引脚线就可与外部设备相连。而I2C 两线总线
2、则只需2根引脚线就可与外部设备相连。2 第2页,本讲稿共37页7.1.1 SPI7.1.1 SPI三线总线三线总线 一一SPISPI总线概述总线概述SPI实际上是一种串行总线接口标准。SPI方式可允许同时同步传送和接收8位数据,它工作时传输速率最高可达几十兆位/秒。SPI用以下3个引脚来完成通信:(1)串行数据输出SDO(Serial Data Out)。(2)串行数据输入SDI(Serial Data In)。(3)串行时钟SCK(Serial Clock)。图 7-1 主机、从机之间SPI总线连接示意图3第3页,本讲稿共37页 二 二.SPI.SPI总线的结构与工作原理总线的结构与工作原理
3、 SPI总线有主机、从机的概念。主机的发送与从机的接收相连,主机的接收与从机的发送相连,主机产生的时钟信号输出到从机的时钟引脚上,除了以上三根通讯线外,一般从机还需一根片选控制线。由于SPI的数据输出线(SDO)和数据输入线(SDI)是分开的,因此允许主机、从机之间发送和接收同时进行,至于数据是否有效取决与应用软件。当主机发出片选控制信号以后,数据的传输节拍由主机的SCK信号控制。对具有SPI功能的单片机,时序图中的SDO和SCK的波形由硬件自动产生,数据的接收也是由硬件自动完成的。4第4页,本讲稿共37页图7-2 SPI通讯的时序图主机的SS信号有效后,选中从设备,在SCK的上升沿主机发送数
4、据,SCK的下降沿主机接收数据。而对没有SPI功能的单片机,则时序图中的SDO和SCK的波形要由软件产生,数据的接收也要由软件来完成。5 第5页,本讲稿共37页 7.2 单片机的外部串行扩展单片机的外部串行扩展 串行外围器件由于具有体积小、价格低、占用I/O口线少等优点。正在越来越多的领域被广泛应用。下面分别介绍串行E2PROM、串行输入输出接口、串行A/D转换器。7.2.1 7.2.1 串行扩展串行扩展EE2 2 PROM PROM 串行E2PROM具有体积小(通常为8脚封装)、价格低、占用I/O口线少、寿命长(能重复使用100,000次及100年数据不丢失)、抗干扰能力强、不易被改写等优点
5、。随着当今智能化仪表趋于小型化,再加真正需要预设的数据位、控制位、保密位等数据并不占据太多的存储空间,串行E2PROM正被广泛应用于多功能的智能化仪表中。表7-2列出了美国ATMEL公司I2C总线的AT24C系列串行E2PROM,表7-3列出了美国ATMEL公司SPI总线的AT25系列串行E2PROM。为读者选择不同容量、不同接口总线及了解有关串行E2PROM的详细性能提供参考。6第6页,本讲稿共37页7第7页,本讲稿共37页8第8页,本讲稿共37页 I2CC的结构与工作原理的结构与工作原理 I2C总线上所有器件的SDA 线并接在一起,所有器件的SCL线并接在一起,且SDA 线和SCL线必须通
6、过上拉电阻连接到正电源。图7-3为I2C总线器件的连接图。图7-3 I2C总线器件电气连接图9第9页,本讲稿共37页 I2C总线的数据传输协议要比SPI总线复杂一些,因为I2C总线器件没有片选控制线,所以I2C总线数据传输的开始必须,由主器件产生通讯的开始条件(SCL高电平时,SDA产生负跳变);通讯结束时,由主器件产生通讯的结束条件(SCL高电平时,SDA产生正跳变)。SDA线上的数据在SCL高电平期间必须保持稳定,否则会被误认为开始条件或结束条件,只有在SCL低电平期间才能改变SDA线上的数据。图7-4为I2C总线的数据传输波形图。图7-4 I2C总线的数据传输波形图。10 第10页,本讲
7、稿共37页 一.AT24C.AT24C系列E2PROME2PROM的功能及特点 AT24C系列为美国ATMEL公司推出的串行CMOS型E2PROM,具有功耗小,宽电压范围等优点。工作电流约3mA,静态电流随电源电压不同为30uA110 uA,存储容量有1288、2568、5128、1K8、2K8、4K8、8K8、16K8、32K8和64K8等多种规格,图7-5为AT24C系列串行E2PROM的引脚图。图中A0、A1、A2为器件地址引脚,VSS为地,VCC为正电源,写保护,SCL为串行时钟线,SDA为串行数据线。图7-5 AT24C系列串行E2PROM的引脚图11第11页,本讲稿共37页二.AT
8、24C系列系列EE2PROMPROM接口及地址选择接口及地址选择 AT24C系列E2PROM采用I2C总线,I2C总线上可挂接多个接口器件,在I2C总线上的每个器件应有唯一的器件地址,按I2C总线规则,器件地址为7位二进制数,它与1位数据方向位构成一个器件寻址字节。器件寻址字节的最低位(D0)为方向位(读/写);最高4位(D7D4)为器件型号地址(不同的I2C总线接口器件的型号地址由厂家给定,AT24C系列E2PROM的型号地址皆为1010);其余3位(D3D1)与器件引脚地址A2A1A0相对应。器件地址格式:1010 A2A1A0 12 第12页,本讲稿共37页 对于E2PROM的片内地址,
9、AT24C01和AT24C02由于芯片容量可用一个字节表示,故读写某个单元前,先向E2PROM写入一个字节的器件地址,再写入一个字节的片内地址。而AT24C04、AT24C08 和AT24C16分别需要9位、10位和11位片内地址,所以AT24C04把器件地址中的D1作为片内地址的最高位,AT24C08把器件地址中的D2D1作为片内地址的最高两位,AT24C16把器件地址中的D3D2D1作为片内地址的最高三位。凡在系统中把器件的引脚地址用作片内地址后,该 引 脚 在 电 路 中 不 得 使 用,作 悬 空 处 理。AT24C32、AT24C64、AT24C128、AT24C256和 AT24C
10、512的片内地址采用两个字节。13第13页,本讲稿共37页 三.AT24C系列系列E2PROME2PROM的读写操作原理的读写操作原理 下列读写操作中SDA线上数据传送状态标记注释如下:S为开始信号(SCL高电平时,SDA产生负跳变),由主机发送。P为结束信号(SCL高电平时,SDA产生正跳变),由 主机发送。addr、addr_H 和addr_L 为地址字节,指定片内某一 单元地址,由主机发送。data 为数据字节,由数据发送方发送。0为肯定应答信号,由数据接收方发送。1为否定应答信号,由数据接收方发送。14第14页,本讲稿共37页 主机控制数据线SDA时,在SCL高电平期间必须保持SDA线
11、上的数据稳定,否则会被误认为对从机开始条件或结束条件。主机只能在SCL低电平期间改变SDA线上的数据。主机写操作期间,用SCL的上升沿写入数据;主机读操作期间,用SCL的下降沿读出数据。AT24C系列AT24C01AT24C16芯片的存储容量最多为中读n个字节的数据格式 从AT24C系列AT24C01AT24C16中读n个字节的数据格式:15 第15页,本讲稿共37页从AT24C系列AT24C32AT24C512中读n个字节的数据格式:向AT24C系列AT24C01AT24C16中写n个字节的数据格式(n 页长,且n个字节不能跨页):向AT24C系列AT24C32AT24C512中写n个字节的
12、数据格式(n 页长,且n个字节不能跨页):16第16页,本讲稿共37页四、AT24CAT24C系列E2PROM与MCS-51单片机 的数据交换 图7-6 为一片AT24C系列E2PROM与MCS-51单片机的连接电 路图。若有多片E2PROM与MCS-51单片机相连,则各 E2PROM的器件地址引脚接线要不同。图7-6 AT24C系列E2PROM与MCS-51单片机的连接电路图17 第17页,本讲稿共37页 图7-7 74LS165内部结构图7.2.2 7.2.2 串行扩展串行扩展I/OI/O接口接口 MCS-51单片机的并行I/O接口与外部RAM是统一编址的,即扩展并行I/O接口要占用单片机
13、的外部RAM的空间。若用串行的方法扩展I/O接口,则可以节省系统的硬件开销,是一种经济、实用的方法。下面分别介绍串行输入接口和串行输出接口。一一.串行输入接口串行输入接口74LS16574LS165 74LS165是一个8输入,串行输出的接口电路。其内部结构如图7-7所示。18第18页,本讲稿共37页 为数据锁存端,当 为低电平时锁存数据;CP1和CP2为移位脉冲输入端;Q7为数据输出端;DS为数据输出端;CP的上升沿移出数据。74LS165作为串行输入接口可以单片使用,也可级联使用。级联使用的电路图7-8所示。图7-8 74LS165级联使用电路连接图二串行输出接口二串行输出接口74LS16
14、474LS164 74LS164是一个串行输入,8位并行输出的接口电路。其内部结构如图7-9所示。为清零端,当 为低电平时清零;A和B为数据输出端;CP端为移位脉冲输入端,CP的上升沿移入数据。74LS164作为串行输出接口可以单片使用,也可级联使用。级联使用的电路连接如图7-1019第19页,本讲稿共37页图7-9 74LS164内部结构图图7-10 74LS164级联使用电路连接图20第20页,本讲稿共37页 7.2.3 7.2.3 串行扩展 串行扩展A/D A/D转换器转换器 随着对智能化仪表微型化要求的越来越高,串行A/D转换器件由于具有体积小、价格低、占用I/O口线少等优点而被广泛应
15、用。美国的模拟器件公司(ADI)、MAXIM公司和德州仪器(TI)公司等许多公司纷纷推出能满足不同用户要求的串行A/D转换器件。表7.4列出了美国TI公司系列串行A/D转换器件。一、11通道12位串行模数转换器TLC2543引脚及内部结构介绍。21第21页,本讲稿共37页 TLC2543是德州仪器公司生产的12位开关电容型逐次逼近模数转换器,最大转换时间10s,11个模拟输入通道,3路内置自测试方式,采样率为66kbps,线性误差1LSBmax,有转换结束输出EOC,具有单、双极性输出,可编程的MSB或LSB前导,可编程输出数据长度。它具有三个控制输入端,采用简单的3线SPI串行接口可方便地与
16、微机进行连接,是12位数据采集系统的最佳选择器件之一。图7-11和图7-12分别是TLC2543的引脚排列图和内部结构图。TLC2543有两种封装形式。表7.5是TLC2543的引脚功能说明22 第22页,本讲稿共37页图7-11 TLC2543的引脚排列图图7-12 TLC2543的内部结构图23 第23页,本讲稿共37页 24第24页,本讲稿共37页 表7-5 TLC2543的引脚功能说明25 第25页,本讲稿共37页二二TLC2543TLC2543的工作方式和输入通道的选择的工作方式和输入通道的选择 TLC2543是一个多通道和多工作方式的模数转换器件,其工作方式和输入通道的选择是通过向
17、TLC2543的控制寄存器写入一个八位的控制字来实现的。这个八位的控制字由四个部份组成:D7 D6 D5 D4选择输入通道,D3 D2选择输出数据长度,D1选择输出数据顺序,D0选择转换结果的极性。八位控制字的各位的含义如表7-6表7-9所示。主机以MSB为前导方式将控制字写入TLC2543的控制寄存器,每个数据位都是在CLOCK序列的上升沿被写入控制寄存器。26 第26页,本讲稿共37页表7-6 输入通道选择表7-7 输出数据长度选择27 第27页,本讲稿共37页表7-8 输出数据顺序选择表7-9 转换结果极性选择28 第28页,本讲稿共37页 三三TLC2543TLC2543的读写时序的读
18、写时序 当片选信号为高电平时,CLOCK 和 DATA_ IN 被禁止、DATA_ OUT为高阻状态,以便为SPI总线上的其它器件让出总线。在片选信号的下降沿,A/D转换结果的第一位数据出现在DATA_ OUT引脚上,A/D转换结果的其它数据位在时钟信号CLOCK 的下降沿被串行输出到DATA_ OUT引脚。在片选信号下降沿以后,时钟信号CLOCK 的前八个上升沿将八位控制字从DATA_ IN引脚串行输入到TLC2543的控制寄存器。在片选信号下降沿以后,经历8个(或12个/或16个)时钟信号完成对A/D转换器的一次读写。本次写入的控制字在下一次转换中起作用,本次读出的结果由上次输入的控制字决
19、定。A/D转换可由片选的下降沿触发,也可由CLOCK信号触发。29 第29页,本讲稿共37页 图7-13是由片选的下降沿触发A/D转换,输出数据长度为8位、以MSB导前的读写时序图。图7-14是由CLOCK信号触发A/D转换,输出数据长度为8位、以MSB导前的读写时序图。图7-15是由片选的下降沿触发A/D转换,输出数据长度为12位、以MSB导前的读写时序图。图7-16是由CLOCK信号触发A/D转换,输出数据长度为12位、以MSB导前的读写时序图。图中的(A11 A10 A9 A8)A7 A0为(12)8位的A/D转换结果,B7 B6 B0为控制字。30第30页,本讲稿共37页图7-13 片选的下降沿触发A/D转换、输出数据长度为8位、以MSB导前的读写时序图。31第31页,本讲稿共37页图7-14 CLOCK信号触发A/D转换、输出数据长度为8位、以MSB导前的读写时序图。32第32页,本讲稿共37页图7-15 片选的下降沿触发A/D转换、输出数据长度为12位、以MSB导前的读写时序图。33第33页,本讲稿共37页图7-16 CLOCK信号触发A/D转换、输出数据长度为12位、以MSB导前的读写时序图。34 第34页,本讲稿共37页