




已阅读5页,还剩95页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,单片机常用接口芯片及接口技术介绍,蔡文郁,2,计算机结构,运算器,存储器,I/O接口,控制器,CPU,外部设备,3,MCU基本结构,CISC结构冯.诺依曼结构:如8051,AT89系列,RISC结构哈佛结构:如PIC单片机,根据片内程序空间和数据空间、控制总线和数据总线是否分开,结构体系,指令体系,16进制汇编语言C语言,4,接口的基本概念,什么是I/O接口?连接CPU与外设之间的逻辑电路称I/O接口电路,简称接口。为什么需要I/O接口?单片机IO端口只能接收和发送逻辑电平数字信号,而IO外设输入输出的信号种类、信号电平各异。如何以不变应万变?接口电路的主要功能: 锁存功能 缓冲功能 速度匹配 变换功能,5,数据锁存功能 数据输出都是通过系统的数据总线进行的。但是由于CPU的工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速输出设备的需要。为此在接口电路中需设置数据锁存器,以保存输出数据直至为输出设备所接收。数据锁存就成为接口电路的一项重要功能。三态缓冲功能 数据输入时,输入设备向CPU传送的数据也要通过数据总线,但数据总线是系统的公用数据通道,上面可能“挂”着许多数据源,工作十分繁忙。为了维护数据总线上数据传送的“秩序”,因此只允许当前时刻正在进行数据传送的数据源占用数据总线,其余数据源都必须与数据总线处于隔离状态。为此要求接口电路能为数据输入提供三态缓冲功能。,6,速度匹配功能 由于速度上的差异,使得数据的I/O传送难以异步方式进行,即只能在确认外设已为数据传送作好准备的前提下才能进行I/O操作。而要知道外设是否准备好,就需要通过接口或产生或传送外设的状态信息,以此进行CPU与外设之间的速度协调。数据变换功能 CPU只能输入和输出并行的电压数字信号,但是有些外部设备所提供或所需要的并不是这种信号形式。为此需要使用接口电路进行数据信号的转换,主要包括模数转换、数模转换、串并转换和并串转换等。,7,具体功能:(不同接口功能不同) 寻址功能 传递功能 位功能 中断功能 联络功能 变换功能 可编程功能 错误检测功能,8,典型I/O接口的结构,数据输入/输出寄存器:保存数据控制寄存器:保存控制信息,决定接口工作方式状态寄存器:存放状态信息,反映外设当前状态,9,MCU与外设信息交互方式,无条件传送方式在进行I/O操作时,不需要测试外部设备的状态,可以根据需要随时进行数据传送操作。只有那些一直为数据I/O传送作好准备的外部设备(如发光二极管、数码管、机械开关、ADC,DAC),才能使用无条件传送方式。查询方式中断方式DMA方式(超8位单片机),10,查询方式,查询输入,查询输出,在I/O操作之前,要先检测外设的状态,以了解外设是否已为数据输入输出作好了准备,只有在确认外设已“准备好”的情况下,CPU才能执行数据输入输出操作。,11,8路模拟量输入采集,8路模拟量,多路开关,控制ADC,指示,12,缓存技术,缓存技术是高速数据采集和处理中的一项关键技术;在高速数据采集系统中,通常在存储设备的前端加一级缓存,可以使低速存储设备无丢失地记录高速数据;是CPU性能的一个重要指标;在实时视频数据处理系统中的应用非常广泛,特别是在图像帧率及分辨率要求比较高的场合。,13,乒乓缓冲结构,这种结构是将输入数据流通过输入数据选择单元等时地将数据流分配到两个数据缓冲区。在第1个缓冲周期,将输入的数据流缓存到数据缓冲模块1上,在第2个缓冲周期,通过输入数据选择单元的切换,将输入的数据流缓存到数据缓冲模块2,同时,将数据缓冲模块1缓存的第1个周期的数据通过输出数据选择单元的选择,送到运算处理单元进行处理,第3个缓冲周期,再次切换数据的输入与输出缓冲模块。如此循环,周而复始。,(双缓冲技术),14,14,第一周期,第二周期,第三周期,第四周期,15,中断技术,中断方式与查询方式的主要区别:如何知道外设是否为数据传送作好了准备。查询方式是CPU的主动形式,中断方式是CPU等待中断请求的被动形式。采用中断方式进行数据传送时,当外设为数据传送作好准备之后,就向CPU发出中断请求。CPU接收到中断请求后即作出响应,暂停正在执行的原程序。而转去为外设的数据输入输出服务。待服务完成之后,程序返回,CPU再继续执行被中断的原程序。 中断源的中断请求被CPU响应之后,CPU自动把中断源的中断入口地址(中断矢量地址,固定)装入PC,从中断矢量地址处获得中断服务程序的入口地址。一般在此地址单元中存放一条绝对跳转指令,可以跳至用户安排的任意地址空间。,16,中断处理流程,中断请求中断响应中断处理 保护现场中断原服务中断返回中断请求撤销,17,中断技术,程序中断方式,大大提高了系统的效率。中断可实现快速CPU与慢速外部设备之间的并行工作,实现实时处理和故障处理,不但速度快而且可以实现多道程序方式,所以在计算机中被广泛采用。但中断请求是一种随机事件,如果每传送一个字符都要中断消耗很大。为实现程序中断,对计算机的硬件和软件都有较高的要求。此外,由于中断处理常需现场保护和现场恢复。因此,对CPU来说仍有较大的无用开销。,18,中断类型,外部中断类(INT0,INT1) 由单片机的输入输出设备等外部原因引起的,可设置请求信号是电平触发还是边缘触发。计时中断类(TCON) 由内部计时器计数产生计数溢出时所引起的中断,内部中断,计时器可由用户通过程序设定。串行端口中断类(SCON) 当串行端口接收或发送完一帧数据时,修改SCON,向CPU申请中断。,如何定义矢量地址和优先级参考具体的单片机。,19,外部中断源扩展,利用计时器扩充外部中断源 当计时器设置为计数方式时,一旦外部信号从计数器引脚输入一个负跳变信号,计数器1;将计时器引脚作为外部中断请求相连,计时器的溢出中断标志及中断服务程序作为扩充外部中断源的标志和中断服务程序。中断和软件查询相结合扩充外部中断源 通过逻辑“或”的关系将多个外部中断源通过“线或”连接到INT0和INT1外部中断,利用输入端口作为各中断的识别线(发生中断请求时通过输入端口进行查询判别究竟是哪个中断)。矢量中断扩充外部中断源 利用优先权编码器74LS148对较多的外部中断源进行排队。当多个中断同时发生时,编码器只对一个优先权最高的中断作为反应,并输出其矢量代码到单片机的端口(比如8个外部中断源需P1.0-P1.2)。当CPU响应中断请求后,CPU可以通过端口得到中断矢量。中断矢量处利用多分支转移程序实现程序引导,类似于指针作用。,20,中断处理系统的应用,例:移动广告灯,要求通过单片机的控制实现以下功能:P1接8个LED,使8个LED闪烁。当奇数次按下S1时,8个LED每次同时点亮4个,点亮3次,即D0-D3与D4-D7交叉点亮3次。偶数次按下S1时,则D0-D7进行左移和右移2次。当按下S2,产生报警(优先)。,INT1与S2相连,作为报警信号的输入端,因此需要将INT1设为高优先级,S1控制亮灯方式,因此需要判断S1按下次数的奇偶性。,21,DMA技术,假如一外设一秒能传送100个字节,若用查询方式,这一秒内CPU全部用于查询和传送;采用中断方式,假定CPU每传送一个字节的服务程序需要100us,则传送100字节,CPU只需用10ms,即只占一秒的1/100。中断每次要保护断点,保护现场需用多条指令,每条指令要有取指和执行时间。DMA使得硬件直接在外设与内存之间进行数据交换,而不通过CPU,速度的上限取决于存储器的工作速度。DMA中断查询,22,DMA工作流程,C8051MSP430ARMDSPSTM32,23,外围接口,数字量IO总线接口扩展存储器扩展键盘接口显示接口A/D-D/A,24,I/O,完整单片机系统:键盘输入、显示输出、打印输出、数据采集、伺服系统、数据存储、数据通信等众多功能,皆通过I/O端口实现与MCU的信息交互。复用性:地址、数据复用(当P0端口作为地址数据总线复用,就不能再作为IO口)驱动能力:不同端口的驱动能力,25,IO扩展方法,总线扩展方法I/O扩展芯片的并行数据输入取自单片机接口。该扩展方法只分时占用P0口,不影响P0口与其它扩展芯片的连接操作,不会造成单片机硬件的额外开支。串行口扩展方法单片机串行口在方式0工作状态下所提供的I/O的扩展功能。接74LC164可扩展并行输出口,接74LC165可扩展并行输入。该扩展方法只占串行口,而且通过移位寄存器的级联方法可以扩展多数量的并行I/O。通过单片机内I/O的扩展方法扩展芯片输入输出的数据线不通过P0口而通过其他片内I/O口。,26,存储器扩展,程序存储器EPROM:2716,2732,27512E2PROM:2816,2817A,2864数据存储器SRAM:6116,6264,62256,DRAMSDRAM iRAM,越来越多的单片机片内集成Flash!就其本质而言,Flash Memory属于E2PROM(电擦除可编程只读存储器)类型,但也可扩展数据存储。,27,扩展方法,线译码法将部分高位地址信号作为片选信号全译码法将其余所有的高位地址信号经译码后作片选信号(相对部分译码),28,键盘扩展,编码键盘以硬件方式产生键码,价格昂贵非编码键盘不需专用硬件电路,响应速度慢,独立式键盘电路,矩阵式键盘,每个按键单独占有一根I/O接口引线。,29,扫描法:列线输出,行线输入。列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。反转法:行列线交换输入、输出,两步获取按键键号。串行I/O端口扩充键盘:使串口在工作方式0状态下,扩展并行输出口。将扩展的并口作为行列式键盘的列线,将P3口的两个端口线作为行线。通过串口的TXD产生移位脉冲,由RXD输出需移位的数据。所以每增加一根P3端口线,将增加8个按键。,30,键盘处理程序任务1)键输入检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。硬件电路消除抖动或软件消除抖动双稳态触发器。,2)键译码键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键09、字符键0AH0FH、功能键10H 。,3)键处理根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。,31,按键处理程序流程,32,显示接口,发光二极管LED数码管3)串行输入输出共阴极显示驱动芯片美信MAX7219,相比前两种不需要占用比较多的I/O口(可以驱动LED点阵)。LCD(SMC1602A),2)动态显示,1)静态显示,33,直接访问方式下与字符型液晶显示模块接口,直接访问方式是把字符型液晶显示模块作为存储器或I/O接口设备直接连到单片机总线上。,34,间接访问方式下与字符型液晶显示模块接口,间接控制方式是计算机把字符型液晶显示模块作为终端与计算机的并行接口连接,计算机通过对该并行接口的操作间接实现对字符型液晶显示模块的控制。,35,并行扩展总线,地址总线数据总线控制总线,由于方便控制,三总线得到了广泛的应用。但是作为并行总线,也有一些局限性,不利于远距离传输,与I/O端口的数目存在矛盾。,例如:利用8255A扩展多个并行口,36,8155构成的键盘、显示接口电路,37,单片机与被控实体间的接口示意,越来越多的单片机片内集成A/D、D/A功能!,38,A/D,A/D接口设计要点:1选择合适的系统采样速度;2减小A/D转换的孔径误差;3合理选用A/D转换器。,39,分辨率:表示A/D对模拟输入的分辨能力,由它确定能被A/D辨别的最小模拟量,通常也用二进制位来表示。量化误差:是在A/D转换中由于整量化所产生的固有误差。对于舍入(四舍五入)量化误差在1/2LSB之间。转换时间:是A/D转换完成一次所需要的时间。绝对精度:是A/D转换器输出端所产生的数字代码中,分别对应于实际需要的模拟输入值与理论上要求的模拟输入值之差。相对误差:是满刻度校准以后,任意数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。漏码:如果模拟输入连续增加(或减小)时,数字输出不是连续增加(或减小)而是越过某一个数字,即出现漏码。,A/D性能参数,40,A/D转换器用于什么系统?输出数据的位数是多少?系统应该达到多高的精度和线性度?提供给A/D转换器的输入信号范围多大?是单极性的还是双极性的?信号的驱动能力怎样?是否要经过缓冲滤波和采样/保持?对A/D转换器输出的数字代码及逻辑电平的要求如何?是二进制码还是BCD码,是串行还是并行?系统是在静态下工作还是在动态下工作?带宽多少?采样速率为多少?参考电压是内部的还是外部的?是固定的还是变化的?A/D转换器的工作环境如何?噪声、温度、振动等条件如何?电源电压、功耗、几何尺寸等其它因素。,A/D转换器的选取原则,41,ADC0809和80C51的连接示意图,ALE,273,1,D0,D7,Q0,Q1,Q2,373,G,1,INT1,P0,80C51,RD,WR,CLK,Q,ALE,D,Q,8,8,P2.7,+5V,1,1,转换结束信号,当转换完成EOC变为高电平,向80C51提出中断请求,进入中断服务后读入转换结果。,ADC转换数据的传送方式:定时传送方式:不需接EOC脚;查询方式:测试EOC脚的状态;中断方式:EOC脚接INT脚。,42,MC14433与80C51的接口电路图,BCD码数据输出端,多路选通脉冲输出端,43,ICL7109与80C51的接口电路图,80C51,44,80C51与AD574A的接口电路图,80C51,45,ADC和MCU接口应注意的几个问题,A/D芯片的数字输出问题转换结果数据应由A/D芯片锁存,数据输出最好具有三态能力。A/D芯片和CPU的时序配合问题固定延时等待法 保持等待法中断响应法 查询法 双缓冲法A/D分辨率超过MCU数据总线宽度时的接口不能只用一条指令,而要用两条输入指令才能把A/D转换的整个数字结构传送给微处理器。,46,D/A,D/A转换器的输出是由数字输入和参考电压组合进行控制的。大多数常用的D/A转换器的数字输入是二进制或BCD码形式的,输出可以是电流也可以是电压,而多数是电流。注意区分D/A内部是否带有锁存器。,与P1、P2接口:不需加锁存器,直接接口。 无锁存器 与P0接口:因P0的特殊功能,需加锁存器。D/A内 如:DAC800、AD7520、AD7521等。 有锁存器:最好与P0直接接口。 如:DAC0832、DAC1230等。,n位数字量与模拟量的关系式:VO =-VREF(数字码 / 2n) (VREF 参考电压),47,主要技术指标,1) 分辨率(Resolution):对D/A转换器输入量变化敏感程度进行描述,与输入数字量的位数有关。若数字量的位数为n,则分辨率为2-n。数字量位数越多,分辨率就越高。应用时,应根据分辨率的需要选定转换器的位数。注:BCD码输出的A/D转换器用位数表示分辨率。2) 建立时间(Establishing Time):描述D/A转换速度的快慢。 输出形式为电流的转换器比电压的建立时间短。 D/A转换速度远高于A/D转换。3) 转换精度(Conversion Accuracy):指满量程时DAC的实际模拟输出值和理论值的接近程度。,48,DAC0832与单片机的接口,MOV P1, A,49,2、单缓冲方式: 只使用一个内部缓冲器,另一个缓冲器呈直通状态,输入数据在写控制信号作用下,直接进入DAC寄存器中,DAC能一步完成数字量的输入锁存和D/A转换输出; WR1和WR2同时进行,并且与CPU的WR相连,CPU对DAC0832执行一次写操作,将数据直接写入DAC寄存器中。适用:只有一路模拟信号输出或几路模拟信号非同步输出。,50,3、双缓冲器方式: 输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。数字量的输入锁存和D/A转换输出分两步完成。适用:同步输出几路模拟信号的场合,可构成多个DAC0832同步输出电路。,51,DAC0832/1208与单片机的接口,12位DAC1208,80C51,8位DAC0832,52,例:用DAC0832输出0+5V三角波,电路为单缓冲方式。设VREF=-5V,若DAC0832地址为00FEH,脉冲周期要求为(100ms)。,#include#include#define DAC0832 XBYTE0x00FE#define uchar unsigned char#define unit unsigned int void stair(void) uchar i; while(1) for(i=0;i2.4V,输出低电平=2.0V,输入低电平=0.8V,噪声容限是0.4V一般认为TTL电平逻辑“1”为5VCMOS电平“1”逻辑电平电压接近于电源电压,“0”逻辑电平接近于0V。而且具有很宽的噪声容限一般CMOS工艺器件的电源电压为3.3V,因而一般意义上的CMOS电平逻辑“1”即为3.3VRS232C电平为EIA电平逻辑“1”:+3V+25V;逻辑“0”:-3V-25V,74,TTL、CMOS和RS232电平之间的相互转换,TTL电平与CMOS电平之间的相互转换少量总线最简单方式:用两个电阻对电平分压多根总线同时需要转换:总线隔离器,2018/1/13,74,总线收发器74LVT16245,75,TTL电平与RS-232C电平之间的相互转换,2018/1/13,75,76,RS-232 DB9,77,RS232电路,串口取电电路,78,上位机编程,VBDelphiVC+LabVIEW,79,主从式多机通信,数字传输 vs. 模拟传输,80,主从式多机通信,RS232本质上是点对点通信的,但可扩展为主从式多机通信:利用软件解码协议检测地址,有些单片机具有利用硬件实现自动地址识别功能。,81,I2C总线,Philips公司推出的一种两线式(串行数据线SDA和串行时钟线SCL)串行总线,用于连接微控制器及外围设备,实现同步双向串行数据传输。采用纯软件寻址方法,以减少连线数目。CPU发送的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。主从方式工作:与总线相连的每个器件都对应一个特定的地址,由芯片内部硬件和外部地址同时确定。真正的多主串行总线:多主器件竞争总线时,时钟同步和总线仲裁都由硬件自动完成,可以防止多个主控器件同时启动数据传输而产生的总线竞争。串行数据在主从之间可以双向传输,标准模式最高速率100kbps,高速模式下可达3.4Mbps。同步时钟和数据线相配合产生可以作为启动、应答、停止或重启动串行发送的握手信号。,82,I2C时序分析,位的传输:SDA线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。开始信号:SCL为高电平时,SDA由高电平向低电平跳变开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变结束传送数据。应答信号:从器件在接收到8bit数据后向发送数据的主器件发出特定的低电平脉冲,表示已收到数据。器件发送数据到总线上,则定义为发送器,反之为接收器。主器件和从器件都可以工作于接收和发送状态。,83,E2PROM器件AT24C02的写读操作时序,字节写操作,随机读操作(指定地址),4位特征码,3位芯片地址/页地址,其中,特征码是厂家给定的,若E2PROM容量小于256字节,8位片内寻址,若E2PROM大于256字节,11位页面寻址,每页256字节,硬件电路区分。,1位读写控制,84,SPI总线,Motorola公司推出的一种串行总线技术。外围串行接口(SPI)是一种四线同步串行技术,数据通信从器件选择或片选(CSB)为低时有效。全双工,串行数据同时输入输出,1.05Mbps的最大主机数据传输速率,总线竞争保护。串行数据输入(MOSI)串行数据输出(MISO) 串行时钟信号(SCK),85,SPI时序分析四种不同的数据传输时序,时钟极性CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。时钟相位CPHA是用来决定采样时刻的电平,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样。,86,单总线技术1-wire,Dallas(已并入MAXIM)提出的串行总线技术,只需使用一根信号线(将计算机的地址线、数据线和控制线合为一根信号线),在该线上可以挂很多具有唯一64位ID地址码的测控对象。主从设备间的连线少,速率较低,有利于长距离通信。单总线上传输的是数字信号,系统的抗干扰性能好,可靠性高。任一时刻只能传输一个控制信号或数据,即主设备一旦选中了某个从设备,就会保持与其通信直至复位,而其他的从设备则暂时脱离总线,在下次复位之前不参加任何通信。1-wire单总线适用于单个主机系统能够控制一个或多个从机设备。,87,1-wire,设备主机或从机通过一个漏极开路或三态端口连接至数据线,这样允许设备在不发送数据时释放数据总线以便总线被其它设备所使用。单总线要求外接一个约5k的上拉电阻,单总线的闲置状态为高电平。位传输之间的恢复时间没有限制,只要总线在恢复期间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政办公文件归档管理模板
- 2025-2030CXO行业全球订单转移持续性分析及生物药CDMO产能缺口
- 2025年福建省公务员遴选考试模拟试题及答案解析
- 2025年学历类自考学前儿童发展-思想道德修养与法律基础参考题库含答案解析(5套试卷)
- 2025年js笔试题及答案
- 2025年学历类自考外科护理学(一)-马克思主义基本原理参考题库含答案解析(5套试卷)
- 建筑毕业设计文本
- 2025年学历类自考儿科护理学(一)-外国文学史参考题库含答案解析(5套试卷)
- 2025年学历类自考中小学教育管理-中国古代文学作品选(一)参考题库含答案解析(5套试卷)
- 调度系统可信度评估-洞察及研究
- 四川辅警考试试题及答案
- 广西个体医生管理办法
- 审理室业务课件培训
- 绘画种类介绍课件图片
- 2025年四川省辅警招聘考试题库及答案
- 湖南省长沙雅礼中学2025年化学高一下期末达标检测模拟试题含解析
- 2025吐鲁番辅警考试真题
- AI赋能自动化开发流程
- 2025至2030中国航空客运销售代理行业市场运行发展分析及前景趋势与投资报告
- 浙江杭州市2024-2025学年高一下学期6月期末考试英语试题及答案
- 愈见倾听师考试题及答案
评论
0/150
提交评论