500 likes | 645 Views
嵌入式系统介绍. 报告人:谌利 2003 年 11 月. 嵌入式系统的定义. 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统的核心是嵌入式微处理器。. 嵌入式微处理器特点. 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。.
E N D
嵌入式系统介绍 报告人:谌利 2003年11月
嵌入式系统的定义 • 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 • 嵌入式系统的核心是嵌入式微处理器。
嵌入式微处理器特点 • 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 • 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
嵌入式系统特点(续) • 可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。 • 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
它包括硬件和软件两部分 • 硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。 • 软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
几种常见的微处理器内核 • X86 就是Intel的8088/8086开始发起的处理器。 • ARM(Advanced RISC Machine),英国的ARM公司推出的一种处理器结构。很多公司都有基于ARM的处理器产品。主要是用在嵌入式处理器的中,现在ARM在嵌入式处理器的使用中,市场份额已经占到了80%以上。
PowerPC,一般用在高端的应用。比如,交换机,路由器等网络设备,它的特点是速度快,但较贵。PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片,商标权同时属于IBM和Motorola,并成为他们的主导成品。IBM主要的PowerPC产品有PowerPC604s ( 深蓝内部的 CPU)PowerPC750,PowerPCG3(1.1GHz)。 • 68K motorola开发的处理器内核
MIPS 速度快,但是,功耗有点大,曾经在国外不怎么受欢迎,但是在国内比较热,主要是龙芯是采用MIPS结构的CPU。美国MIPS公司推出的结构。 • MCU 各种内核的单片机,属于简单的嵌入式处理器。 • DSP 相对于其他的处理器,更加针对数据处理和运算,集成了专用运算单元。
几种常见的嵌入式操作系统 • VxWorks WindRiver公司开发的操作系统。 • Palm OS 美国Palm公司推出的一种操作系统,一般主要应用于mot龙珠68k芯片 • uC/OS 开放源码,简单易学 • Linux 开放源码,uCLinux,RTLinux • WinCE 微软针对嵌入式系统开发的windows操作系统,实时性较差
操作系统内核的任务 • 任务切换、调度(时间片轮番调度法) • 优先级管理 • 内存管理 • 任务间通信、同步 • 中断响应
嵌入式系统的运行过程 • 上电->bootloader->copy内核->跳转->运行内核->建立父任务块->后台循环->根据要求派生子任务块
ARM简介 • ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商 • ARM架构是面向低预算市场设计的第一款RISC微处理器。 • ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。
--ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信--ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信 • -- ARM7TDMI:将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,利用嵌入式ICE调试技术来简化系统设计 T:Thumb&trade标准D:成品可调试性M:复路功能(DSP)I:内嵌ICE断路单元
--ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。--ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。
Thumb • ARM为32位CPU,指令固定为32位,会降低代码密度,增加系统总线负载 • Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小,增加代码密度,降低成本
Motorola ARM芯片 • Motorola 的32位处理器有68k系列、DragonBall、PowerPC等系列 • 其中DragonBall系列有继承68k系列的MC68XX328 CPU,还包括集成ARM内核的MC9328系列,包括MC9328MX1,MC9328MXL等系列产品
MC9328MX1 • DrangonBall 家族中的第五代工业标准的产品 • 低功耗、高集成度,用于个人手持产品等 • 拥有蓝牙无线接口 • 采用ARM9微处理核
提供智能外围组合接口,高档处理核,电源管理系统,主频可达200MHZ提供智能外围组合接口,高档处理核,电源管理系统,主频可达200MHZ • 组合模块包含:LCD控制器、静态RAM,USB接口支持,AD转换(包括触摸屏),以及一个MMC/SD主控器,提供蓝牙技术应用,SIM卡接口,MemoryStick接口,I2C和SSI总线等
MX1的资料 • Double Map Image 系统头1M字节地址空间定义为double map image 空间。这个地址空间在启动时映射为1M字节的boot ROM。在MC9328MX1的BOOT ROM可以是同步FLASH,CS0,BOOTSTRAP ROM。在系统启动后,读写这个空间将与读写所选的BOOT ROM的头1M字节相同(通过BOOT[3:0]选择)
MX1的模块 • ETM(ARM Embedded Trace Macrocell)模块用来实时debug • 复位电路包括异步复位、看门狗复位、上电复位、TRST-JTAG复位
系统控制模块 这个模块允许系统软件控制下列功能: 1、复用SSI和SIM信号 2、复用SDRAM/syncFLASH的片选信号 3、芯片ID 4、系统BOOT模式选择:系统启动后的系统boot模式由boot[3:0]的四个引脚决定。MC9328MX1总是从地址0取指令。
Bootstrap 工作模式 Bootstrap模式通过UART1和UART2控制器来下载程序和数据到目标板的RAM上来初始化系统。在bootstrap模式下,MC9328MX1的UART1和UART2控制器初始化为自动探测波特率,无校验,8位,1个停止位,而且它们准备接收数据下载。第一个字符必须是"A"或"a"。这个字符决定了波特率以及哪个串口被使用。如果连接成功,系统返回一个":"。第一个字符不是程序或数据的一部分。
EIM外部存储器接口 • PLL和时间控制器 系统有2级PLL,第一个PLL预倍频,如果输入32k频率,将其倍频(512倍)到16.384MHZ,二级PLL是数字锁相环(DPLL),产生输出频率决定于系统的要求和整个系统的使用。两个PLL(MCU PLL 和 系统PLL)使用数字和数模混合芯片来为无线通信和其他应用提供时钟。
看门狗模块 看门狗提供0.5s~64s的超时配置(配置WCR寄存器的WT)。可选择产生复位信号或中断信号。复位事件的产生源可以通过看门狗状态寄存器(WSTR)获得。 • 模拟信号处理器(ASP) 模块包含用于触摸屏的ADC(pen ADC)和一个CODEC用于语音输入输出。 • 蓝牙加速器(BTA) 1Mbps 调频 频率2.4GHZ,采用时分复用模式,每个频道占用625us。
媒体加速器(MMA) MMA提供了MPEG和MP3编解码,语音压缩解压缩。MMA模块包括两个主要模块:一个乘加模块(MAC)和离散余弦变换(DCT)模块 • 串行外设接口模块SPI 包含两个独立的SPI,其中SPI2只能工作在Master模式下,不支持SPI_RDY信号功能。
LCD控制器 支持一个单色/彩色LCD,自刷新模式LCD。 支持8bpp时的256色和12bpp时的4096色。16bpp真彩64k色 • MMC/SD 20Mbps存储速度,SD卡是MMC的新版,增加了两个信号用来达到更高的安全、容量、性能和环境要求。在物理外形、管脚分配核数据通信协议方面与MMC兼容。 • MemroyStick记忆棒接口模块 8字节fifo缓冲区 • 实时时钟 • SDRAM控制器 4bank*256Mbit=128MByte 2个cs。
Sim卡接口模块 • General Purpose Timers 2个独立timer ,计数器的时钟源可以是系统时钟,系统时钟16分频,32khz(clk32),从TIN输入的时钟。 • UART 2个独立的UART,与RS232、红外接口兼容, 7,8位选择。包括波特率自动检测电路。UART2为全8线制DCE接口。 自动监测电路可检测"a"或"A" • USB接口 符合USB1.1规范。全速12M
I2C模块 -- 2线制双向串行总线,多master总线。 兼容I2C总线标准,支持3.3v器件,软件控制时钟(64个不同的频率)。一个SDA数据链和一个SCL时钟链。缺省的设备状态是slave。 • SSI 同步串口 2个port,对于输出信号,在两个port上都会有数据,但是对于输入和双向信号,用户必须规定引脚 • CSI (cmose sensor interface)可配置接口逻辑,支持motorola和其他通用cmose sensor • GPIO 所有的io信号都与其他信号复用。
DSP系统 典型的DSP系统:输入信号首先进行带限滤波和抽样,然后进行A/D。DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。数字处理是DSP的关键。最后,经过处理后的数字样值再经D/A(Digital to Analog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。
DSP芯片 • DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。
DSP芯片主要特点 • 一个指令周期内可完成一次乘法和一次加法; • 哈佛结构:程序和数据空间分开,可以同时访问指令和数据 • 片内具有快速 RAM,通常可通过独立的数据总线在两块中同时访问; • 具有低开销或无开销循环及跳转的硬件支持; • 快速的中断处理和硬件I/O支持; • 具有在单周期内操作的多个硬件地址产生器; • 可以并行执行多个操作; • 支持流水线操作,使取指、译码和执行等操作可以重叠执行。
分类 • 按数据格式分 :浮点、定点 • 按用途分 :通用、专用。专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。
在每个指令周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。例如,在第N个指令取指时,前一个指令即第N-1个指令正在译码,而第N-2个指令则正在执行。一般来说,流水线对用户是透明的。在每个指令周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。例如,在第N个指令取指时,前一个指令即第N-1个指令正在译码,而第N-2个指令则正在执行。一般来说,流水线对用户是透明的。
专用硬件乘法器 在一般形式的FIR滤波器中,乘法是DSP的重要组成部分。对每个滤波器抽头,必须做一次乘法和一次加法。乘法速度越快,DSP处理器的性能就越高。在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多个指令周期来完成。相比而言,DSP芯片的特征就是有一个专用的硬件乘法器。在TMS320系列中,由于具有专用的硬件乘法器,乘法可在一个指令周期内完成。
DSP芯片的运算速度性能指标 • 指令周期 • MAC时间 • MIPS • MOPS
DSP芯片的功耗 DSP应用场合,功耗也是设计者一个重要的考虑指标。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用 ,核心电压1.8V
TI公司的DSP • 目前国内通用DSP领域应用最为广泛 • 自1982年TI推出第一个定点DSP芯片TMS32010以来,TI的定点DSP芯片已经经历了TMS320C1X、TMS320C2X / C2XX、TMS320C4X、TMS320C5X 、TMS320C54X、TMS320C6X等几代产品
TI DSP系统的调试 • CCS集成开发环境 集成编译器,链接器,调试器、工程管理器、性能评估等模块 • 开发系统的功能是将用C或汇编语言编写的DSP源程序进行编译、链接成可执行DSP程序,并对程序跟踪和调试,使程序能够达到设计目标
仿真器 • 仿真器,即扩展开发系统(XDS),是功能强大的全速仿真器,用以系统级的集成与调试.主要包括以下两种类型的仿真器: • 电路仿真器对用户板进行硬件仿真时,仿真器电缆插头必须插入到用户硬件电路中DSP芯片的相应位置上. • 扫描仿真器是一种非插入式的系统仿真、集成调试方法。程序可以从片外或片内的目标存储器实时执行,在任何时钟速度下都不会引入额外的等待状态.
DSP系统开发过程 • 了解任务要求,选择DSP型号、速度以及系统的外围设备,估计系统性能 • 硬件设计(原理与板级设计)与实现 • 调试硬件,实现所需要的各部分的功能 • 软件算法的编写,在线调试 • 对算法进行优化,排流水 • 评估系统性能,是否达到预期目标