嵌入式硬件平台

上传人:博****1 文档编号:587573248 上传时间:2024-09-06 格式:PPT 页数:121 大小:1.46MB
返回 下载 相关 举报
嵌入式硬件平台_第1页
第1页 / 共121页
嵌入式硬件平台_第2页
第2页 / 共121页
嵌入式硬件平台_第3页
第3页 / 共121页
嵌入式硬件平台_第4页
第4页 / 共121页
嵌入式硬件平台_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《嵌入式硬件平台》由会员分享,可在线阅读,更多相关《嵌入式硬件平台(121页珍藏版)》请在金锄头文库上搜索。

1、第3章嵌入式硬件平台 第3章 嵌入式硬件平台3.1 引言引言3.2 嵌入式硬件平台概述嵌入式硬件平台概述3.3 总线总线3.4 存储设备存储设备3.5 I/O设备设备3.6 通信设备通信设备3.7 其他其他思考与练习题思考与练习题 第3章嵌入式硬件平台 3.1 引引 言言 嵌入式系统的硬件除了核心部件嵌入式处理器外,还包括存储器系统、外围接口部件以及连接各种设备的总线系统。其中,存储器是嵌入式系统存放数据和程序的功能部件,而外围设备决定了应用于不同领域的嵌入式系统的独特功能。 第3章嵌入式硬件平台 图3-1 嵌入式系统的硬件组成 第3章嵌入式硬件平台 3.3 总总 线线 3.3.1 3.3.1

2、 总线协议总线协议1 1握手协议握手协议总线协议中的基本构件是四周期握手协议。总线握手信号的作用是控制每个总线周期中数据传送的开始和结束,从而实现两个设备间的协调和配合,保证数据传送的可靠性。握手线用两根连线enq(查询)和ack(应答)来表示。在握手期间,使用专用的握手线来传输数据。因此,数据握手线必须以某种方式用信号的电压变化来表明整个总线传输周期的开始和结束,以及在整个周期内每个子周期的开始和结束。一般地,四周期握手过程(如图3-2所示)描述如下: 第3章嵌入式硬件平台 3.3 总线按总线所处的位置及作用不同,分为:按总线所处的位置及作用不同,分为: 片内总线、片间总线、系统总线和通讯总

3、线。片内总线、片间总线、系统总线和通讯总线。总线的主要参数有总线的主要参数有总线的带宽总线的带宽总线的位宽总线的位宽总线的工作时钟频率总线的工作时钟频率第3章嵌入式硬件平台 图3-3 典型的微处理器总线 第3章嵌入式硬件平台 3.3.3 3.3.3 总线配置总线配置一个微处理器系统可能使用多条总线来连接设备。如图3-8所示,高速设备可以连到高速总线上,而低速设备连到低速总线上,通过一个被称为桥的逻辑电路使得总线可以互连。 第3章嵌入式硬件平台 图3-8 多总线系统 PCI力不从心n南桥/北桥nIntel 440系列以后nPCI地位大大降低nHost/PCI为北桥nPCI/ISA为南桥第3章嵌入

4、式硬件平台 使用这样的总线配置主要考虑到以下几个原因:(1) 高速总线通常提供较宽的数据连接。(2) 高速总线通常要更昂贵的电路和连接器,可以通过使用较慢的、比较便宜的总线来降低低速设备成本。(3) 桥允许总线独立操作,因此可以在I/O操作中提供并行性。在高速总线和低速总线之间的总线桥是高速总线的受控器,是低速总线的主控器。桥从高速总线上获取指令并将其传到低速总线,将结果从低速总线传到高速总线上。 第3章嵌入式硬件平台 3.3.4 3.3.4 总线实例总线实例这里以ARM的一个总线系统为例,简单分析该系统的组成和特征。由于ARM微处理器由许多不同制造商制造,因此芯片外提供的总线随芯片变化而变化

5、。ARM已经为单芯片系统创建了一个独立的总线规格说明AMBA规范。AMBA总线(ARM99A)支持将多个CPU、存储器和外围设备集成在片上系统中。如图3-9所示,AMBA规格说明包括两条总线:AHB和APB。其中,AMBA高性能总线(AHB)是为高速传输而经过优化的,它直接连到CPU上并支持多种高性能总线的特性:流水线技术、突发传输、分离事务和多总线主控器等。桥用来将AHB连到AMBA外围设备总线(APB)上。 第3章嵌入式硬件平台 图3-9 ARM AMBA总线系统 第3章嵌入式硬件平台 3.4 存存 储储 设设 备备 3.4.1 3.4.1 嵌入式系统存储器子系统的结构嵌入式系统存储器子系

6、统的结构嵌入式系统的存储器子系统与通用计算机的存储器子系统的功能并无明显的区别,这决定了嵌入式系统的存储器子系统的设计指标和方法也可以采用通用计算机的方法,尤其是嵌入通用计算机的大型嵌入式系统更是如此。 第3章嵌入式硬件平台 图3-10 分级存储器系统 第3章嵌入式硬件平台 1、寄存器组是最高一级的存储器,一般是微处理器内含的。2、高速缓冲存储器(Cache)。其存取速度足以与微处理器相匹配。一般透明使用。可减少内存平均访问时间。3、内存。运行的程序和数据都放在内存中。分RAM和ROM。4、大容量的外存。目前嵌入式系统中常用闪存作为大容量硬盘存储各种程序和数据。第3章嵌入式硬件平台 3.4.2

7、 RAM3.4.2 RAMRAM (Random Access Memory,随机存储器)分为:1静态静态RAM2动态动态RAM第3章嵌入式硬件平台 图3-12 DRAM通过DRAM控制器组成存储器系统 第3章嵌入式硬件平台 3 3RAMRAM的选择的选择在设计嵌入式系统时,随机存储器的选择一般有两种:SRAM和DRAM。选择时,通常考虑以下因素:(1) 如果系统的随机存储器的容量不是很大,则一般采用SRAM;反之,选择DRAM。(2) 对于特别高速度的应用,使用SRAM。(3) 如果嵌入式系统对功耗敏感,可使用SRAM。因为DRAM需要定时刷新,消耗能力相对大,而SRAM在系统进入待机工作方

8、式时,只需要微小的待机电流就可以维持数据不丢失。需要注意的是,SRAM的平均功耗低,但是工作时功耗不一定低。 第3章嵌入式硬件平台 (4) 对于嵌入式处理器而言,有的嵌入式处理器芯片集成了DRAM控制器,这时选择DRAM比较好。一般的,小规模的嵌入式系统不建议使用分离的DRAM控制器DRAM的方案,因为这种方案既会增加系统的复杂性(如电路板的面积、故障率等),又会增加系统的成本。因此如果选用了DRAM,那么尽量使用带有DRAM控制器的嵌入式处理器,然后配合使用DRAM。(5) 目前,基于32位嵌入式处理器的嵌入式系统一般使用DRAM。(6) 复杂的嵌入式系统可以采用SRAM和DRAM混合设计的

