收藏 分享(赏)

第六讲 嵌入式系统的IO模块.ppt

上传人:dreamzhangning 文档编号:3344382 上传时间:2018-10-16 格式:PPT 页数:41 大小:854.50KB
下载 相关 举报
第六讲  嵌入式系统的IO模块.ppt_第1页
第1页 / 共41页
第六讲  嵌入式系统的IO模块.ppt_第2页
第2页 / 共41页
第六讲  嵌入式系统的IO模块.ppt_第3页
第3页 / 共41页
第六讲  嵌入式系统的IO模块.ppt_第4页
第4页 / 共41页
第六讲  嵌入式系统的IO模块.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、61 复位电路 62 时钟 63 I/O模块 64 译码器 65 定时器/计数器 66 SPI 67 UART 68 通用并行接口 69 其它I/O,嵌入式处理器上通常集成了大量的I/O电路。开发嵌入式系统时,可根据系统需求选择嵌入式处理器,而不是选择了嵌入式处理器后再另外配合设计I/O电路。目前,嵌入式处理器上集成的I/O功能完全满足应用的需求,基本上无需扩展。 嵌入式处理器种类很多,但集成的I/O接口基本上是标准化的,只是不同厂家的产品可能编程方法上有所差异。,61 复位电路,复位电路用于完成硬件的初始化,一般有阻容复位电路、专用复位电路、手动复位电路等。 611 阻容(RC)复位电路,最

2、简单的复位电路。上电瞬间RST/VPD端的电位与Vcc相同,随着充电电流的减少,RST/VPD电位逐渐下降,按图中的电路参数,时间常数RC=1010-68.2103=82ms,只要Vcc的上升时间不超过1ms,振荡器建立时间不超过10ms,该时间常数足以保证完成复位操作。 其它嵌入式处理器可以根据各自的复位时间要求,适当选取电阻、电容的参数,设计相应的RC复位电路。,612 手动复位电路手动复位通常配合自动复位电路工作。通常的设计是手动复位开关产生的复位信号接在复位电路上,而不是直接接在处理器的复位信号输入端上,防止手动复位开关的抖动。,613 看门狗复位看门狗电路的工作原理是:正常工作的嵌入

3、式系统的程序,可以设计成每个确定的时间必然运行其中的某一部分代码,如果在一个用户设定的最大时间内没有运行其中的某一部分代码或某几部分代码,则认为系统出了问题,程序不能正常运行,于是看门狗电路产生复位信号,使处理器强制复位,系统从复位向量处重新运行。,嵌入式系统应用软件的主框架如下:,Main() while(1) / (1)/to do :软件代码 (2)reset_watchdog(); / (3)/to do :软件代码 (4) ,(1)是嵌入式应用程序的典型代码形式,一个无限循环; (2)和(4)表示实际执行的代码段,代码段内没有无限或超长循环或长时间等待等指令,使(3)处的代码rese

4、t_watchdog()每隔一定时间就会执行一次(“喂狗”),其功能是复位看门狗定时器的计数初值,使定时器不溢出。如果程序出了问题,使(3)处的代码未能执行,则看门狗定时器就会溢出,溢出脉冲接到处理器的复位信号上,使处理器强制复位,重新开始运行。,614 专用复位电路RC复位电路成本低,简单,但功能较差。专用复位电路是一种专用IC,其输出就是复位信号(高电平复位信号、低电平复位信号或两者同时具备)。有的还将电压监视、电池电量监视等功能集成在一起成为处理器监视电路。,615 软件复位软件复位是通过软件设置一个特殊功能寄存器的相应位完成处理器的复位,其复位结果同硬件复位的效果完全一样。软件复位后,

