您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第7章单片机系统的串行扩展
第7章单片机系统的串行扩展第7章单片机系统的串行扩展西安思源学院电子信息工程学院第7章单片机系统的串行扩展27.1MCS-51系统的串行扩展原理目前,对控制系统微型化的要求越来越高,便携式的智化仪器需求量越来越大。为了使仪器微型化,首先要设法减少仪器所用芯片的引脚数。这样一来过去常用的并行总线接口方案由于需要较多的引脚数而不得不舍弃,转而采用只需少量引脚数的串行总线接口方案。SPI(SerialPeripheralInterface)和I2C(Inter-IntegratedCircuit)就是两种常用的串行总线接口。SPI三线总线只需3根引脚线就可与外部设备相连。而I2C两线总线则只需2根引脚线就可与外部设备相连。第7章单片机系统的串行扩展37.1.1SPI三线总线一.SPI总线概述SPI实际上是一种串行总线接口标准。SPI方式可允许同时同步传送和接收8位数据,它工作时传输速率最高可达几十兆位/秒。SPI用以下3个引脚来完成通信:(1)串行数据输出SDO(SerialDataOut)。(2)串行数据输入SDI(SerialDataIn)。(3)串行时钟SCK(SerialClock)。图7-1主机、从机之间SPI总线连接示意图第7章单片机系统的串行扩展4二.SPI总线的结构与工作原理SPI总线有主机、从机的概念。主机的发送与从机的接收相连,主机的接收与从机的发送相连,主机产生的时钟信号输出到从机的时钟引脚上,除了以上三根通讯线外,一般从机还需一根片选控制线。由于SPI的数据输出线(SDO)和数据输入线(SDI)是分开的,因此允许主机、从机之间发送和接收同时进行,至于数据是否有效取决与应用软件。当主机发出片选控制信号以后,数据的传输节拍由主机的SCK信号控制。对具有SPI功能的单片机,时序图中的SDO和SCK的波形由硬件自动产生,数据的接收也是由硬件自动完成的。第7章单片机系统的串行扩展5图7-2SPI通讯的时序图主机的SS信号有效后,选中从设备,在SCK的上升沿主机发送数据,SCK的下降沿主机接收数据。而对没有SPI功能的单片机,则时序图中的SDO和SCK的波形要由软件产生,数据的接收也要由软件来完成。第7章单片机系统的串行扩展67.2单片机的外部串行扩展串行外围器件由于具有体积小、价格低、占用I/O口线少等优点。正在越来越多的领域被广泛应用。下面分别介绍串行E2PROM、串行输入输出接口、串行A/D转换器。7.2.1串行扩展E2PROM串行E2PROM具有体积小(通常为8脚封装)、价格低、占用I/O口线少、寿命长(能重复使用100,000次及100年数据不丢失)、抗干扰能力强、不易被改写等优点。随着当今智能化仪表趋于小型化,再加真正需要预设的数据位、控制位、保密位等数据并不占据太多的存储空间,串行E2PROM正被广泛应用于多功能的智能化仪表中。表7-2列出了美国ATMEL公司I2C总线的AT24C系列串行E2PROM,表7-3列出了美国ATMEL公司SPI总线的AT25系列串行E2PROM。为读者选择不同容量、不同接口总线及了解有关串行E2PROM的详细性能提供参考。第7章单片机系统的串行扩展7第7章单片机系统的串行扩展8第7章单片机系统的串行扩展9I2C的结构与工作原理I2C总线上所有器件的SDA线并接在一起,所有器件的SCL线并接在一起,且SDA线和SCL线必须通过上拉电阻连接到正电源。图7-3为I2C总线器件的连接图。图7-3I2C总线器件电气连接图第7章单片机系统的串行扩展10I2C总线的数据传输协议要比SPI总线复杂一些,因为I2C总线器件没有片选控制线,所以I2C总线数据传输的开始必须,由主器件产生通讯的开始条件(SCL高电平时,SDA产生负跳变);通讯结束时,由主器件产生通讯的结束条件(SCL高电平时,SDA产生正跳变)。SDA线上的数据在SCL高电平期间必须保持稳定,否则会被误认为开始条件或结束条件,只有在SCL低电平期间才能改变SDA线上的数据。图7-4为I2C总线的数据传输波形图。图7-4I2C总线的数据传输波形图。第7章单片机系统的串行扩展11一.AT24C系列E2PROM的功能及特点AT24C系列为美国ATMEL公司推出的串行CMOS型E2PROM,具有功耗小,宽电压范围等优点。工作电流约3mA,静态电流随电源电压不同为30uA~110uA,存储容量有128×8、256×8、512×8、1K×8、2K×8、4K×8、8K×8、16K×8、32K×8和64K×8等多种规格,图7-5为AT24C系列串行E2PROM的引脚图。图中A0、A1、A2为器件地址引脚,VSS为地,VCC为正电源,写保护,SCL为串行时钟线,SDA为串行数据线。图7-5AT24C系列串行E2PROM的引脚图第7章单片机系统的串行扩展12二.AT24C系列E2PROM接口及地址选择AT24C系列E2PROM采用I2C总线,I2C总线上可挂接多个接口器件,在I2C总线上的每个器件应有唯一的器件地址,按I2C总线规则,器件地址为7位二进制数,它与1位数据方向位构成一个器件寻址字节。器件寻址字节的最低位(D0)为方向位(读/写);最高4位(D7~D4)为器件型号地址(不同的I2C总线接口器件的型号地址由厂家给定,AT24C系列E2PROM的型号地址皆为1010);其余3位(D3~D1)与器件引脚地址A2A1A0相对应。器件地址格式:1010A2A1A0第7章单片机系统的串行扩展13对于E2PROM的片内地址,AT24C01和AT24C02由于芯片容量可用一个字节表示,故读写某个单元前,先向E2PROM写入一个字节的器件地址,再写入一个字节的片内地址。而AT24C04、AT24C08和AT24C16分别需要9位、10位和11位片内地址,所以AT24C04把器件地址中的D1作为片内地址的最高位,AT24C08把器件地址中的D2D1作为片内地址的最高两位,AT24C16把器件地址中的D3D2D1作为片内地址的最高三位。凡在系统中把器件的引脚地址用作片内地址后,该引脚在电路中不得使用,作悬空处理。AT24C32、AT24C64、AT24C128、AT24C256和AT24C512的片内地址采用两个字节。第7章单片机系统的串行扩展14三.AT24C系列E2PROM的读写操作原理下列读写操作中SDA线上数据传送状态标记注释如下:S为开始信号(SCL高电平时,SDA产生负跳变),由主机发送。P为结束信号(SCL高电平时,SDA产生正跳变),由主机发送。addr、addr_H和addr_L为地址字节,指定片内某一单元地址,由主机发送。data为数据字节,由数据发送方发送。0为肯定应答信号,由数据接收方发送。1为否定应答信号,由数据接收方发送。第7章单片机系统的串行扩展15主机控制数据线SDA时,在SCL高电平期间必须保持SDA线上的数据稳定,否则会被误认为对从机开始条件或结束条件。主机只能在SCL低电平期间改变SDA线上的数据。主机写操作期间,用SCL的上升沿写入数据;主机读操作期间,用SCL的下降沿读出数据。AT24C系列AT24C01~AT24C16芯片的存储容量最多为中读n个字节的数据格式从AT24C系列AT24C01~AT24C16中读n个字节的数据格式:第7章单片机系统的串行扩展16从AT24C系列AT24C32~AT24C512中读n个字节的数据格式:向AT24C系列AT24C01~AT24C16中写n个字节的数据格式(n≦页长,且n个字节不能跨页):向AT24C系列AT24C32~AT24C512中写n个字节的数据格式(n≦页长,且n个字节不能跨页):第7章单片机系统的串行扩展17四、AT24C系列E2PROM与MCS-51单片机的数据交换图7-6为一片AT24C系列E2PROM与MCS-51单片机的连接电路图。若有多片E2PROM与MCS-51单片机相连,则各E2PROM的器件地址引脚接线要不同。图7-6AT24C系列E2PROM与MCS-51单片机的连接电路图第7章单片机系统的串行扩展18图7-774LS165内部结构图7.2.2串行扩展I/O接口MCS-51单片机的并行I/O接口与外部RAM是统一编址的,即扩展并行I/O接口要占用单片机的外部RAM的空间。若用串行的方法扩展I/O接口,则可以节省系统的硬件开销,是一种经济、实用的方法。下面分别介绍串行输入接口和串行输出接口。一.串行输入接口74LS16574LS165是一个8输入,串行输出的接口电路。其内部结构如图7-7所示。第7章单片机系统的串行扩展19为数据锁存端,当为低电平时锁存数据;CP1和CP2为移位脉冲输入端;Q7为数据输出端;DS为数据输出端;CP的上升沿移出数据。74LS165作为串行输入接口可以单片使用,也可级联使用。级联使用的电路图7-8所示。PLPL图7-874LS165级联使用电路连接图二.串行输出接口74LS16474LS164是一个串行输入,8位并行输出的接口电路。其内部结构如图7-9所示。为清零端,当为低电平时清零;A和B为数据输出端;CP端为移位脉冲输入端,CP的上升沿移入数据。74LS164作为串行输出接口可以单片使用,也可级联使用。级联使用的电路连接如图7-10MRMR第7章单片机系统的串行扩展20图7-974LS164内部结构图图7-1074LS164级联使用电路连接图第7章单片机系统的串行扩展217.2.3串行扩展A/D转换器随着对智能化仪表微型化要求的越来越高,串行A/D转换器件由于具有体积小、价格低、占用I/O口线少等优点而被广泛应用。美国的模拟器件公司(ADI)、MAXIM公司和德州仪器(TI)公司等许多公司纷纷推出能满足不同用户要求的串行A/D转换器件。表7.4列出了美国TI公司系列串行A/D转换器件。一、11通道12位串行模数转换器TLC2543引脚及内部结构介绍。第7章单片机系统的串行扩展22TLC2543是德州仪器公司生产的12位开关电容型逐次逼近模数转换器,最大转换时间10μs,11个模拟输入通道,3路内置自测试方式,采样率为66kbps,线性误差±1LSBmax,有转换结束输出EOC,具有单、双极性输出,可编程的MSB或LSB前导,可编程输出数据长度。它具有三个控制输入端,采用简单的3线SPI串行接口可方便地与微机进行连接,是12位数据采集系统的最佳选择器件之一。图7-11和图7-12分别是TLC2543的引脚排列图和内部结构图。TLC2543有两种封装形式。表7.5是TLC2543的引脚功能说明第7章单片机系统的串行扩展23图7-11TLC2543的引脚排列图图7-12TLC2543的内部结构图第7章单片机系统的串行扩展24第7章单片机系统的串行扩展25表7-5TLC2543的引脚功能说明第7章单片机系统的串行扩展26二.TLC2543的工作方式和输入通道的选择TLC2543是一个多通道和多工作方式的模数转换器件,其工作方式和输入通道的选择是通过向TLC2543的控制寄存器写入一个八位的控制字来实现的。这个八位的控制字由四个部份组成:D7D6D5D4选择输入通道,D3D2选择输出数据长度,D1选择输出数据顺序,D0选择转换结果的极性。八位控制字的各位的含义如表7-6~表7-9所示。主机以MSB为前导方式将控制字写入TLC2543的控制寄存器,每个数据位都是在CLOCK序列的上升沿被写入控制寄存器。第7章单片机系统的串行扩展27表7-6输入通道选择表7-7输出数据长度选择第7章单片机系统的串行扩展28表7-8输出数据顺序选择表7-9转换结果极性选择第7章单片机系统的串行扩展29三.TLC2543的读写时序当片选信号为高电平时,CLOCK和DATA_IN被禁止、DATA_OUT为高阻状态,以便为SPI总线上的其它器件让出总线。在片选信号的下降沿,A/D转换结果的第一位数据出现在DATA_OUT引脚上,A/D转换结果的其它数据位在时钟信号CLOCK的下降沿被串行输出到DATA_OUT引脚。在片选信号下降沿以后,时钟
本文标题:第7章单片机系统的串行扩展
链接地址:https://www.777doc.com/doc-3801010 .html