嵌入式系统组成结构简介ppt课件.ppt_第1页
嵌入式系统组成结构简介ppt课件.ppt_第2页
嵌入式系统组成结构简介ppt课件.ppt_第3页
嵌入式系统组成结构简介ppt课件.ppt_第4页
嵌入式系统组成结构简介ppt课件.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

第二讲嵌入式系统的组成结构本讲提要 1 3 2 5 4 嵌入式系统的组成结构 嵌入式系统的硬件组成 嵌入式操作系统涉及的几个关键概念 嵌入式系统硬件涉及的几个关键概念 嵌入式操作系统 一般由嵌入式微处理器 外围硬件设备 嵌入式操作系统 可选 以及应用软件系统等四个部分组成 嵌入式系统的组成结构 嵌入式系统的组成结构 处理器 存储器 输入接口 操作系统 驱动程序 应用程序 软件子系统 硬件子系统 嵌入式系统组成 输出接口 外围设备 嵌入式系统的组成结构 硬件是嵌入式系统软件环境运行的基础 它提供了嵌入式系统软件运行的物理平台和通信接口 嵌入式操作系统和嵌入式应用软件是整个系统的控制核心 控制整个系统的运行 提供人机交互的信息等 嵌入式系统和实际应用对象密切相关 而实际应用非常繁杂 应用也日新月异 很难用一种构架或模型加以描述 我们将主要围绕典型嵌入式系统的硬件组成和软件组成部分加以详细讲述 应用程序 实时操作系统 RTOS 输入输出接口 处理器 ARM核MMU Cache SOC SOPC USB GPIO IIS LCD UART和IrDA ADC DAC FPGA CPLD DSP 浮点运算协处理器 DMA 图2 1典型的嵌入式系统组成 人机交互接口LCD 触摸屏 键盘 鼠标 设备驱动程序 HAL BSP 文件系统 图形用户应用程序接口 驱动层 OS层 应用层 软件 硬件 以太网 看门狗及复位电路 Timer RTC CAN Flash EEPROM SDRAM SRAM 内存 电源管理 嵌入式系统的组成结构图 作用 防止程序发生死循环 程序跑飞 工作原理 系统运行后即启动看门狗 开始自动计数 如果到一定时间未清看门狗 看门狗就会溢出从而引起看门狗中断 造成系统复位 软件系统 软件 software 是计算机系统中与硬件 hardware 相互依存的另一部分 它包括程序 program 相关数据 data 及其说明文档 document 其中 程序是按照事先设计的功能和性能要求执行的指令序列 数据是程序能正常操纵信息的数据结构 文档是与程序开发维护和使用有关的各种图文资料 嵌入式软件系统的分类 嵌入式软件 系统软件 支撑软件 应用软件 控制 管理计算机系统的资源 嵌入式操作系统嵌入式中间件 CORBA Java 等等 辅助软件开发的工具 系统分析设计工具仿真开发工具交叉开发工具测试工具配置管理工具维护工具等 面向应用领域 手机软件路由器软件交换机软件飞控软件等 嵌入式软件系统的分类 从运行平台来分 嵌入式软件可以分为运行在开发平台上的软件 设计 开发 测试工具等 运行在嵌入式系统上的软件 嵌入式操作系统 应用程序 驱动程序及部分开发工具 宿主机 目标机 嵌入式软件系统的体系结构 硬件 应用层 驱动层 操作系统层 中间件层 嵌入式软件运行流程 系统升级 引导 升级系统 系统初始化 应用初始化 多任务应用 上电复位 板级初始化 远程升级 本地升级 基于多任务操作系统的嵌入式软件的主要运行流程该运行流程主要分为5个阶段 BSP的概念和特点 BSP 板级支持包 是介于底层硬件和操作系统之间的软件层 它完成系统上电后最初的硬件和软件初始化 并对底层硬件进行封装 使得操作系统不再面对具体的操作 BSP的特点 硬件相关性 因为硬件具有应用相关性 所以 作为高层软件与硬件之间的接口 BSP必须为操作系统提供操作和控制具体硬件的方法 操作系统相关性 不同的操作系统具有各自的软件层次结构 因此 针对不同的操作系统具有特定的接口形式 BoardSupportPackage BSP的功能 完成嵌入式系统部分初始化A 片级初始化B 板级初始化C 系统级初始化完成硬件相关的设备驱动 设计BSP的方法 一 以典型的BSP做为参考二 参照操作系统或芯片厂商提供的BSP模板 第二讲嵌入式系统的组成结构 1 3 2 5 4 嵌入式系统的组成结构 嵌入式系统的硬件组成 嵌入式操作系统涉及的几个关键概念 嵌入式系统硬件涉及的几个关键概念 嵌入式操作系统 06 01 2020 嵌入式处理器 存储器 输入设备 输出设备 外围接口 软件 硬件单元 中央处理器是嵌入式系统的核心 负责控制整个系统的执行 包括微处理器 微控制器 DSP处理器 专用处理器 SOC SystemonChip 存储器按存储信息的功能可分为只读存储器ROM ReadOnlyMemory 和随机存储器RAM RandomAccessMemory 嵌入式系统中的输入形式一般包括触摸屏 语音输入 按键和虚拟键盘等 输出设备则主要有LCD显示和语音输出 外围接口主要有GPIO 串口 I2C总线 USB总线和IEEE1394总线等等 典型嵌入式系统基本组成 硬件 最小硬件系统 用最少的元件组成的可以工作的系统 嵌入式微处理器的发展 嵌入式微处理器的特点 基础是通用微处理器与通用微处理器相比的区别 体积小 重量轻 成本低 可靠性高功耗低工作温度 抗电磁干扰 可靠性等方面增强 体系结构 指令集 性能 功耗和管理 成本 集成度 嵌入式微处理器的集成度 用于桌面和服务器的微处理器的芯片内部通常只包括CPU核心 Cache MMU 总线接口等部分 其他附加的功能如外部接口 系统总线 外部总线和外部设备独立在其他芯片和电路内 嵌入式微处理器除了集成CPU核心 Cache MMU 总线等部分外 还集成了各种外部接口和设备 如中断控制器 DMA 定时器 UART等 符合嵌入式系统的低成本和低功耗需求 一块单一的集成了大多数需要的功能块的芯片价格更低 功耗更少 单芯片方式 SingleChip 芯片组方式 ChipSet 由微处理器主芯片和一些从芯片组成 嵌入式微处理器的集成度 嵌入式微处理器是面向应用的 其片内所包含的组件的数目和种类是由它的市场定位决定的 在最普通的情况下 嵌入式微处理器包括 片内存储器 部分嵌入式微处理器外部存储器的控制器 外设接口 串口 并口 LCD控制器 面向终端类应用的嵌入式微处理器中断控制器 DMA控制器 协处理器定时器 A D D A转换器多媒体加速器 当高级图形功能需要时总线其他标准接口或外设 嵌入式微处理器的种类 1000多种硬件处理器 分为MCU DSP MPU SOCARMRISC ARM TMS320DSP TI Trimedia Philips StrongARM Intel Xscale Intel MIPSRISC MIPS DragonBall Motorola 对比 从计算机角度看单片机功能太简单 性能太差DSP太专用 可以看成一个外设通用处理器与SOC是主要发展方向 主流的嵌入式微处理器 目前主流的嵌入式微处理器系列主要有ARM系列 MIPS系列 PowerPC系列 SuperH系列和X86系列等 属于这些系列的嵌入式微处理器产品很多 有上千种以上 Units millions Source AndrewAllison InsideTheNewComputerIndustry January2001 ARM处理器的分类 结构体系版本 Architecture ARMv4TARMv5TEARMv6ARMCortex v7 ProcessorFamilyARM7ARM9ARM10ARM11ARMCortex 按应用特征分类应用处理器ApplicationProcessor实时控制处理器Real timeController微控制器Micro controller 特征 MMU Cache最快频率 最高性能 合理功耗 特征 MPU Cache实时响应 合理性能 较低功耗 特征 nosub memorysystem一般性能 最低成本 极低功耗 嵌入式外围接口电路和设备接口 嵌入式外围设备 在嵌入式系统硬件构成中 除核心控制部件 嵌入式微处理器 DSP为核心的微控制器 SoC 以外的各种存储器 输入 输出接口 作为人机接口的显示器 键盘 串行通信接口等 根据外围设备的功能可分为以下5类 存储器通信接口输入输出设备设备扩展接口电源及辅助设备 第二讲嵌入式系统的组成结构 1 3 2 5 4 嵌入式系统的组成结构 嵌入式系统的硬件组成 嵌入式操作系统涉及的几个关键概念 嵌入式系统硬件涉及的几个关键概念 嵌入式操作系统 冯 诺依曼体系结构 哈佛体系结构CISC RISC影响CPU性能的因素存储器系统I O接口 嵌入式系统硬件涉及的几个关键概念 冯 诺依曼体系结构模型 冯 诺依曼体系的特点 数据与指令都存储在同一存储空间中统一编址 指令和数据通过同一总线访问被大多数计算机所采用ARM7 冯诺依曼体系 缺点 取指令和存取数据要从同一个存储空间存取 经由同一总线传输 因而它们无法重叠执行 哈佛体系结构 指令寄存器 控制器 数据通道 输入 输出 中央处理器 程序存储器空间 指令0 指令1 指令2 数据存储器空间 数据0 数据1 数据2 地址 指令 地址 数据 哈佛体系结构的特点 程序与数据在不同存储空间 每个存储器独立编址 独立访问使用程序和数据总线 使数据吞吐率提高一倍适合于数字信号处理大多数DSP都是哈佛结构ARM9是哈佛结构 1944年 哈佛大学的HowardAiken发明了HarvardMark系列计算机 并且在其中采用了分开的指令存储器和数据存储器 这就是后来著名的 哈佛结构 由于取指令和存取数据分别经由不同的存储空间和不同的总线 使得各条指令可以重叠执行 这样 也就克服了数据流传输的瓶颈 提高了运算速度 CISC和RISC CISC 复杂指令集 ComplexInstructionSetComputer 具有大量的指令和寻址方式8 2原则 80 的程序只使用20 的指令大多数程序只使用少量的指令就能够运行 RISC 精简指令集 ReducedInstructionSetComputer 在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单 传统的CISC指令集随着计算机的发展引入了各种各样的复杂指令 使得指令集和为此要实现这些指令的计算机体系结构越来越复杂 已经不堪重负 指令规整 对称 简单 指令小于100条 基本寻址方式只有2 3种单周期指令 便于流水操作大量的寄存器 不少于32个 CISC与RISC的数据通道 CISC的数据通道 RISC的数据通道 CISC与RISC的对比 影响CPU性能的因素 流水线 超标量和缓存 流水线技术 几个指令可以并行执行 使指令的执行速度或数据的处理速度更快 克服早期计算机指令执行和数据处理串行进行产生的处理器闲置时间的弊端 提高了CPU的运行效率内部信息流要求通畅流动 取指 分析 执行 流水线 在CPU中把一条指令分解成多个可单独处理的操作 使每个操作在一个专门的硬件站 stage 上执行 这样一条指令需要顺序地经过流水线中多个站的处理才能完成 但是前后相连的几条指令可以依次流入流水线中 在多个站间重叠执行 因此可以实现指令的并行处理 指令流水线 以ARM为例 为增加处理器指令流的速度 ARM7系列使用3级流水线 允许多个操作同时处理 比逐条指令执行要快 PC指向正被取指的指令 而非正在执行的指令 从存储器中读取指令 解码指令中用到的寄存器 寄存器读 从寄存器Bank 移位及ALU操作寄存器写 到寄存器Bank PCPC PC 4PC 2 PC 8PC 4 ARMThumb 最佳流水线 该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中 单周期执行 指令周期数 CPI 1 操作 周期 123456 Fetch 流水线能够正常工作的条件 任意时刻 每一级所使用的硬件必须能独立操作 不能多级同时占用同一硬件资源 在正常情况下 每条指令都被划分成这样3个时钟周期来完成 即指令执行时间 Latency 是3周期 流水线的执行使得程序计数器PC必须在当前指令取指前计数 对于ARM处理器的3级流水线 以当前PC取指后 PC值会增加为PC 4 超标量执行 超标量 配置多个执行部件和指令译码电路 能同时执行多条指令 超标量执行 超标量CPU采用多条流水线结构 执行1 预取 指令CACHE 译码2 译码1 执行2 执行1 预取 译码2 译码1 执行2 流水线1 流水线2 数据 借助硬件资源重复 例如有两套译码器和ALU等 来实现空间的并行操作 高速缓存 CACHE 1 为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多 高速缓存可以提高内存的平均性能 2 高速缓存的工作原理依据 程序和数据访问的局部性原理 高速缓存是一种小型 快速的存储器 它保存部分主存内容的拷贝 CPU 高速缓存控制器 CACHE 主存 数据 数据 地址 Cache的设计思想 把在一段时间内 一定地址范围中被频繁访问的信息集合 成批地从主存中读到一个能高速存取的小容量存储器中存放起来 供程序在这段时间内随时使用 从而减少或不再去访问速度较慢的主存 以加快程序的运行速度 以CPU为核心看 将CPU直接参与的事件称为同步事件 CPU未直接参与的称为异步事件 cache的操作都是同步的 但是如果在写一个外部设备的驱动时为了减少CPU的参与 用DMA来搬移数据 那么DMA搬移数据这个事件便是异步事件 图1中 RAM内存从地址0 x00000000到0 x000ffffff1M范围内的内容全部被调入cache中 现假定外部设备有新的数据到来并发生了中断 CPU在设定完DMA控制器后继续其工作 DMA根据设定将1M的新数据装入RAM中并通知CPU新的数据到了 此时 出现数据不一致 当CPU要对新的数据操作时 因为此外部设备的数据被存放在从0 x00000000开始的RAM中 而此段数据又恰好被cache命中 那么CPU将直接访问cache中的数据 可是cache中的数据并非刚刚得到的新数据 CPU并不知道此时cache中的数据已经过时 解决的办法 在CPU访问异步事件控制的数据前一定要强行刷新cache中的内容 反之 从内存到外部设备搬移数据前一定要回写内存 一般CPU都提供了cache的刷新和回写机制 甚至有的CPU还有cache保护 即强制其不要对某一范围内的内存使用cache机制 CACHE刷新与回写 DMA参与操作情况下的cache操作 总线是计算机中各模块传输信息的公共信号线集合 为各模块间 甚至模块各部件之间提供公共的 标准化的信息通路 总线的特点在于其公用性 即它可以同时挂接多个模块或设备 作为所有挂接模块或设备公用的信号载体 总线在同一时刻 只能允许一对模块或设备进行信息交换 当有多个模块或设备需要同时使用总线进行信息传输时 只能采用分时方式 并且要对总线使用的优先权进行仲裁管理 总线结构包括 传输信息的传输线路和总线控制逻辑 嵌入式系统采用总线结构有以下优点 总线和总线桥 简化了系统结构 优化了硬件和软件设计 便于系统的扩充和更新 存储器系统的层次结构 寄存器 高速缓存SRAM 主存储器DRAM 本地存储器Flash ROM 磁盘 网络存储器Flash ROM 磁盘 时钟周期 0 1 10 50 100 存储器系统 RAM 随机存取存储器 SRAM 静态随机存储器 DRAM 动态随机存储器1 SRAM比DRAM快2 SRAM比DRAM耗电多3 DRAM存储密度比SRAM高得多4 DRAM需要周期性刷新ROM 只读存储器FLASH 闪存 输入输出接口 I OA D D A键盘LCD存储器接口设备接口 USB UniversalSerialBus 通用串行总线大家生活中常见的与USB有关的东西有 U盘 移动硬盘 无驱型的MP3 U盘 USB接口的键盘 Mouse 打印机 数码相机 即插即用 热插拨 系统不需重启便可工作 且易于扩展 127个 USB2 0以低成本实现高达480Mb s的传输率 USB1 1的全速设备可达12Mb s USB1 0的全速设备可达1 5Mb s 接口标准统一 端口供电 例如 USB 一个典型的USB通讯系统 HOST系统 HUB DEVICE D DEVICE 应用软件 驱动程序Ms Win 接口芯片 HUB U盘 其他 数据采集器 驱动代码 嵌入式处理器 HOST芯片 HUB U盘 其他 数据采集器 通用系统模型 PC机中的情况 嵌入式系统应用 知识产权核 IP核 intellectualproperty 知识产权 IP 电路或核是设计好并经过验证的集成电路功能单元 IP复用意味着设计代价降低 时间 价格 IP核的类别 微处理器 ARM PowerPC 存储器 RAM memorycontroller 外设 PCI DMAcontroller 多媒体处理 MPEG JPEG encoder decoder 数字信号处理器 DSP 通信 Ethernetcontroller router SoftCores code 软核 HDL语言描述 灵活度高 可修改 与工艺独立 可根据具体的加工工艺重新综合 IP很难保护 Firmcores code structure 固核 逻辑综合后的描述 与工艺相关 Hardcores physical 硬核 物理综合后的描述 准备流片 包含工艺相关的布局和时序信息 IP很容易保护 但灵活性和可移植性差 多数的处理器和存储器 IP核的商业模型 三种模式1 设计者提供设计和工具的许可证DSPGroup PineandOakCores 3Soft ARM 提供包括HDL在内的模拟模型 工具或仿真器 使用者负责设计制造 2 核厂商设计并制造集成电路芯片TI Motorola Lucent VLSI SSI Cirrus Adaptec 3 核厂商卖核 负责为客户设计并制造芯片LSIlogic TI Lucent 固化宏单元 硬核 ARM920TARM7TDMIARM720TARM1022E 测试芯片ARM10200E 第二讲嵌入式系统的组成结构 1 3 2 5 4 嵌入式系统的组成结构 嵌入式系统的硬件组成 嵌入式操作系统涉及的几个关键概念 嵌入式系统硬件涉及的几个关键概念 嵌入式操作系统 06 01 2020 软件组成 有时也叫板级支持包 是一个介于硬件与软件之间的中间层次 硬件抽象层通过特定的上层接口与操作系统进行交互 向操作系统提供底层的硬件信息 并根据操作系统的要求完成对硬件的直接操作 支持嵌入式系统应用的操作系统软件 它是嵌入式系统 包括硬 软件系统 极为重要的组成部分 通常包括与硬件相关的底层驱动软件 系统内核 设备驱动接口 通信协议 图形界面 标准化浏览器Browser等 中间件位于操作系统和应用软件之间 屏蔽了各种操作系统提供不同应用程序接口的事实 向应用程序提供统一的接口 从而便于用户开发应用程序 同时也使应用程序具有跨平台的特性 嵌入式应用程序运行于操作系统之上 利用操作系统提供的机制完成特定功能的嵌入式应用 不同的系统需要设计不同的嵌入式应用程序 它是整个系统功能的体现 系统的能力总是通过应用程序表现出来 一个嵌入式系统可简单的没有支撑软件 甚至没有操作系统 但却不能没有应用软件 否则它就不能成为一个系统 概述 嵌入式操作系统可以统称为应用在嵌入式系统中的操作系统 它具有一般操作系统的功能 同时具有嵌入式软件的特点 主要有 可固化存储可配置 可剪裁独立的板级支持包 可修改不同的CPU有不同的版本应用的开发需要有集成的交叉开发工具 一般操作系统只注重平均性能 如对于整个系统来说 所有任务的平均响应时间是关键 而不关心单个任务的响应时间 嵌入式实时操作系统最主要的特征是性能上的 实时性 也就是说系统的正确性不仅依赖于计算的逻辑结果 也依赖于结果产生的时间 从这个角度上看 可以把实时系统定义为 一个能够在指定的或者确定的时间内 完成系统功能和对外部或内部 同步或异步事件做出响应的系统 概述 近十年来 嵌入式操作系统得到飞速的发展从支持8位微处理器到16位 32位甚至64位微处理器 从支持单一品种的微处理器芯片到支持多品种微处理器芯片 从只有内核到除了内核外还提供其他功能模块 如文件系统 TCP IP网络系统 窗口图形系统等 随着嵌入式系统应用领域的扩展 目前嵌入式操作系统的市场在不断细分 出现了针对不同领域的产品 这些产品按领域的要求和标准提供特定的功能 嵌入式操作系统的演变 PercentoftotalsoftwaresuppliedbyRTOSvendorinatypicalembeddeddevice Application Application Application Application 嵌入式操作系统分类 从应用领域来分面向信息家电的嵌入式操作系统面向智能手机的嵌入式操作系统 如SymbianOS MSMobileOS PalmOS EmbeddedLinux等面向汽车电子的嵌入式操作系统面向工业控制的嵌入式操作系统 从实时性的角度来分实时嵌入式操作系统 具有强实时特点 如VxWorks QNX Nuclear OSE DeltaOS 各种ITRONOS等 非实时嵌入式操作系统 一般只具有弱实时特点 如WinCE 版本众多的嵌入式Linux PalmOS等 从嵌入式系统的商业模式来分类商用型 功能稳定 可靠 有完善的技术支持和售后服务 开发费用 版税 开源型 开放源码 只收服务费 没有版税 如Embeddedlinux RTEMS eCOS 嵌入式操作系统的关键技术 体系结构系统组成 常见的嵌入式操作系统 C OS IIWinCELinuxVxWorksPalmOSQNX 第二讲嵌入式系统的组成结构 1 3 2 5 4 嵌入式系统的硬件组成 嵌入式操作系统涉及的几个关键概念 嵌入式系统硬件涉及的几个关键概念 嵌入式操作系统 嵌入式系统的组成结构 监控程序 操作系统 实时操作系统 分时操作系统 多道批处理操作系统 时间先后 实时操作系统是我们关注的重点 任务的定义及其主要特性 任务是一个具有独立功能的无限循环的程序段的一次运行活动 是实时内核调度的单位 具有以下特性 动态性 任务状态是不断变化的 一般分为就绪态 运行态和等待态 在多任务系统中 任务的状态将随着系统的需要不断进行变化 并行性 系统中同时存在多个任务 这些任务在宏观上是同时运行的 异步独立性 每个任务各自按相互独立的不可预知的速度运行 走走停停 任务的内容 任务主要包含以下内容 代码 一段可执行的程序数据 程序所需要的相关数据 变量 工作空间 缓冲区等 堆栈程序执行的上下文环境 嵌入式操作系统与多任务 多任务运行的实现 实际上是靠CPU 中央处理单元 在许多任务之间转换 调度 CPU只有一个 轮番服务于一系列任务中的某一个 多任务运行使CPU的利用率得到最大的发挥 并使应用程序模块化 在实际应用中 多任务的最大特点是 开发人员可以将很复杂的应用程序层次化 任务的状态 睡眠态相当于该任务驻留在内存中 但并不被内核所调度 就绪意味着该任务已经准备好 可以运行了 但由于该任务的优先级比正在运行的任务的优先级低 还暂时不能运行 运行态是指任务掌握了CPU的控制权 正在运行中 挂起状态也可以叫做等待事件态WAITING 指该任务在等待 等待某一事件的发生 例如等待某外设的I O操作 等待某共享资源由暂不能使用变成能使用状态 等待定时脉冲的到来或等待超时信号的到来以结束目前的等待 等等 发生中断时 CPU提供相应的中断服务

温馨提示

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

评论

0/150

提交评论