5、程序从复位向量处开始运行。注意:软件复位同程序直接跳转到复位向量处执行的效果是不一样的。软件复位后,系统所有寄存器会被重新初始化,而直接跳转不会初始化硬件寄存器。,时钟电路用于产生处理器工作的时钟信号。通用计算机通常使用分离的时钟电路,如8284时钟芯片。嵌入式系统为了节省电路,通常把时钟电路集成在处理器内部,外部只需要接晶体即可。嵌入式系统的时钟电路有RC时钟、石英晶体、石英振荡器、锁相倍频时钟、多时钟源等几种形式。 621 RC时钟RC时钟源通常用于MCU,其振荡频率的稳定性较低,但功耗较低,在家用电路的控制方面用途较广。,62 时钟,622 石英晶体石英晶体时钟电路,其振荡电路集成在处理

6、器内部,处理器外部引出2个引脚,分别是放大器的输入和输出,石英晶体接在2个引脚上。,623 石英振荡器石英振荡器是把石英晶体和振荡电路集成在一起,形成石英振荡器电路,直接输出时钟信号供给处理器,其输出的时钟信号接在处理器的输入引脚上。,624 锁相倍频时钟MCU可采用上述时钟电路,高性能的嵌入式处理器上采用锁相倍频电路,防止高频工作时产生电磁干扰。,图中: CLK3232KHz时钟源,用于实时时钟,实现日历功能;LCDCLKLCD控制器的时钟;DMACLKDMA控制器的时钟;SYSCLK系统主时钟,送给CPU内核。,625 多时钟源 高性能的嵌入式处理器(如32位)功能强大,芯片上集成了众多的

7、智能电路,需要不同频率的时钟源;并且,出于节能考虑,不同I/O电路的工作状态可以由处理器的编程控制,因此需要多种时钟源,包括CPU内核、实时时钟电路、各I/O电路时钟等。 多时钟源的时钟频率通常具有相关性,是由处理器的时钟电路通过分频和倍频得到的。,631 I/O接口的基本结构嵌入式处理器通常集成了大量I/O模块,因此I/O接口可被认为是处理器的一部分。I/O接口电路与嵌入式处理器之间通过内部总线交换信息。从编程结构看,I/O模块可分为数据输入寄存器、数据输出寄存器、控制寄存器、状态寄存器、模式寄存器等。,63 I/O模块,模式寄存器:只写,用于设置I/O接口的工作方式; 控制寄存器:只写,用

8、于控制I/O接口的工作; 状态寄存器:只读,用于获取I/O接口的工作状态; 数据输入寄存器:只读,用于获取外设数据; 数据输出寄存器:只写,用于向外设输出数据; 不同I/O接口,寄存器数量和功能也不相同,复杂的接口可能具有更多的寄存器。,633 I/O接口寄存器的映射方式嵌入式处理器操作I/O接口是通过I/O接口的寄存器来实现的,因此这些寄存器必须有一个地址(I/O地址)。不同处理器有不同的编址方式,一是与存储器统一编址,二是有独立的I/O地址空间。(1)统一编址。指I/O地址与内存储器统一编址,位于内存地址空间内,将存储器空间的一部分用于I/O地址空间,访问寄存器与访问存储器使用相同的指令。

9、两种方案:,I/O地址空间与存储器空间重叠。如MCS-51系列MCU。I/O寄存器成为特殊功能寄存器,其地址映射到片上存储器空间,与片上存储器的地址空间重合,访问I/O寄存器和访问片上存储器指令相同,但寻址方式不同。 I/O地址空间与存储器空间不重叠。将整个存储器空间分配一部分用于I/O地址空间,访问存储器和访问I/O寄存器的地址空间不同。为了存储器系统设计的方便,嵌入式处理器的I/O地址空间可以进行重新定位。设计一个重定位寄存器,通过编程重定位寄存器的值,可以使I/O地址空间在整个存储器地址空间内浮动,I/O寄存器的实际地址等于重定位寄存器的基地址加上各I/O寄存器地址的偏移量。如ARM处理

