电子科技大学通信与信息工程学院微型计算系统原理及接口技术1第八章嵌入式系统设计微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200928.1嵌入式系统简介嵌入式系统:嵌入到各种控制应用系统、各类电子系统和电子产品中,实现嵌入式应用的计算机系统嵌入式系统是以应用为核心,以计算机技术为基础,软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统Embeddedsystemisdevicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants----IEEE嵌入式系统的主要特征面向控制对象,对多种不同的控制对象能灵活地进行实时控制嵌入到应用系统中在工业现场环境中可靠地运行微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20093嵌入式系统的主要特点软件硬件协同并行开发多种多样的微处理器实时操作系统的多样性(RTOS)与台式机相比,可利用系统资源有限应用支持很少要求特殊的开发工具代码固化运行调试手段有限软件硬件的鲁棒性(健壮性,Robust)嵌入式系统的体积和功耗微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200948.2设计方法及设计流程嵌入式系统要解决的主要问题需要用什么样的系统结构来实现?如何满足时限要求,如何处理多项功能在时间上的协调一致关系?如何保证系统可靠地工作?如何满足系统接口要求,嵌入式应用直接和系统接口输入输出信息?如何降低系统的功耗?如何使系统可升级?微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20095设计流程—自顶向下或自底向上设计需求设计说明体系结构构件设计系统集成自顶向下设计自底向上设计微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20096单片机系统的开发流程用户需求开发结束整个系统测试按照设计的硬件平台编写软件软件测试通过选择处理器设计硬件平台否是遇到硬件问题修改硬件平台否是微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20097嵌入式系统开发流程用户需求开发结束整个系统测试选择合适的嵌入式操作系统在操作系统上开发应用程序应用程序测试通过选择嵌入式处理器及硬件平台否是微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20098需求分析作用使用户和设计者有效交流、沟通,明确设计目标设计者-设计什么?有哪些要求?用户-将得到的系统是什么样的?目标形成需求文档内容功能性需求做什么?输入,输出,功能,……非功能性需求其他属性可靠性,速度,功耗,……成本,大小,重量,设计时间,……微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生20099评价标准正确性无二义性完整性可检验性一致性可修改性可追踪性微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200910例:GPS移动地图的需求微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200911设计规格说明规格说明与需求的比较需求的提炼,需求的精确描述是可用来创建体系结构的关于系统的更详尽、更精确、更一致的描述目标形成规格说明书内容包含系统体系结构设计的足够信息统一描述系统的硬件和软件微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200912例:GPS系统的规格说明从GPS卫星接收到的数据。地图数据。用户界面。必须执行的满足客户需求的操作。保持系统运行所需的后备动作,如操纵GPS接收机。微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200913系统结构设计作用实现系统的蓝图,系统整体结构的一个计划目标形成结构设计文档内容系统分析系统软硬件整体结构的设计软硬件划分标准构件和自行设计构件的确定微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200914系统结构设计系统如何实现设计说明书描述的功能基于组件的系统结构软件/硬件划分嵌入式系统中软件和硬件协同完成系统的功能软件硬件划分通常由速度、灵活性以及开销来决策硬件单片机,X86,PowerPC,ARM,MIPS,……板级支持程序嵌入式操作系统应用软件监控程序微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200915嵌入式系统硬件组成微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200916例:GPS系统的硬件体系结构GPS接受信号数据库显示器搜索引擎转换器用户界面微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200917嵌入式系统软件的特征操作系统功能任务调度资源管理设备驱动协议栈TCP/IP应用软件框架软件要求固态化存储软件代码高质量、高可靠性系统软件(OS)的高实时性是基本要求多任务操作系统是知识集成的平台和走向工业标准化道路的基础微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200918例:GPS系统的软、硬件数据库搜索转换器位置用户界面时钟像素软件显示器帧缓冲器CPUGPS信号接收器I/O面板存储器硬件微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200919标准构件和自行设计构件构件的实现选择标准自行设计标准构件=?现成构件已经产品化形成规模生产标准构件+自行设计构件=用户系统构件包括了硬件构件和软件构件构件本身可以是层次性的,可以由子构件组成微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200920构件标准硬构件标准ICCPU,DSP,……RAM,ROM,接口控制器,……ASIC,……标准IPCPU核,……标准模块GPRS模块,GSM模块,蓝牙模块,……显示模块,……标准计算平台基于PC104的嵌入式计算机基于CompactPCI的嵌入式计算机SOC,……微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200921构件标准软构件OS/RTOS协议栈TCP/IP路由协议H.323……图形开发包VxWorks的ZINK……驱动程序微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200922构件自研硬构件内容逻辑电路,专用加速器,……实现方式PCB:IC:PLDFPGAASIC,……EDA设计工具板级:原理图设计工具PCB设计工具IC硬件描述语言:VHDL,Verilog原理图描述工具综合仿真工具布线器,…………自研软构件BSP驱动程序应用程序……微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009238.3嵌入式处理器嵌入式处理器种类嵌入式微处理器(MPU):由通用计算机中的CPU演变而来intelx86、IBMPowerPC、motorola68K/coldfire、MIPS、ARM、HitachiSuperH等系列嵌入式微控制器(MCU):即单片机,芯片内部集成ROM/EPROM,总线,总线逻辑,定时器,I/O单元,串口,A/D,D/A,flash等intel8051,P51XA,MCS系列,motorola68300等嵌入式DSP处理器TexasInstruments公司的TMS320系列和Motorola的DSP56000系列嵌入式片上系统(SoC)微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200924典型的嵌入式系统组成处理器MMUGPIOUSBLCDCANDMA以太网LCD/触摸屏/鼠标FlashSDRAMSRAM看门狗复位电路电源管理驱动层OS应用BSP/driver/HALLinux、u/COS、Wince…文件系统/GUI/API软件硬件输入输出微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200925嵌入式系统--手机的一般组成微处理器BusROMorFlash键盘无线电信号发射与接收LCD部件声音设备DSP其他外设RAM微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009268.4嵌入式软件简单的嵌入式应用若嵌入式系统的功能需求比较简单,如电动玩具、空调、冰箱等,则嵌入式系统软件只需完成较简单的功能,就不需要嵌入式操作系统的支持。如:基于8051的应用儿童玩具、汽车系统等等复杂的嵌入式应用若功能比较复杂,需要网络功能、存储器管理、进程/线程管理等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠性微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生200927简单的嵌入式系统软件开发简单的嵌入式应用不需要使用操作系统当系统上电后,main函数将被调用,首先初始化,然后进入循环直到系统停电或者出现重大错误。超级循环voidmain(void){//prepareforfunctionXX_init();While(1)X();}简单的嵌入式应用的开发过程在个人电脑上配置交叉开发环境、安装仿真器,编写程序,交叉编译,在仿真器上运行测试并修改直到软件满足需求;利用面包板开发和调试软、硬件利用编程器将软件烧到开发好的系统中进行现场运行测试微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009288.4.1嵌入式软件系统的一般结构微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009298.4.2嵌入式软件工作流程上电复位、板级初始化阶段系统引导,软件加载系统初始化应用初始化多任务应用微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009308.4.3嵌入式操作系统微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009318.4.3嵌入式操作系统嵌入式实时操作系统RTlinux及其他嵌入式实时LinuxuC/OSIIwindriversystems公司的VxworksQNXsoftwaresystems公司的QNX。pSOSOS/9VRTXeCOSThreadX嵌入式非实时操作系统Microsoft公司的windowsCE、EmbeddedwindowsxpPalm公司的PalmOSsymbian公司的EPOC一些嵌入式linux系统微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009328.4.6常用的嵌入式实时操作系统1.VxWorks嵌入式实时操作系统风河(WindRiver)公司开发的一款商用硬实时操作系统,不公开源码支持主流的32位CPU,包括x86、68K、PowerPC、MIPS、ARM等基于微内核结构,由400多个相对独立的,短小精悍的目标模块组成,可裁剪性和可配置性相当出色为追求系统的实时性而设计的,并不是以通用OS为设计目标任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255)Vxworks的基本构成模块包括以下部分:高效实时微内核wind:Vxworks实时微内核wind以灵活性和可配置性为设计目标,它主要包括基于优先级的任务调度任务同步和通信中断处理定时器内存管理兼容POSIX(PortableOperatingSystemInterfaceStandard)实时系统标准微型计算系统原理及接口技术电子科技大学通信与信息工程学院林水生2009331.VxWorks嵌入式实时操作系统Vxworks的基本构成模块:I/O处理系统:Vxworks提供与ANSIC兼容的I/O处理系统,主要包括UNIX缓冲I/O处理系统面向实时的异步I/O处理系统本机文件系统网络处理模块:Vxworks网络处理模块能与许多运行其他协议的网络进行通信,如TCP/IP、NF