9、方案。不同要求的数据使用不同的随机存储器,以满足系统整体的优化设计。 第3章嵌入式硬件平台 (7) 嵌入式系统的设计,在使用SRAM和DRAM的成本上,需要仔细并与整个系统的硬件一起进行核算,最终做出选择。在选择存储器类型时,一般要考虑存取时间和成本。SRAM提供了极快的存取时间,一般比DRAM快4倍,但是造价十分昂贵。通常,SRAM只是用于那些存取速度极端重要的场合。在需要使用大容量的RAM时,一般选择使用DRAM。很多嵌入式系统混合使用两种RAM,如关键数据通道上的一小块SRAM(几百至几千个字节)和其他所有地方的一大块DRAM(以兆计)。 第3章嵌入式硬件平台 3.4.3 ROM3.4.

10、3 ROMROM(Read-Only Memory,只读存储器) 可以分为: 掩模ROM PROM:一次性编程ROM EPROM:紫外线擦除PROM EEPROM:电可擦可编程 第3章嵌入式硬件平台 3.4.4 Flash Memory3.4.4 Flash MemoryFlash Memory(按块擦除存储器) 使用标准电压擦写和编程,允许芯片在标准系统内部编程。这就允许Flash Memory在重新编程的同时存储新的内容。此外,EEPROM必须被整体擦写,Flash Memory可以一块一块地擦写。大部分Flash Memory允许某些块被保护,这一点对存储空间有限的嵌入式系统非常有用,即

11、将引导代码放进保护块内而允许更新设备上其他的存储器块。 第3章嵌入式硬件平台 表表3-1 Flash Memory与传统存储器技术的比较与传统存储器技术的比较 第3章嵌入式硬件平台 根据工艺的不同,Flash Memory主要有两类:NOR Flash Memory和NAND Flash Memory。NOR Flash Memory是在EEPROM的基础上发展起来的,它的存储单元由N-MOS构成,连接N-MOS单元的线是独立的。NOR Flash Memory的特点是可以随机读取任意单元的内容,适合于程序代码的并行读/写、存储,所以常用于制作计算机的BIOS存储器和微控制器的内部存储器等。N

12、AND Flash Memory是将几个N-MOS单元用同一根线连接起来,可以按顺序读取存储单元的内容,适合于数据或文件的串行读/写。 第3章嵌入式硬件平台 Flash Memory不仅可以用作嵌入式系统的程序存储器,也可以作许多其他的应用。(1) Flash Memory文件系统:因为Flash Memory提供了可被重写的非易失性存储,所以它可以被看作类似于任何其他的二级存储系统,如硬盘。在作为文件系统的情况下,由驱动程序提供的函数要更加面向文件,提供诸如open()、close()、read()、write()等标准文件系统函数。Flash Memory文件系统的组织与普通的外存基本相同

13、。(2) 便携设备的存储装置:随着数码产品的飞速发展,Flash Memory作为一种最常用的存储装置应用于数码相机(如CF卡、XD卡、记忆棒等)、MP3等数码产品中。 第3章嵌入式硬件平台 3.5 I/O 设设 备备 3.5.1 3.5.1 定时器定时器/ /计数器计数器所有的嵌入式处理器都集成了定时器/计数器单元。系统中至少有一个定时器设备,用作系统时钟。定时器和计数器都是由带有保存当前值的寄存器和向当前寄存器值加1的增量输入的加法器逻辑电路组成的。但是,定时器和计数器的用处不同,主要体现在:定时器的计数装置是连到周期性时钟信号上的,用来测量时间间隔;而计数器的计数装置是连到非周期性信号上

14、的,用来计算外部事件的发生次数。因为同样的逻辑电路可以有这两种使用方式,所以该设备经常被称为“定时器/计数器”。 第3章嵌入式硬件平台 嵌入式处理器上的定时器/计数器通常具有以下功能:(1) 嵌入式操作系统的任务调度,特别是具有时间片轮转调度功能的嵌入式操作系统的任务调度,必须使用定时器产生时间片。(2) 嵌入式操作系统的软件时钟需要基于硬件定时器产生定时信号。(3) 通信电路的波特率发生器。(4) 实时时钟电路。(5) 集成的片上A/D转换和D/A转换电路。(6) 具有液晶控制器的嵌入式处理器应用液晶屏的刷新。(7) 处理器监控电路,如看门狗等。(8) 集成的动态存储器控制器用于动态存储器的

15、刷新。 第3章嵌入式硬件平台 图3-14展示了定时器/计数器的内部结构。当计数信号被确认时,一个n位的定时器/计数器使用一个n位的寄存器来保存当前计数值并使用半减器阵列减去该计数器的值。组合逻辑电路用来检查计数值是否为0。输出Done发出0计数信号。为了对控制超时进行响应而不是确切要求2n次事件发生,使用一个复位寄存器提供给计数寄存器装入的值。定时器/计数器用逻辑电路来装载复位寄存器。此外,大部分计数器提供循环和非循环的操作模式。在循环模式中,一旦计数器达到Done状态,它自动重装并继续计数;在非循环操作模式,定时器/计数器等待一个来自微处理器的明确信号来重新计数。 第3章嵌入式硬件平台 图3

16、-14定时器/计数器的内部结构 第3章嵌入式硬件平台 3.5.2 3.5.2 模模/ /数转换器和数数转换器和数/ /模转换器模转换器模/数(A/D)转换器和数/模(D/A)转换器是非数字设备(即模拟信号源)和嵌入式系统之间联系的接口。D/A转换相对简单,转换器接口仅包括数据值,输入值被连续转换成模拟信号。 第3章嵌入式硬件平台 A/D转换器是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。A/D转换需要更复杂的电路,所以也需要更复杂的接口。A/D转换在将模拟输入转换为数字形式前需要对模拟输入进行采样。控制信号使得A/D转换器进行采样并将其数字化。典型的A/

17、D转换器接口除了模拟输入外还有两个主要的数字输入,一个数据端口允许A/D寄存器被读/写;另一个时钟输入信号通知什么时候开始下一次转换。A/D转换器有若干种不同的类型,主要包括:逐位比较型、积分型、计数型、并行比较型和电压频率型。选用A/D转换器时,主要应根据使用场合的具体需求,分析转换速度、精度、价格、功能以及接口条件等因素,最终决定选择的类型。 第3章嵌入式硬件平台 3.5.3 人机接口设备人机接口设备 1 1键盘键盘键盘是标准的输入设备,广泛用于嵌入式产品,如微波炉、传真机、复印机、激光打印机等。依赖键盘接口实现用户的输入,使得嵌入式设备能够处理用户的输入信息,将嵌入式控制器的功能发挥得更

18、大。键盘可以用来输入数字型数据或者选择控制设备的操作模式。键盘主要由一个开关阵列组成,此外还包括一些逻辑电路来简化它到微处理器的接口。我们首先了解一个简单开关的原理,然后再分析由微处理器控制的键盘。 第3章嵌入式硬件平台 开关使用机械接触实现断开或接触电路,如图3-15所示。当开关打开时,通过处理器I/O接口的一个上拉电阻提供逻辑1;当开关闭合时,处理器I/O接口的输入被拉到逻辑0。机械开关的主要问题是图3-16所示的颤动。当通过按下连接到开关臂上的按钮将开关压上时,接触点可能看起来稳定而且很快闭合,但实际上压力导致接触点颤动几次才停下来。这种颤动显现为按了几次开关,持续时间通常维持在530