10、器,其I/O地址空间与存储器地址空间统一编址。,(2)独立编址。独立编址方式设计了存储器地址空间和I/O地址空间,它们之间相互独立,采用不同的指令进行访问。I/O寄存器的实际地址也是基地址加上偏移量。如80X86系列处理器。存储器访问采用类似MOV这样的指令,I/O接口访问采用IN/OUT指令访问。有的处理器既能进行统一编址,也能进行独立编址,这可通过其模式寄存器的编程进行设置,从而选择一种合适的编址方式。,译码器用于对MEM和I/O接口分配地址空间,通常有3种方案:通用IC译码器、可编程器件和嵌入式处理器集成译码器。 641 通用IC译码器常见的IC译码器如74LS138(3-8线译码器)、

11、74LS154(4-16线译码器)等。,64 译码器,642 可编程器件通用IC译码器属标准器件,使用不太灵活,可以使用可编程器件(PAL、GAL、CPLD等)设计定制的译码器,满足特殊设计的硬件电路的需要。可编程器件的功能很强,可以实现特殊的译码,其I/O引脚可以配置,非常灵活。,643 嵌入式处理器集成译码器嵌入式处理器通常将译码器集成在处理器上,为了使地址空间可灵活配置,这些译码器通常是可编程的,对应于每一个译码器的输出,有一对寄存器。处理器访问存储器或I/O端口的时候,如果给出的地址空间在该对寄存器组合的地址范围之内,则译码输出信号有效,否则无效。其编程方式有两种:(1)起始地址终止地

12、址方式。一个寄存器存放起始地址,另一个寄存器存放终止地址。(2)起始地址长度方式。一个寄存器存放起始地址,另一个寄存器存放地址空间的长度,终止地址 起始地址 长度。两种方式的本质是一样的。,65 定时器/计数器所有的嵌入式处理器都集成了定时器/计数器单元,其工作完全独立于CPU内核。通常具有如下功能: EOS任务调度,特别是具有时间片轮转调度功能的EOS,必须使用定时器产生时间片; EOS的软件时钟需要基于硬件定时器产生定时信号; 串行通信的波特率发生器; 实时时钟电路; DMA控制器; LCD控制器; WatchDog电路; A/D、D/A转换电路; DRAM控制器等。,651 基本结构定时

13、器和计数器的基本结构是相同的,通常设计在一起,通过切换开关切换脉冲源使它工作于计数器状态或定时器状态。差别在于定时器使用系统时钟作为计数脉冲,而计数器使用外部事件脉冲作为计数脉冲,这些外部事件脉冲信号接在处理器的某引脚上。定时器/计数器通常包括控制寄存器、计数初值寄存器、计数器、计数输出寄存器、状态寄存器等,如图所示。,控制寄存器:只写,用于设置定时器/计数器的工作方式; 计数初值寄存器:只写,大多数是减法计数器,设定初值之后,进行减法计数,减到0之后产生溢出信号,以脉冲或中断的形式提供。 计数器:计数部件; 计数输出寄存器:只读,存放计数器当前的数值,程序可以读取; 状态寄存器:只读,存放计

14、数器的状态。,652 工作模式 (1)方式0计数结束中断方式 一次写入计数值只有一次有效计数; 计数过程中GATE=0,暂停计数,GATE=1连续计数; 计数过程中改变计数值,立刻按新的计数值计数; 计数值为N,计数N+1次。 (2)方式1硬件可重触发单稳态方式 一次写入计数值多次计数。 GATE=01启动计数,重复启动重装计数。 计数过程中改变计数值,下次启动按新的计数值计数。 计数值为N,计数N次。,(3)方式2速率波形发生器(N分频方式或周期性定时器方式) 写入计数值开始计数。周期性计数。N=1时OUT跳变; 计数过程中GATE=0,暂停计数,GATE=1重装入计数; 计数过程中改变计数

