嵌入式系统的模块演示文稿_第1页
嵌入式系统的模块演示文稿_第2页
嵌入式系统的模块演示文稿_第3页
嵌入式系统的模块演示文稿_第4页
嵌入式系统的模块演示文稿_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统的模块演示文稿目前一页\总数三十九页\编于十三点(优选)第六讲嵌入式系统的模块目前二页\总数三十九页\编于十三点6.1复位电路复位电路用于完成硬件的初始化,一般有阻容复位电路、专用复位电路、手动复位电路等。6.1.1阻容(RC)复位电路

VccRST/VPD(8051)Vss8.2kΩ10μFVcc最简单的复位电路。上电瞬间RST/VPD端的电位与Vcc相同,随着充电电流的减少,RST/VPD电位逐渐下降,按图中的电路参数,时间常数RC=10×10-6×8.2×103=82ms,只要Vcc的上升时间不超过1ms,振荡器建立时间不超过10ms,该时间常数足以保证完成复位操作。其它嵌入式处理器可以根据各自的复位时间要求,适当选取电阻、电容的参数,设计相应的RC复位电路。目前三页\总数三十九页\编于十三点6.1.2手动复位电路手动复位通常配合自动复位电路工作。通常的设计是手动复位开关产生的复位信号接在复位电路上,而不是直接接在处理器的复位信号输入端上,防止手动复位开关的抖动。RST/VPD8051C10μFR110ΩR21kΩ+5V目前四页\总数三十九页\编于十三点6.1.3看门狗复位看门狗电路的工作原理是:正常工作的嵌入式系统的程序,可以设计成每个确定的时间必然运行其中的某一部分代码,如果在一个用户设定的最大时间内没有运行其中的某一部分代码或某几部分代码,则认为系统出了问题,程序不能正常运行,于是看门狗电路产生复位信号,使处理器强制复位,系统从复位向量处重新运行。目前五页\总数三十九页\编于十三点嵌入式系统应用软件的主框架如下:Main(){while(1) // (1){ //todo:软件代码 (2)

… reset_watchdog(); // (3) //todo:软件代码 (4)

…}}(1)是嵌入式应用程序的典型代码形式,一个无限循环;(2)和(4)表示实际执行的代码段,代码段内没有无限或超长循环或长时间等待等指令,使(3)处的代码reset_watchdog()每隔一定时间就会执行一次(“喂狗”),其功能是复位看门狗定时器的计数初值,使定时器不溢出。如果程序出了问题,使(3)处的代码未能执行,则看门狗定时器就会溢出,溢出脉冲接到处理器的复位信号上,使处理器强制复位,重新开始运行。目前六页\总数三十九页\编于十三点6.1.4专用复位电路

RC复位电路成本低,简单,但功能较差。专用复位电路是一种专用IC,其输出就是复位信号(高电平复位信号、低电平复位信号或两者同时具备)。有的还将电压监视、电池电量监视等功能集成在一起成为处理器监视电路。VccGNDResetReset*电源检测输入手动复位输入目前七页\总数三十九页\编于十三点6.1.5软件复位软件复位是通过软件设置一个特殊功能寄存器的相应位完成处理器的复位,其复位结果同硬件复位的效果完全一样。软件复位后,程序从复位向量处开始运行。

注意:软件复位同程序直接跳转到复位向量处执行的效果是不一样的。软件复位后,系统所有寄存器会被重新初始化,而直接跳转不会初始化硬件寄存器。目前八页\总数三十九页\编于十三点时钟电路用于产生处理器工作的时钟信号。通用计算机通常使用分离的时钟电路,如8284时钟芯片。嵌入式系统为了节省电路,通常把时钟电路集成在处理器内部,外部只需要接晶体即可。嵌入式系统的时钟电路有RC时钟、石英晶体、石英振荡器、锁相倍频时钟、多时钟源等几种形式。6.2.1RC时钟