19、ms之间。为了避免这种颤动,可以使用一个单步定时器形成硬件消颤电路,也可以用软件来消除开关输入颤动。 第3章嵌入式硬件平台 图3-15 简单的开关电路 第3章嵌入式硬件平台 图3-16 开关颤动 第3章嵌入式硬件平台 原始的键盘是开关的简单集合,每个开关有自己的一对引出线,直接连到处理器的输入端口上。这种开关的组合方法使得当开关的数目增加时,将很快用完所有的输入端口,原始键盘会变得不实用。更加实用的键盘通过排列开关形成如图3-17所示的开关阵列。一个瞬时接触开关放置在每一行与每一列的交叉点处,使用编码来表示被按下的开关,形成编码键盘,通过扫描开关阵列来确定是否有键被按下。与原始键盘不同,扫描键

20、盘阵列每次只读开关的一行。阵列左边的多路分路器选择要读的行。当扫描输入为1时,该值被送到该行的每一列,如果某个键被按下,那么该列的1被探测到。由于每列只有一个键被激活,因此该值唯一代表了一个键。行地址和列输出被用来编码,或者用电路来给出不同的编码。 第3章嵌入式硬件平台 图3-17 扫描键盘阵列 第3章嵌入式硬件平台 键盘编码可能使得多个键的组合无法被识别。例如,在PC键盘中,必须选择一种编码使Ctrl+Q之类的键能被识别并送进PC。另外,键盘编码还可能导致不允许同时按键。例如,在大部分应用中,如果按1,在未释放之前再按2,那么大多数应用是想要键盘先发送1再发送2。这种编码电路的一种简单实现是

21、在一个键被按下而未释放之前,丢弃已按下的其他任何字符。键盘的微控制器可以被编程处理多个键被同时按下(即多键滚转),这使得同时按键被识别、入栈,而在键被释放时,再依次传输。 第3章嵌入式硬件平台 2 2LCDLCD显示器显示器1) 直接驱动如图3-18所示,多个数字阵列是直接驱动显示的简单例子。单数字显示器通常有七段,每段可以是发光二极管,也可以是液晶显示器。这种显示用数字输入来选择当前要更新的数字,被选择的数字在当前数据值的基础上激活它的显示元件。显示驱动器复杂,重复扫描数字并将当前值送到显示器上。 第3章嵌入式硬件平台 图3-18 多个数字显示器 第3章嵌入式硬件平台 2) 帧缓冲区如图3-

22、19所示,帧缓冲区是一个连到系统总线上的随机存取存储区。微处理器可以以任意所需次序将值写入帧缓冲区。这种显示方式主要适用于阴极射线管(Cathode-Ray Tube,CRT)显示。当CRT被连到帧缓冲区时,它通常以光栅的顺序读像素,一次显示一行。 第3章嵌入式硬件平台 图3-19 帧缓冲显示系统 第3章嵌入式硬件平台 3) 液晶控制板大平面显示器通常由LCD构成。其中每个像素都由一个液晶体构成。LCD显示器到系统的接口独具特点,这主要因为LCD像素阵列能够被随机访问。早期的液晶显示控制板被称为被动矩阵,它依靠一个二维的电线网络来编址像素。现代液晶显示控制板显示器使用一种主动矩阵系统,它给每个

23、像素配置转发器,以此来控制、访问LCD显示器。主动矩阵显示器提供了更高的对比度和显示质量。 第3章嵌入式硬件平台 3 3触摸屏触摸屏触摸屏是覆盖在输出设备上的输入设备,用来记录触摸位置。把触摸屏覆盖在显示器上,使用者可以对显示的信息作出反应。触摸屏按其工作原理不同分为表面声波屏、电容屏、电阻屏和红外屏等。其中常见的触摸屏是电阻式触摸屏。电阻式触摸屏用二维电压表来探测位置。如图3-20所示,触摸屏由两层被许多细小的透明隔离球隔开的导电薄层组成。当手指或笔触摸屏幕时,平常互相绝缘的导电层在触摸点位置有了一个接触。在顶层的导电层上加上电压,它的电阻就在穿过该层时产生电势差;然后顶层在接触点对电压采样

24、;最后用模/数转换器来测量电压,以此得出位置。触摸屏通过交替使用水平和垂直电压梯度来获得x和y坐标位置。 第3章嵌入式硬件平台 图3-20 电阻式触摸屏的结构 第3章嵌入式硬件平台 3.6 通通 信信 设设 备备 3.6.1 3.6.1 通用异步收发器通用异步收发器通用异步收发器(Universal Asynchronous Receiver and Transmitter,UART)是用于控制计算机与串行设备的接口。我们在介绍数据通信模式和串行通信标准的基础上,分析通用异步收发器的原理和功能。1 1数据通信模式数据通信模式数据通信是两台数字设备之间的数据传输。从不同的角度划分,数据通信方式大

25、致可以分为双工通信、串行和并行通信、同步和异步通信。 第3章嵌入式硬件平台 1) 双工通信双工通信是对相互通信的两台通信设备之间数据流向的描述。双工通信包括单工、半双工和全双工三种方式。双工通信方式的结构如图3-21所示。 第3章嵌入式硬件平台 图3-21 双工通信方式的结构 第3章嵌入式硬件平台 (1) 单工通信方式是指两台通信设备间数据只能在一个方向上传送。在单工方式下,两台通信设备一台为发送设备,另一台为接收设备,它们之间只有一条通信链路。(2) 半双工通信方式是指两台相互通信的设备均具有收发数据的能力,但在某一时间内它们只能执行一种操作(收或发),不能同时执行收、发两种操作;在它们之间

26、的通信线路的两个方向上均可传输数据,但在某一时间内只能在一个方向上传输数据。为实现半双工通信,两台通信设备间只需一条通信线路,但各通信设备必须配备收发切换开关。(3) 全双工通信方式是指相互通信的两台设备可以同时发送和接收数据,即数据在同一时刻可在两个方向上传输,因此它们之间至少需要两条通信线路。 第3章嵌入式硬件平台 2) 串行和并行通信并行通信是构成字符的二进制代码在并行信道上同时传输的方式。并行传输时,一次传输一个字符,收发双方不存在同步问题,传输速度较快。但是,并行传输需要并行信道,所以线路投资大,不适合小型化产品。串行通信是指构成字符的二进制代码在一条信道上以位(码元)为单位,按时间

27、顺序且按位传输的方式。串行传输时,发送端按位发送,接收端按位接收,同时还要对所传输的字符加以确认,所以收、发双方要采取同步措施,否则接收端将不能正确区分出所传输的字符。虽然串行通信的速度慢,但是只需要一条传输信道,线路投资少,易于实现,因此在数据通信吞吐量不是很大的嵌入式系统中显得更加简易、方便、灵活。 第3章嵌入式硬件平台 3) 异步和同步通信串行通信有两种基本工作方式:异步通信和同步通信。在异步通信方式下,传输数据以字符为单位。当发送一个字符代码时,字符前面要加一个“起”信号,其长度为1个码元,极性为“0”;字符后面要加一个“止”信号,其长度为1、1.5或2个码元,极性为“1”。加上起、止