15、值,下一周期按新的计数值计数。 (4)方式3方波方式(与方式2类似)或波特率发生器 写入计数值开始计数。周期性计数,减2操作; N偶数,正负半周=N/2;N奇数,先减1,正半周=(N+1)/2,负半周=(N-1)/2; 计数过程中GATE=0,暂停计数,GATE=1新装入计数; 计数过程中改变计数值,下一周期按新的计数值计数。,(5)方式4软件触发选通方式(类似方式0) 一次写入计数值只有一次有效计数; 计数过程中GATE=0,暂停计数,GATE=1连续计数; 计数过程中改变计数值,立刻按新的计数值计数; 计数值为N,计数N+1次。 (6)方式5硬件触发选通(类似方式1) 一次写入计数值多次计

16、数; GATE上升沿启动计数,重复启动重新计数; 计数过程中改变计数值,下次启动按新的计数值计数。,即串行外部设备接口(Serial Peripheral Interface,SPI),利用3条线完成2个芯片之间的双工高速通信。3条线中2条用于收发数据,1条用于时钟同步。 SPI的通信方式属于主从方式,主设备通常是CPU。主设备控制数据传输的过程,通过对从设备的编程,控制从设备收发数据。 SPI用于同标准外设芯片通信,种类繁多。如串/并、并/串移位寄存器、A/D转换器、LCD控制器等。CPU还可以通过SPI组成一个通信速率比UART高的同步网络,在一个小型系统中交换数据,完成较复杂的工作。 S

17、PI的工作原理类似一个分布式16位移位寄存器,一半在CPU里(即SPI),另一半在外设里。当CPU准备发送数据时,该分布式16位移位寄存器循环位移8位,就相当于在CPU和外设间交换了数据。有时这种循环位移可能是单向的。 一个典型的SPI系统包括一个主CPU和一个或多个从属的外设。为使不同厂商生产的同步串行外设能够相互通信,SPI系统可以选择移位率、主从模式、时钟极性、相位等。,66 SPI,661 SPI的数据流动使用SPI时,不需要为数据传送特别指出数据流动的方向,主机用两根分离的引脚来同时接收和发送数据,MOSI引脚实现主发送从接收,MISO引脚完成主接收从发送,其操作如下图。,在一次SP

18、I传送发生时,一个8位字节通过主发送从接收MOSI引脚移位输出,同时另一个8位字节从主接收从发送MISO引脚输入。这个传送过程可以看成是主机的8位移位寄存器和从机电路联合组成了一个16位循环移位寄存器。在每次传送发生时,这个16位分布式移位寄存器循环移动8位,即完成了主机和外设之间的数据交换。,662 SPI的功能SPI系统用D端口的4根I/O引脚来实现数据传送:PD0SS:低有效从机片选;PD1MISO:主接收从发送;PD2MOSI:主发送从接收;PD3SPSCK:串行时钟。,6621 主机模式主机启动逻辑从CPU接收一个输入(CPU写到SPI数据寄存器的数据)并发出基于内部处理器时钟的SP

19、SCK,串行时钟也用来控制状态控制器即8位移位寄存器。主机写数据到SPI数据寄存器SPDR,这个并行数据立刻被装入8位移位寄存器并移位输出到MOSI引脚,通过从设备的输入线到从机。同时从机(外设)数据通过MISO引脚输入到CPU内部的8位移位寄存器,第8个移位传送后,数据并行传送到了接收数据寄存器,并等待CPU读周期的到来。一个传送结束后,SPRF(接收结束中断标志)或SPTE(发送结束中断标志)状态标志被主机和外设置位。,6622 从机模式从机的启动逻辑等待SS引脚被拉低,然后通过SPSCK与主机同步。从机接收模式:从机通过串行移位寄存器从MOSI线接收数据并传送到SPI接收数据寄存器。当读

20、周期到来时,读取接收数据寄存器中的数据到从模块的内部总线。从机发送模式:当写周期到来时,从机CPU从内部数据总线将已经写到SPDR中的数据装入8位移位寄存器,然后等待从主机来的时钟把数据移位送到MISO引脚,随后发送到主机。,67 UART,通用异步收发器,遵守工业异步通信标准,大多数嵌入式处理器配置了UART,或称为SCI(串行通信接口)。异步通信允许处理器之间的通信不使用公共的参考时钟。通信双方需使用相同的波特率和通信格式,数据收发的单位是帧(frame),帧是一系列的在通信线上传输的位流。一帧由一个起始位(0)、数据位(58)、校验位(奇、偶或无)、停止位(12)、空闲位等组成,下图为典