RC时钟源通常用于MCU,其振荡频率的稳定性较低,但功耗较低,在家用电路的控制方面用途较广。6.2时钟目前九页\总数三十九页\编于十三点6.2.2石英晶体石英晶体时钟电路,其振荡电路集成在处理器内部,处理器外部引出2个引脚,分别是放大器的输入和输出,石英晶体接在2个引脚上。处理器目前十页\总数三十九页\编于十三点6.2.3石英振荡器石英振荡器是把石英晶体和振荡电路集成在一起,形成石英振荡器电路,直接输出时钟信号供给处理器,其输出的时钟信号接在处理器的输入引脚上。石英振荡器相位相反的两个输出端目前十一页\总数三十九页\编于十三点6.2.4锁相倍频时钟

MCU可采用上述时钟电路,高性能的嵌入式处理器上采用锁相倍频电路,防止高频工作时产生电磁干扰。MPU接口晶振器锁相环倍频预调器分频器分频器相位锁住MPU总线唤醒EXTALXTALVCODMACLKSYSCLKLCDCLKCLK32图中: CLK32——32KHz时钟源,用于实时时钟,实现日历功能;

LCDCLK——LCD控制器的时钟;

DMACLK——DMA控制器的时钟;

SYSCLK——系统主时钟,送给CPU内核。目前十二页\总数三十九页\编于十三点6.2.5多时钟源高性能的嵌入式处理器(如32位)功能强大,芯片上集成了众多的智能电路,需要不同频率的时钟源;并且,出于节能考虑,不同I/O电路的工作状态可以由处理器的编程控制,因此需要多种时钟源,包括CPU内核、实时时钟电路、各I/O电路时钟等。多时钟源的时钟频率通常具有相关性,是由处理器的时钟电路通过分频和倍频得到的。目前十三页\总数三十九页\编于十三点6.3.1I/O接口的基本结构嵌入式处理器通常集成了大量I/O模块,因此I/O接口可被认为是处理器的一部分。I/O接口电路与嵌入式处理器之间通过内部总线交换信息。从编程结构看,I/O模块可分为数据输入寄存器、数据输出寄存器、控制寄存器、状态寄存器、模式寄存器等。6.3I/O模块目前十四页\总数三十九页\编于十三点模式寄存器:只写,用于设置I/O接口的工作方式;控制寄存器:只写,用于控制I/O接口的工作;状态寄存器:只读,用于获取I/O接口的工作状态;数据输入寄存器:只读,用于获取外设数据;数据输出寄存器:只写,用于向外设输出数据;不同I/O接口,寄存器数量和功能也不相同,复杂的接口可能具有更多的寄存器。嵌入式处理器内核模式寄存器数据输入寄存器数据输出寄存器状态寄存器控制寄存器内部总线目前十五页\总数三十九页\编于十三点6.3.3I/O接口寄存器的映射方式嵌入式处理器操作I/O接口是通过I/O接口的寄存器来实现的,因此这些寄存器必须有一个地址(I/O地址)。不同处理器有不同的编址方式,一是与存储器统一编址,二是有独立的I/O地址空间。(1)统一编址。指I/O地址与内存储器统一编址,位于内存地址空间内,将存储器空间的一部分用于I/O地址空间,访问寄存器与访问存储器使用相同的指令。两种方案:目前十六页\总数三十九页\编于十三点I/O地址空间与存储器空间重叠。如MCS-51系列MCU。I/O寄存器成为特殊功能寄存器,其地址映射到片上存储器空间,与片上存储器的地址空间重合,访问I/O寄存器和访问片上存储器指令相同,但寻址方式不同。I/O地址空间与存储器空间不重叠。将整个存储器空间分配一部分用于I/O地址空间,访问存储器和访问I/O寄存器的地址空间不同。为了存储器系统设计的方便,嵌入式处理器的I/O地址空间可以进行重新定位。设计一个重定位寄存器,通过编程重定位寄存器的值,可以使I/O地址空间在整个存储器地址空间内浮动,I/O寄存器的实际地址等于重定位寄存器的基地址加上各I/O寄存器地址的偏移量。如ARM处理器,其I/O地址空间与存储器地址空间统一编址。目前十七页\总数三十九页\编于十三点