28、信号后,即可区分出所传输的字符。传送时,字符可以连续发送,也可以单独发送,不发字符时线路要保持为“1”状态。异步传输方式适用于1200 b/s以下的低速传输,实现起来比较简单。同步通信传输不需要加起、止信号,因此传输效率高,适用于2400 b/s以上的数据传输,但是实现起来比较复杂。 第3章嵌入式硬件平台 2 2标准串行通信接口标准串行通信接口标准异步串行通信接口主要有以下几类:RS-232C、RS-422和RS-485。RS-232C是美国电子工业协会(EIA)正式公布的、在异步串行通信中应用最广的标准总线,适合短距离或带调制解调器的通信场合。为了提供数据传输速率和通信距离,EIA又公布了R

29、S-422和RS-485串行总线接口标准。 第3章嵌入式硬件平台 1) RS-232CRS-232C是美国电子工业协会(Electronic Industry Association,EIA)制定的在数据终端设备(Data Terminal Equipment,DTE)和数据通信设备(Data Communication Equipment,DCE)之间进行串行二进制数据交换的接口。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232C标准是一种硬件协议,规定了21个信号和25个引脚,用于连接DTE和DCE两种设备。 第3章嵌入式硬件平台 RS-232C标准规定的数据传输

30、速率为50、75、100、150、300、600、1200、2400、4800、9600、19 200 b/s;驱动器允许有不超过2500 pF的电容负载,通信距离将受此电容限制。例如,当信号传输速率为20 kb/s时,最大传输距离为15 m。传输距离短的另一个原因是RS-232C属于单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于短距离通信。第3章嵌入式硬件平台 RS-232C接口的缺点主要表现在两个方面:数据传输速率慢和传输距离短。RS-232C规定的20 kb/s的传输速率虽然能够满足异步通信要求(通常异步通信速率限制在19.2 kb/s以下),但对某些同步系统来说不能满

31、足传输速率要求。此外,RS-232C接口的一般设备之间电缆长度为15 m,最长也不会超过60 m。 第3章嵌入式硬件平台 2) RS-422RS-422是EIA公布的“平衡电压数字接口电路的电气特性”标准,是为改善RS-232C标准的电气特性、又考虑与RS-232C兼容而制定的。RS-422与RS-232C的关键差别在于把单端输入改为双端差分输入,双方的信号地不再共用。RS-422给出了对电缆、驱动器的要求,规定了双端电气接口形式,并使用双绞线传送信号。与RS-232C相比,RS-422传输信号距离长、速度快。传输率最大为10 Mb/s,在此速率下,电缆允许长度为120 m。如果采用较低传输速

32、率,如90 kb/s,则最大距离可达1200 m。 第3章嵌入式硬件平台 3) RS-485RS-485是RS-422的变型,RS-422是全双工的,可以同时发送与接收;而RS-485是半双工的,在某一时刻,只能一个发送另一个接收。RS-485是一种多发送器的电路标准,它扩展了RS-422的性能,允许双线总线上驱动32个负载设备。负载设备可以是被动发送器、接收器或二者组合而成的收发器。当用于多点互连时,可节省信号线,便于高速远距离传送。许多智能仪器设备配有RS-485总线接口,便于将它们进行联网。 第3章嵌入式硬件平台 表表3-2 RS-232C、RS-422A与与RS-485性能比较性能比较

33、 第3章嵌入式硬件平台 3 3UARTUARTUART提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其他使用RS-232C接口的串行设备进行通信。作为接口的一部分,UART还提供了以下功能:将计算机外部传来的串行数据转换为字节,供计算机内部使用并行数据的器件使用;将由计算机内部传送过来的并行数据转换为输出的串行数据;在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验;在输出的数据流中加入“起”、“止”标记,并从接收数据流中删除“起”、“止”标记;处理计算机与外部串行设备的同步管理问题;处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。 第3章嵌

34、入式硬件平台 相对于微处理器,一台UART是作为一个甚至多个存储点或I/O端口的。UART一般包括一个或多个状态寄存器,用于验证数据传输和接收时的状态、进程。微处理器能够判断何时已收到一个字节、何时已发送一个字节、是否产生通信错误等。UART还可以通过一个或多个控制寄存器进行配置,配置内容包括波特率的设置、终止位数量的设置以及在发送字节时产生中断等。异步通信在UART上几乎是透明地运行,为了收、发数据,只需运行程序,简单地在UART上执行读/写操作。比较流行的UART有NS16550、AMD Z8530、ACIA、Motorola 6850、Zilog Z-80 STO等。当UART用于嵌入式

35、设计时,嵌入式系统就能够利用通信终端、计算机甚至是其他嵌入式微处理器上的数据资源。 第3章嵌入式硬件平台 3.6.2 3.6.2 USBUSB设备设备1 1USBUSB总线概述总线概述连接计算机外设的串行数据总线,其技术的发展一直非常缓慢。1969年EIA推出的RS-232C串行总线至今仍是连接计算机外设的主流串行总线。尽管在20世纪70年代和80年代陆续推出了RS-422A、RS-449、RS-485和RS-530等串行总线(其中RS-449的设计初衷是想取代 RS-232C,而RS-530则是想取代RS-449),但由于种种原因都没有改变RS-232C先入为主的主导地位。因此,长期以来,串

36、行总线只用于连接慢速外设或用作低速网络的总线。 第3章嵌入式硬件平台 通用串行总线(Universal Serial Bus,USB)是1995年Microsoft、Compaq、IBM等公司联合制定的一种新的计算机串行通信协议。USB协议得到各PC厂商、芯片制造商和PC外设厂商的广泛支持。从当初的0.7、0.8版本到现在广泛采用的1.0、1.1版本,甚至到正在逐步推广的2.0版本,USB本身也在不断地发展和完善。通用串行总线是一种将USB外围设备连接到主机的外部总线结构,它通过PCI总线和PC的内部系统数据线连接,实现数据传送。USB同时又是一种通信协议,它支持主系统和USB外围设备之间的数

37、据传送,通过一个4针的标准插头,采用菊花链形式把所有的外设连接起来。 第3章嵌入式硬件平台 USB主要具有以下优点:(1) 支持热插拔(hot plug)和即插即用(Plug-and-Play),即在不关机的情况下可以安全地插上或断开USB设备,动态加载驱动程序。(2) 为所有的USB外设提供单一的、易于操作的标准连接类型,排除了外设对系统资源的需求,因此减少了硬件的复杂性和对端口的占用,整个USB系统只有一个端口和一个中断,节省了系统资源。(3) USB1.1提供全速12 Mb/s和低速1.5 Mb/s的模式,USB2.0提供高达480 Mb/s的传输速率。(4) 为了适应各种不同类型外设的