21、型的帧格式。,起始位:1位,低电平。 数据位:5、6、7、8位数据,低位在前,高位在后。 校验位:奇效验、偶校验、无校验,是可选项。奇校验:数据位加上奇偶位,1的个数为奇数。偶校验:数据位加上奇偶位,1的个数为偶数。 停止位:1、1.5、2位构成。由双方约定选择 空闲位:非传送期间为一系列的高电平。UART的接收与发送是相互独立的,可以同时进行,属于全双工通信。,EIA RS232C是最常见的串行通信标准。EIA(Electronic Industries Association)RS(Recommended Standard)-232C,美国电子工业协会推荐标准,232为代号,C为最新版本。

22、,UART的基本特性: 完全双工,双缓冲发送和接收。 异步传送,58bit/字,时钟频率为通信波特率的16。 波特率异步达19.2K (或更高),同步达64K。 可产生中止字符;产生1、1.5、2位停止位。 出错检测:奇偶、溢出、帧错。片内具有优先权中断控制逻辑,具有很强的中断控制能力(发送中断、接收中断)。,68 通用并行接口(GPIO),即通用I/O端口,提供输入、输出、双向功能,大多数嵌入式处理器的通用I/O口与其它端口复用引脚,以节省引脚、降低成本。通常,为了应用的灵活性,嵌入式处理器的I/O引脚大多设计成可编程的双向引脚。通用I/O端口的编程结构由4个寄存器组成,分别为控制寄存器、方

23、向寄存器、数据锁存器和状态寄存器。 控制寄存器:通常是8位,利用端口控制寄存器把端口配置成I/O端口或外设端口引脚,每一位控制一个引脚的功能; 方向寄存器:控制端口工作于输入还是输出方式,每一位对应一个引脚; 数据锁存器:存放输出的数据,并直接输出到端口引脚上; 状态寄存器:只读,用于确定端口引脚的状态。读操作时,可将当前状态传输到内部数据总线。,69 其它I/O,691 以太网模块常用于高速网络通信。 692 CAN总线模块常用于中速数据、控制的通信。 693 LCD控制器常用于PDA等设备。 694 I2C总线用于CPU与外部智能接口部件的连接。 695 中断控制器通过中断控制器使产生中断

24、的设备直接连接到CPU上。,696 DMA控制器常用于与片上的I/O设备配合工作,如CPU与以太网控制器通过片上DMA控制器相互通信。也有许多嵌入式CPU集成的DMA控制器可与外接的高速I/O进行数据交换。 697 A/D、D/A转换器MCU带有A/D、D/A接口的比较多,技术指标不是很高。如果需要高指标(高精度、高速度)的A/D、D/A转换功能,需要外接专门的A/D、D/A转换器。 698 脉宽调制器PWM脉宽调制波是一种可以使用程序来控制波形的占空比、周期、相位的波形。广泛用于三相电机的驱动、D/A转换等。 699 语音输入输出接口集成专用语音A/D和D/A转换器通道,完成语音的回放和录音

25、,常用于移动设备。,6910 视频输入输出接口视频输入接口用于连接标准视频信号,视频输出接口用于连接标准视频显示器。 6911 USB接口具备USB接口的嵌入式处理器提供了主设备功能的USB接口,用于连接具有USB接口的从设备。 6912 PCMCIA接口适用于高端的PDA,用于连接标准的PCMCIA设备,如MODEM、存储卡等,集成了PCMCIA接口和控制器。 6913 DRAM控制器集成DRAM控制器后,CPU可与SDRAM等DRAM直接无缝连接。 6914 红外线通信接口嵌入式处理器集成的IrDA接口通常完成链路层功能和部分物理层功能(完成信号的编码),而红外收发器则需要外接。,思考题1、,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报