(2)独立编址。独立编址方式设计了存储器地址空间和I/O地址空间,它们之间相互独立,采用不同的指令进行访问。I/O寄存器的实际地址也是基地址加上偏移量。如80X86系列处理器。存储器访问采用类似MOV这样的指令,I/O接口访问采用IN/OUT指令访问。有的处理器既能进行统一编址,也能进行独立编址,这可通过其模式寄存器的编程进行设置,从而选择一种合适的编址方式。目前十八页\总数三十九页\编于十三点译码器用于对MEM和I/O接口分配地址空间,通常有3种方案:通用IC译码器、可编程器件和嵌入式处理器集成译码器。6.4.1通用IC译码器常见的IC译码器如74LS138(3-8线译码器)、74LS154(4-16线译码器)等。6.4译码器目前十九页\总数三十九页\编于十三点6.4.2可编程器件通用IC译码器属标准器件,使用不太灵活,可以使用可编程器件(PAL、GAL、CPLD等)设计定制的译码器,满足特殊设计的硬件电路的需要。可编程器件的功能很强,可以实现特殊的译码,其I/O引脚可以配置,非常灵活。目前二十页\总数三十九页\编于十三点6.4.3嵌入式处理器集成译码器嵌入式处理器通常将译码器集成在处理器上,为了使地址空间可灵活配置,这些译码器通常是可编程的,对应于每一个译码器的输出,有一对寄存器。处理器访问存储器或I/O端口的时候,如果给出的地址空间在该对寄存器组合的地址范围之内,则译码输出信号有效,否则无效。其编程方式有两种:(1)起始地址—终止地址方式。一个寄存器存放起始地址,另一个寄存器存放终止地址。(2)起始地址—长度方式。一个寄存器存放起始地址,另一个寄存器存放地址空间的长度,终止地址=起始地址+长度。两种方式的本质是一样的。目前二十一页\总数三十九页\编于十三点6.5定时器/计数器所有的嵌入式处理器都集成了定时器/计数器单元,其工作完全独立于CPU内核。通常具有如下功能:EOS任务调度,特别是具有时间片轮转调度功能的EOS,必须使用定时器产生时间片;EOS的软件时钟需要基于硬件定时器产生定时信号;串行通信的波特率发生器;实时时钟电路;DMA控制器;LCD控制器;WatchDog电路;A/D、D/A转换电路;DRAM控制器等。目前二十二页\总数三十九页\编于十三点6.5.1基本结构定时器和计数器的基本结构是相同的,通常设计在一起,通过切换开关切换脉冲源使它工作于计数器状态或定时器状态。差别在于定时器使用系统时钟作为计数脉冲,而计数器使用外部事件脉冲作为计数脉冲,这些外部事件脉冲信号接在处理器的某引脚上。定时器/计数器通常包括控制寄存器、计数初值寄存器、计数器、计数输出寄存器、状态寄存器等,如图所示。控制寄存器计数初值寄存器计数输出寄存器状态寄存器计数器数据译码地址RDWRRESETREADYCSA0A1OUT往设备去由设备来时钟CLKGATE中断请求目前二十三页\总数三十九页\编于十三点控制寄存器:只写,用于设置定时器/计数器的工作方式;计数初值寄存器:只写,大多数是减法计数器,设定初值之后,进行减法计数,减到0之后产生溢出信号,以脉冲或中断的形式提供。计数器:计数部件;计数输出寄存器:只读,存放计数器当前的数值,程序可以读取;状态寄存器:只读,存放计数器的状态。