38、要求,USB提供了四种不同的数据传输类型。(5) 易于扩展,理论上最多可支持127个设备。 第3章嵌入式硬件平台 2 2USBUSB总线的硬件结构总线的硬件结构USB通过四线电缆传送信号和电能,如图3-22所示。其中两根是用来传送数据的串行通道,另两根为下游(Downstream)设备提供电能。 第3章嵌入式硬件平台 图3-22 USB连接线 第3章嵌入式硬件平台 D+、D- 是一对差模信号线,它支持两种数据传输率。以USB1.1为例,对于高速外设,USB以全速12 Mb/s传输数据,但必须使用屏蔽的双绞线且长度不超过5 m;对于低速外设,USB则以1.5 Mb/s的速率传输数据,这种模式下可

39、以使用无屏蔽的非双绞线,但长度不超过3 m。为了保证能够提供一定电平的信号并且与终端的负载匹配,在电缆的每一端都使用不平衡终端负载。这种终端负载既能保证检测出外设与端口的连接和分离,又能区分高速与低速USB总线,可以根据外设情况在两种传输模式中自动动态切换。VBUS通常为+5 V的电源,GND是地线。 第3章嵌入式硬件平台 USB总线是基于令牌的总线,类似于令牌环网络。USB主控制器广播令牌,总线上的设备检测令牌中的地址是否与自身相符,通过接收或者发送数据来响应主机。USB通过支持悬挂/恢复操作来管理USB总线电源。USB系统采用级联星型拓扑,该拓扑由三个基本部分组成:主机(Host)、集线器

40、(Hub)和功能设备,如图3-23所示。主机也称为根或Root Hub,它做在主板上或作为适配卡安装在计算机上。主机通过主机控制器与USB设备进行交互,控制着USB总线上的数据,并控制信息的流动。每个USB系统只能有一个根集线器,它连在主控制器上。集线器是USB结构中的特定成分,它提供用于将设备连接到USB总线上的端口,同时检测连接在总线上的设备,并为这些设备提供电源管理,负载总线的故障检测和恢复。集线器可为总线提供能源,也可为自身提供能源(从外部得到电能)。 第3章嵌入式硬件平台 图3-23 USB系统级联结构 第3章嵌入式硬件平台 3USB总线的软件结构总线的软件结构每个USB仅有一个主机

41、,在USB通信过程中占主导地位。主机包括USB总线接口、USB设备层和功能层三层结构。主机各层具有的功能包括:检测连接和移去的USB设备、管理主机和USB设备间的数据流、连接USB状态和活动统计、控制主控制器和USB设备间的电气接口等。(1) USB总线接口。USB总线接口处理电气层与协议层的互连,由主控制器实现。(2) USB系统。USB系统用主控制器管理主机与USB设备间的数据传输。它与主控制器间的接口依赖于主控制器的硬件定义。同时,USB系统也负责管理USB资源,例如带宽和总线能量,这使得客户访问USB成为可能。USB系统包括三个基本组件:主控制器驱动程序(HCD)、USB驱动程序(US

42、BD)和主机软件。 第3章嵌入式硬件平台 主控制器驱动程序:该程序可以把不同主控制器设备映射到USB系统中。通用主控制器驱动程序(UHCD)处于软结构的最低层,实现了USB主控制器通信和控制USB主控制器,并且对系统软件的其他部分是隐蔽的。系统软件中的对高层通过UHCD的软件接口与主控制器通信。 USB驱动程序:该程序在UHCD驱动器之上,提供驱动器级的接口,以满足现有设备驱动器设计的要求。 主机软件:这些软件本来是用于向设备驱动程序提供配置信息和装载结构的,但在某些操作系统中没有提供USB系统软件,设备驱动程序将应用操作系统提供的接口而不是直接访问USB驱动程序接口。 第3章嵌入式硬件平台

43、(3) USB客户软件。USB客户软件是软件结构的最高层,负责处理特定的USB设备驱动。客户程序层描述所有直接作用于设备的软件入口。当设备系统被检测到后,这些客户程序将直接作用于外围硬件。这种共享特性将USB系统软件置于客户和它的设备之间,客户程序要根据USB在客户端形成的设备映像对它进行处理。 第3章嵌入式硬件平台 4USB总线的数据传输方式总线的数据传输方式数据和控制信号在主机和USB设备之间的交换存在两种通道:单向通道和双向通道。USB的数据传送是在主机和某个USB设备的指定端口之间进行的。这种主机和USB设备的端口间的联系称作通道。一般情况下,各个通道之间的数据流动是相互独立的,且一个

44、指定的USB设备可有许多通道。对任何给定的设备进行设置时,一个通道上的数据传输只能支持下列四种USB数据传输方式中的一种:同步(isochronous)、控制(control)、中断(interrupt)和批量(bulk)。 第3章嵌入式硬件平台 (1) 同步数据传输。同步数据传输提供了确定的带宽和间隔时间(latency)。它主要用于时间要求严格并且具有较强容错性的流数据传输,或者用于要求恒定数据传输速率的即时应用中。对于同步传输来说,即时的数据传递比数据的完整性更重要。例如,即时通话的网络电话常常使用同步传输模式。 第3章嵌入式硬件平台 (2) 控制数据传输。控制传输是双向传输,数据量通常

45、较小。USB系统软件主要用来进行查询、配置和给USB设备发送通用的命令。控制传输方式可以传输8、16、32和64字节的数据,这依赖于设备和传输速度。控制传输的典型应用是在主机和USB外设之间的传输。例如,当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序通过特定方式使用控制数据来传输,且数据传送是无损性的。 第3章嵌入式硬件平台 (3) 中断数据传输。中断方式传输主要用于定时查询设备是否有中断数据传输。设备的端点模式器的结构决定了它的查询频率范围是1255 ms,这种传输方式典型应用在少量的、分散的、不可预测数据的传输,如键盘、操纵杆和鼠标就属于这一类型。中断方式传

46、输数据是单向的,且对于主机来说只有输入的方式。(4) 批量数据传输。批量方式传输主要应用在大量传输和接收数据,同时又没有带宽和间隔时间要求的情况下。批量数据由大量的数据组成,且批量数据是连续的。这种传输方式可以等到所有其他类型的数据传输完成之后再传输和接收数据。 第3章嵌入式硬件平台 5USB总线的数据传输原理总线的数据传输原理在USB结构中,占主导地位的是主控制器。主控制器要保证所有与其连接的数量不同、传输方式不同的设备能够同时正常工作。为此,USB主控制器使用间隔为1 ms的帧来实现数据传输。由于有许多设备连接到USB总线上,所以每1 ms产生的传输帧是混合的。在几种数据传输方式都存在的情

47、况下,中断传输和同步传输对时间要求较高,因此占用了约90%的总带宽;控制传输占用了约10%的带宽;批量传输对时间要求不高,但数据量大,它使用剩下的可用带宽。 各种USB设备就是通过这种基本的帧结构实现共享USB带宽来传输数据的。 第3章嵌入式硬件平台 在主机端,不同设备的数据传输请求被划分成若干个块(Transaction)。为了保证连接到主机上的设备可以同时工作,主机每次从不同设备取一个块构成一个1 ms帧,然后将整个帧发送到USB总线上。每一个块由三个包(Packet)组成:标志包(Token Packet)、数据包(Data Packet)和握手信号包(Handshake Packet)

48、。根据令牌包里定义的设备地址和端点号,设备能够确定属于自己的相应数据。 第3章嵌入式硬件平台 一根USB总线每次最多传输三个数据包。在每次传输开始时,主机控制器发送一个描述传输种类、传输方向、USB设备地址和终端号的USB数据包,该数据包就是标志包。在数据开始传输时,由标志包来标志数据的传输方向,数据传输方向不是从主机到设备就是从设备到主机;然后,发送端开始发送包含信息的数据包或表明没有数据传输。接收端要相应发送一个握手的数据包,以表明数据是否传输成功。USB设备从解码后的数据包的适当位置取出属于自己的数据。 第3章嵌入式硬件平台 6USB设备即插即用的实现设备即插即用的实现USB设备可以实现

49、热插拔。当USB设备插入到主机中时,主机通过查询设备的描述符(Descriptor)来了解设备,进而建立通信,这个过程叫做对设备的枚举。图3-24是某个设备的描述符结构。USB设备被分成了许多类(class),某一特定类的设备又可以划分成若干子类(subclass),划分子类后的软件就可以搜索总线并选择所有它支持的设备了。一个USB设备只有一个设备描述符(Device Descriptor),它指明了设备所属的类。每个设备可以有一个或多个配置(Configuration),配置用于定义设备的功能。如果一个设备有几种不同的功能,则每个功能都需要一个配置。配置是接口(Interface)的集合。接

50、口用来指定设备中与USB交换数据的硬件。每一个与USB交换数据的硬件就叫做一个端点(Endpoint)。 第3章嵌入式硬件平台 因此,接口是端点的集合。例如,以一个能播放CD的USB接口的CD-ROM作为一个设备。它具有两种功能:读取光盘和播放CD,所以有两个配置描述符。一种功能的实现要涉及许多接口,如当CD播放机使用时,需要音频接口,同时还需要控制CD机的接口,因此具有两个接口描述符。而控制命令接口又由许多端点组成,如有的端点负责向CD机发送命令,有的端点负责接收来自CD机的反馈,因此又有若干个端点描述符。 第3章嵌入式硬件平台 图3-24 一个USB设备的描述符结构 第3章嵌入式硬件平台

51、7USB 器件的选择器件的选择在进行一个USB设备开发之前,首先要根据具体使用要求选择合适的USB 控制器。目前,市场上供应的USB控制器主要有两种:带USB接口的单片机(MCU)和纯粹的USB接口芯片。带USB接口的单片机从应用上可以分成两类,一类是从底层设计专用于USB 控制的单片机;另一类是增加了USB接口的普通单片机,如Cypress公司的EZ-USB(基于8051),选择这类USB控制器的最大好处在于开发者对系统结构和指令集非常熟悉,开发工具简单,但对于简单或低成本系统,价格也是在实际选择过程中需要考虑的因素。 第3章嵌入式硬件平台 纯粹的USB接口芯片仅处理USB通信, 必须有一个