目前二十四页\总数三十九页\编于十三点6.5.2工作模式(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重装入计数;计数过程中改变计数值,下一周期按新的计数值计数。(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)一次写入计数值多次计数;GATE上升沿启动计数,重复启动重新计数;计数过程中改变计数值,下次启动按新的计数值计数。目前二十七页\总数三十九页\编于十三点即串行外部设备接口(SerialPeripheralInterface,SPI),利用3条线完成2个芯片之间的双工高速通信。3条线中2条用于收发数据,1条用于时钟同步。SPI的通信方式属于主从方式,主设备通常是CPU。主设备控制数据传输的过程,通过对从设备的编程,控制从设备收发数据。SPI用于同标准外设芯片通信,种类繁多。如串/并、并/串移位寄存器、A/D转换器、LCD控制器等。CPU还可以通过SPI组成一个通信速率比UART高的同步网络,在一个小型系统中交换数据,完成较复杂的工作。SPI的工作原理类似一个分布式16位移位寄存器,一半在CPU里(即SPI),另一半在外设里。当CPU准备发送数据时,该分布式16位移位寄存器循环位移8位,就相当于在CPU和外设间交换了数据。有时这种循环位移可能是单向的。一个典型的SPI系统包括一个主CPU和一个或多个从属的外设。为使不同厂商生产的同步串行外设能够相互通信,SPI系统可以选择移位率、主从模式、时钟极性、相位等。6.6SPI目前二十八页\总数三十九页\编于十三点6.6.1SPI的数据流动使用SPI时,不需要为数据传送特别指出数据流动的方向,主机用两根分离的引脚来同时接收和发送数据,MOSI引脚实现主发送从接收,MISO引脚完成主接收从发送,其操作如下图。

接收缓冲器接收缓冲器SPI移位寄存器SPI移位寄存器主机从机SPSCKMOSIMISOSS在一次SPI传送发生时,一个8位字节通过主发送从接收MOSI引脚移位输出,同时另一个8位字节从主接收从发送MISO引脚输入。这个传送过程可以看成是主机的8位移位寄存器和从机电路联合组成了一个16位循环移位寄存器。在每次传送发生时,这个16位分布式移位寄存器循环移动8位,即完成了主机和外设之间的数据交换。目前二十九页\总数三十九页\编于十三点6.6.2SPI的功能

SPI系统用D端口的4根I/O引脚来实现数据传送:

PD0——SS:低有效从机片选;

PD1——MISO:主接收从发送;

PD2——MOSI:主发送从接收;

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

——从机接收模式:从机通过串行移位寄存器从MOSI线接收数据并传送到SPI接收数据寄存器。当读周期到来时,读取接收数据寄存器中的数据到从模块的内部总线。

——从机发送模式:当写周期到来时,从机CPU从内部数据总线将已经写到SPDR中的数据装入8位移位寄存器,然后等待从主机来的时钟把数据移位送到MISO引脚,随后发送到主机。目前三十二页\总数三十九页\编于十三点6.7UART通用异步收发器,遵守工业异步通信标准,大多数嵌入式处理器配置了UART,或称为SCI(串行通信接口)。异步通信允许处理器之间的通信不使用公共的参考时钟。通信双方需使用相同的波特率和通信格式,数据收发的单位是帧(frame),帧是一系列的在通信线上传输的位流。一帧由一个起始位(0)、数据位(5~8)、校验位(奇、偶或无)、停止位(1~2)、空闲位等组成,下图为典型的帧格式。位0位1位2位3位4位5位6位7校验停止起始空闲12345678910目前三十三页\总数三十九页\编于十三点——起始位:1位,低电平。——数据位:5、6、7、8位数据,低位在前,高位在后。——校验位:奇效验、偶校验、无校验,是可选项。 ◎奇校验:数据位加上奇偶位,1的个数为奇数。 ◎偶校验:数据位加上奇偶位,1的个数为偶数。——停止位:1、1.5、2位构成。由双方约定选择——空闲位:非传送期间为一系列的高电平。

UART的接收与发送是相互独立的,可以同时进行,属于全双工通信。目前三十四页\总数三十九页\编于十三点

EIARS232C是最常见的串行通信标准。EIA(ElectronicIndustriesAssociation)RS(RecommendedStandard)-232C,美国电子工业协会推荐标准,232为代号,C为最新版本。

目前三十五页\总数三十九页\编于十三点

UART的基本特性:完全双工,双缓冲发送和接收。异步传送,5~8bit/字,时钟频率为通信波特率的16。波特率异步达19.2K(或更高),同步达64K。可产生中止字符;产生1、1.5、2位停止位。出错检测:奇偶、溢出、帧错。片内具有优先权中断控制逻辑,具有很强的中断控制能力(发送中断、接收中断)。

目前三十六页\总数三十九页\编于十三点6.8通用并行接口(GPIO)即通用I/O端口,提供输入、输出、双向功能,大多数嵌入式处理器的通用I/O口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论