52、外部微处理器来进行协议处理和数据交换。典型产品有Philips公司的PDIUSBD11(IIC接口)、PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888等。USB接口芯片的主要特点是价格便宜、接口方便、可靠性高,尤其适合于产品的改型设计(硬件上仅需对并行总线和中断进行改动,软件则需要增加微处理器的USB中断处理和数据交换程序、PC机的USB接口通信程序,无需对原有产品系统结构作很大的改动。 第3章嵌入式硬件平台 8USB系统的开发流程系统的开发流程(1) 系统结构、功能的定义。首先要选择所要开发的USB系统的结构类型,即是作主机

53、(Host)还是作USB设备(Device)。其次,要选择该系统的功能,即是作为数据采集器(要求实时性)还是作为存储设备。最后,要选择采用的USB标准,即是用USB1.1标准还是用USB2.0标准。(2) USB接口方法的选择。常用的USB接口方法有两种:一种是采用专用的USB接口芯片,一种是选用内部集成USB接口的单片机。选择哪一种方法主要由系统的功能、特点、成本等因素决定。 第3章嵌入式硬件平台 (3) 与微处理器的接口电路。如果选择的接口方法是采用USB接口芯片,就要解决该芯片与选定的微处理器的接口问题。一般情况下,专用USB接口芯片都会提供简单直观的接口方式,可以与大部分主流CPU连接

54、,因此按照芯片资料上的典型接法连接就可以了。(4) 固件编程。如果将USB系统作为主机,那么固件编程的主要工作是向设备端发送各种请求,并要求设备端提供各种描述符。主机将记录描述符的详细信息,并为设备指定地址,然后通过这些端点与设备进行通信。 第3章嵌入式硬件平台 (5) 开发PC端驱动程序与应用程序。如果USB设备与PC机接口,则需要开发PC机上的驱动程序和应用程序。在PC机端(这里是Host),除了由主机控制器(Host Controller)完成硬件级的接口外,还需要编写设备的客户端程序(Client Program)。例如,一个通过下载界面下载MP3的USB设备,需要编写PC端的那个下载

55、程序;如果是一个实时的数据采集设备,则需要在PC端编写一个用户界面程序,通过这个界面可以看到USB设备采集的结果。 第3章嵌入式硬件平台 (6) USB系统调试。嵌入式USB系统的调试一般按照“调试嵌入式中的固件调试PC端驱动程序和应用程序系统调试”的流程进行。这种调试方式能够将调试过程中出现的问题最大限度地进行定位,而不会把所有问题混在一起。在调试固件时,可以借助Bus Hound等工具来模拟主机的一些行为。固件调试完成后,再使用嵌入式设备作为一个USB Device来调试PC端的驱动程序和应用程序。最后完成系统的测试和改进。 第3章嵌入式硬件平台 3.6.3 Ethernet设备设备 1以

56、太网的特点以太网的特点以太网是最广泛应用的局域网络技术,实现了在小区域(如一个办公室)范围内连接计算机。以太网数据速率为10 Mb/s,而快速以太网(Fast Ethernet)数据速率为100 Mb/s。最常用的以太网协议是IEEE 802.3标准,媒体的存取规则采用CSMA/CD(载波检测多路存取/冲突检测)。现代的操作系统均能同时支持这些协议标准,因此对嵌入式系统的应用来说,考虑系统精简因素,只需要支持这一种就够了,除非有特殊需要,否则没有必要支持太多协议。 第3章嵌入式硬件平台 2以太网的数据传输以太网的数据传输以太网传输报文的基本格式如图3-25所示。它提供了目的地址和源地址,同时还

57、提供了要传送的有效数据。 图3-25 以太网传输报文的基本格式 第3章嵌入式硬件平台 以太网的数据传输有以下特点:(1) 所有数据位的传输由低位开始,传输的位流采用曼彻斯特编码。(2) 以太网传输的数据段长度最小为60字节,最大为1514字节。(3) 通常以太网卡可以接收来自三种地址的数据,即广播地址、多播地址(在嵌入式系统中很少使用)和它自己的地址。但有时用于网络分析和监控,网卡也可以设置为接收任何数据包。(4) 任何两个网卡的物理地址都是不一样的。网卡地址由专门结构分配,不同厂家使用不同地址段,同一厂家的任意两个网卡的地址也是唯一的。 第3章嵌入式硬件平台 3嵌入式以太网接口的实现方法嵌入

58、式以太网接口的实现方法在嵌入式系统中实现以太网接口的方法通常有两种。方法一是采用嵌入式处理器与网卡芯片的组合。这种方法对嵌入式处理器没有特殊要求,只需要把以太网芯片连接到嵌入式处理器的总线上即可。该方法通用性强,不受处理器的限制,但是,处理器和网络数据交换通过外部总线(通常是并行总线)实现,速度慢、可靠性不高并且电路板布线复杂。方法二是直接采用带有以太网接口的嵌入式处理器。这种方法要求嵌入式处理器有通用的网络接口,如MII(Media Independent Interface)。通常这种处理器是为面向网络应用而设计的。处理器和网络数据交换通过内部总线实现,因此速度快,实现简单。 第3章嵌入式

59、硬件平台 3.7 其其 他他 3.7.1 电源电源大多数嵌入式系统本身都有电源,且电源的供电方式具有一种特定的电压范围。嵌入式系统中各个单元的电压范围有四种:5.00.25 V、3.30.3 V、2.00.2 V和1.50.2 V。此外,嵌入式系统微控制器中的电可擦可编程只读存储器(EEPROM)、RS-232串行接口,均需要提供120.2 V的电压。 第3章嵌入式硬件平台 某些系统本身不具有供电子系统,它们使用外部电源或者使用充电泵来供电。例如,网络接口卡和图形加速器都是本身没有供电系统而使用PC电源的嵌入式系统。充电泵有一个串联的二极管,后面跟随一个充电电容。充电泵从一个非电源线获得电能。

60、例如,当计算机使用鼠标时,充电泵消耗电路;当鼠标处于空闲状态时,鼠标中的充电泵存储电荷,从而获得电能。第3章嵌入式硬件平台 嵌入式系统必须从加电开始连续执行任务并有可能一直处于加电状态。因此,节电在设备运行过程中是很重要的。嵌入式处理器必须提供Wait和Stop指令,使系统能够在低电压模式下运行。通常实现嵌入式设备低电压模式运行的方法有两种:一种是在软件中集成Wait和Stop指令;另一种是在空闲状态下选择低电压模式,从而在最低电压下运行系统。此外,还有一种节电方法,即在特殊的软件部分运行时(如定时器和I/O设备),禁止处理器的某些不必要的结构单元(如高速缓存)运行,并将它们处于断开连接状态。

61、 第3章嵌入式硬件平台 3.7.2 时钟时钟在嵌入式系统中,处理器需要有一个时钟振荡(clock oscillator)电路。时钟控制着CPU、系统定时器和CPU机器周期的各种时序需求。机器周期用于两个方面:一方面,从存储器中取回代码和数据,然后在处理器上对它们进行译码并运行;另一方面,将结果传回到存储器中。时钟控制着执行一条指令的时间。通用计算机可以使用分离的时钟电路,如IBM PC/XT使用专用时钟芯片8284产生时钟信号。而嵌入式系统通常为了节省电路,把时钟电路集成在嵌入式处理器上,外面只需要接晶体即可。嵌入式系统的时钟电路一般有以下几种形式:RC时钟、石英晶体、石英振荡器、锁相倍频时钟

62、和多时钟源。 第3章嵌入式硬件平台 (1) RC时钟:RC时钟一般用于嵌入式微控制器。这种时钟源的振荡频率的稳定性低于时钟振荡器,但是功耗比较低。当嵌入式系统对时钟的稳定性要求不高时,例如家用电器的控制,可以采用这种电路,且其时钟频率可以动态修改。嵌入式处理器的功耗与时钟频率基本呈线性关系,因此根据处理器的负荷动态改变时钟频率以降低功耗是比较好的方法。(2) 石英晶体:基于石英晶体的时钟电路,其振荡电路集成在处理器上,处理器引出两个引脚,分别是放大器的输入和输出,石英晶体接在这两个引脚上,如图3-26所示。 第3章嵌入式硬件平台 (3) 石英振荡器:与石英晶体不同,石英振荡器把石英晶体和振荡电

63、路集成一体,形成石英振荡器电路,直接输出时钟信号给处理器。石英振荡器输出的时钟信号接在处理器的输入引脚上,如图3-27所示。 第3章嵌入式硬件平台 图3-26 由石英晶体构成的振荡器电路结构 第3章嵌入式硬件平台 图3-27 石英振荡器的振荡器电路 第3章嵌入式硬件平台 (4) 锁相倍频时钟:通常在高性能的嵌入式处理器上采用锁相倍频电路。该时钟电路的锁相环是一个倍频锁相环,时钟电路外接的石英晶体通常采用32 768 Hz,锁相环的倍频系数可以通过编程设置,倍频得到的高频时钟经过分频器进行分频,分别送给处理器的CPU内核和各个I/O接口电路。高性能的嵌入式处理器如32位的处理器,功能强大,芯片上

64、集成了众多的智能电路,很多的智能电路都需要不同频率的时钟源。此外,出于节电设计的考虑,不同I/O电路的工作状态可以由处理器的编程控制。为此,这样的处理器设计了许多时钟源,分别为CPU内核、实时时钟电路、不同的I/O电路提供时钟信号。 第3章嵌入式硬件平台 3.7.3 复位复位1复位电路概述复位电路概述嵌入式处理器的复位电路就是使处理器从起始地址开始执行指令。这个起始地址是处理器程序计数器(x86系列处理器中是指令指针和代码段寄存器)加电时的默认设置。处理器复位之后,从存储器的这个地址开始取程序指令。在一些存储器(如6HC11和HC12)中有两个起始地址,一个用来作为加电复位向量,另一个作为执行

65、Reset指令后或者发生超时(如来自看门狗定时器的超时)之后的复位向量。 第3章嵌入式硬件平台 复位电路激活固定的周期数后处于无效状态。处理器电路保持复位管脚处于有效状态,然后使之处于无效状态,使程序从默认的起始地址开始执行。如果复位管脚或内部复位信号与系统中其他的单元(例如I/O接口、串行接口)相连接,那么它会被处理器再一次激活,成为一个输出管脚,用于驱动系统中其他单元处于复位状态。在处理器动作之后使复位信号无效,程序会从起始地址开始执行。通常使用的复位电路有以下几种形式:阻容复位电路、专用复位电路、手动复位电路、看门狗定时器的时钟输出复位以及软件复位。 第3章嵌入式硬件平台 2阻容复位电路

66、阻容复位电路阻容复位电路是最简单的复位电路,电路原理如图3-28所示。上电瞬间RST/VPD端的电位与VCC相同,随着充电电流的减少,RST/VPD电位逐渐下降,时间常数为82 ms。只要VCC的上升时间不超过1 ms,振荡器建立时间不超过10 ms,这个时间常数足以保证完成复位操作。 第3章嵌入式硬件平台 图3-28 阻容复位电路 第3章嵌入式硬件平台 3手动复位电路手动复位电路手动复位电路一般配合自动复位电路工作。通常的处理器复位比较方便的设计是阻容复位,有时配合设计增加手动复位的功能。通常的设计是手动复位开关产生的复位信号接在复位电路上,而不是直接接在处理器的复位信号输入端上。复位开关通

67、过复位电路产生信号的优点是信号的波形比较好,并且复位电路可以去掉开关的抖动。 第3章嵌入式硬件平台 4专用复位电路专用复位电路阻容复位电路的优点是成本低、电路简单,但是功能比较差,而专用复位电路是一种专用的集成电路。由于嵌入式处理器和智能芯片有的是高电平复位,有的是低电平复位,因此有的专用复位电路设计了两种复位信号的输出端。专用复位电路(如maxim公司的产品)把诸如电压监视、电池监视等电路功能集成在一起,成为处理器监视电路。图3-29所示为专用复位电路的功能图。图中输出复位脉冲信号Reset和Reset*,分别支持高电平复位和低电平复位,输入可外接复位开关。 第3章嵌入式硬件平台 图3-29

68、 专用复位电路 第3章嵌入式硬件平台 5看门狗复位看门狗复位如果嵌入式系统的工作环境比较恶劣,则处理器运行过程中可能出现死机和跑飞的情况,这时需要使处理器强制复位。强制复位可以使用看门狗复位电路。看门狗复位电路是一个定时设备,会在事先定义超时之后将系统复位。这个时间通常是配置好的,看门狗定时器在加电后的前几个时钟周期内被激活。在许多嵌入式系统中,通过看门狗定时器进行复位是最基本的。当系统产生错误或者程序中断之后,它会帮助恢复系统。重新启动后,系统可以正常运行。大多数的微控制器都有片上看门狗定时器。 第3章嵌入式硬件平台 6软件复位软件复位软件复位的方法是通过软件设置一个特殊功能寄存器的相应位完

69、成控制器的复位,复位结构和硬件复位一样。软件复位后,程序从复位向量处开始运行。例如,L87LPC76X系列在软件复位后,程序从0000H处开始运行。需要指出的是,嵌入式微控制器在软件复位后转入0000H处的指令与程序直接跳转到0000H处执行指令的结果是不同的。软件复位后,控制器的其他寄存器也被初始化成复位状态;而直接跳转到0000H处执行指令不会初始化微控制器的硬件寄存器。 第3章嵌入式硬件平台 3.7.4 中断中断1中断机制概述中断机制概述在计算机设备中,当处理器与外设交换信息时,若用查询的方式,则处理器就要浪费很多时间去等待外设。这样就存在一个高速的CPU与低速的外设之间的矛盾。为了解决

70、这个问题,一方面要提高外设的工作速度,另一方面发展了中断机制。实现了中断,能够为计算机系统带来以下好处: 第3章嵌入式硬件平台 (1) 同步操作。有了中断功能,可以使CPU和外设同时工作。CPU在启动外设工作后,继续执行主程序,同时外设也在工作。当外设把数据准备好后,发出中断请求,请求CPU中断正在运行的主程序,执行输入或输出(中断处理),处理完后,CPU恢复执行主程序。而且有了中断机制,CPU可以命令多个外设同时工作,这样大大提高了CPU的利用率,也提高了输入/输出的速度。 第3章嵌入式硬件平台 (2) 实现实时处理。当计算机用于实时控制时,中断是一个非常重要的功能。现场的参数、信息,在需要

71、的情况下可以在任何时候发出中断请求,要求CPU进行处理;如果中断开放,那么CPU可以立刻响应并加以处理。(3) 故障处理。计算机在运行过程中,往往会出现事先无法预料的情况,或出现一些故障。例如,电源突跳、存储出错、运算溢出,等等。在这些情况下,计算机可以利用中断系统自行处理,而不必停机或报告工作人员。 第3章嵌入式硬件平台 2中断源中断源引起中断的原因,或者能够发出中断申请的来源,称为中断源。通常中断源有以下几种:(1) 硬件和软件相关的中断源。硬件中断是与特定处理器相关的,不仅设备中断需要中断服务子程序,软件相关的中断也需要。硬件中断源可以是内部的,也可以来自外部。每一个中断源(如果没有被屏

72、蔽)都能够使CPU暂时从当前执行程序跳转到相应的中断服务子程序。(2) 软件错误相关的硬件中断。软件错误可能是由非法的或者没有实现的操作码造成的。发生这种错误后,处理器会产生指向一个向量地址的中断。与软件错误相关的中断也称为软件陷阱。 第3章嵌入式硬件平台 (3) 实时时钟。在控制应用中,常常要用到时间控制。为了提高CPU的利用率,通常用外部时钟电路产生中断的方法来实现定时控制。当需要定时时,CPU发出命令,令时钟电路开始工作;规定的时间到了后,时钟电路发出中断请求然后由CPU进行处理。(4) 为调试程序而设置的中断源。在进行嵌入式系统开发时,为了方便程序调试,能够检查中间结果或寻找问题所在,

73、往往要求在程序中设置断点,或进行单步工作,这些都要由中断系统来实现。 第3章嵌入式硬件平台 3中断系统的功能中断系统的功能为了实现各种中断请求,中断系统应具有以下功能:(1) 实现中断及返回。当某一中断源发出中断请求时,CPU能决定是否响应这个中断请求。若允许响应这个请求,则CPU必须在运行的指令执行完后,把断点处的各个寄存器的内容推入堆栈,保留现场;然后CPU转到需要处理的中断服务程序的入口,同时清除中断请求触发器;当中断处理完后,再恢复被保留的各个寄存器的值,使CPU返回断点,继续执行主程序。 第3章嵌入式硬件平台 (2) 能够实现优先级排队。通常,系统中有多个中断源,会出现两个或更多个中

74、断源同时提出中断请求的情况,这就必须要求设计者事先根据轻重缓急,给每个中断源确定一个中断优先级。当多个中断源同时发出中断请求时,CPU能够找到优先级最高的中断源,并响应它的中断请求;在高优先级的中断源处理完后,再响应优先级较低的中断源。 第3章嵌入式硬件平台 (3) 高级中断源能够中断低级的中断处理。当CPU进行某一中断处理时,若用优先级更高的中断源发出中断申请,则CPU要能够中断正在进行的中断服务程序,保留该程序的现场,响应高级中断;在高级中断处理完后,再继续进行被中断的中断服务程序。这一过程也叫中断嵌套。 第3章嵌入式硬件平台 思考与练习题思考与练习题 1嵌入式系统的硬件有哪几个组成部分?

75、2请简单描述总线的四周期握手过程。3什么是DMA?DMA主要用来完成哪种总线操作?4请画图说明分级存储器系统的结构。5RAM存储器有哪几种?它们的特点分别是什么?分别适用于哪些场合?6ROM存储器有哪几种?它们的特点分别是什么?7设计Flash Memory驱动程序的目的是什么? 第3章嵌入式硬件平台 8标准串行通信接口有哪几类?各有什么特点?9使用USB主要有哪些优点?10USB总线的数据传输方式有哪几种?11在嵌入式系统中实现以太网接口的方法通常有哪些?每种方法具体如何实现?12嵌入式处理器的复位电路有哪几种?13嵌入式处理器的时钟电路有哪几种形式?分别有什么特点?14简述嵌入式系统中的中断子系统实现的功能。 第3章嵌入式硬件平台 第3章嵌入式硬件平台

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号