嵌入式系统开发
什么是嵌入式系统? 继桌面计算机系统之后,在IT技术应用领域中最重要的莫过于嵌入式系统
计算机的诞生——1946年 微处理器诞生——20世纪70年代 从微型计算机到自动化控制。把微型机嵌入到一个对象体系(例如汽车、火箭等)中,可以很方便地实现这个对象体系的智能化控制。
这种用途的计算机系统在一定程度上改变了通用计算机系统的形态和功能。 为了区别于原有的通用计算机系统,人们把嵌入到对象体系中,为实现对象体系智能化控制的计算机系统,称做嵌入式计算机系统,简称嵌入式系统。
嵌入式系统定义 根据IEEE(国际电气和电子工程师协会)的定义: 嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。
一般定义 国内普遍认同的嵌入式系统定义为: 以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 相比较而言国内的定义更全面一些,体现了嵌入式系统“嵌入”、“专用性”、“计算机”的基本要素和特征。
嵌入式系统定义要素 专用计算机系统 知识集成应用系统 以应用为中心 以计算机技术为基础 软件硬件可裁剪 适应应用系统对功能、可靠性、成本、体积、功耗严格要求 知识集成应用系统 技术密集资金密集 高度分散不可垄断 面向应用不断创新
嵌入式系统 宿主对象
嵌入式系统应用 军事国防 消费电子 工业 嵌入式应用 网络 信息家电 智能玩具 军事电子 通信设备 移动存贮 工控设备 智能仪表 汽车电子 网络设备 工业 军事国防 电子商务 网络
社会发展方面:嵌入式Internet应用
一些典型的嵌入式系统应用实例 家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备(机顶盒、掌上电脑、DVD、MP3、数码相机、数字电视、WebTV、网络冰箱、网络空调、家庭网关、智能家用电器、嵌入式视频服务器、车载导航器系统等)
家庭智能管理系统 社区建筑的水、电、煤气表的远程自动抄表,安全防火、防盗系统,远程点菜器等。
汽车电子产品 据报道,汽车上的电子产品价值已超过汽车价格50%,已非传统意义上的机械行业 (18个嵌入式控制模块) CAN总线网络
嵌入式系统示例——汽车控制系统 后车门控制系统 前车门控制系统 尾灯控制系统 发动器控制系统 所有的控制系统都是一个完整的嵌入式系统 马达 控制器 车灯 前车门控制系统 尾灯控制系统 发动器控制系统 所有的控制系统都是一个完整的嵌入式系统 座椅控制系统
医疗市场 心脏除颤器 心脏起搏器 患者信息和监视系统 理疗控制系统 电磁成像系统等
工业控制 工业设备是机电产品中最大一类 汽车加油站 数控系统 过去在工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统等方面,大部分低端型设备主要采用是8位单片机。 随着技术发展,目前许多设备除了进行实时控制,还须将设备状态,传感器的信息等在显示屏上实时显示。 8位单片机是无法满足这些要求,目前32位、64位的处理器逐渐替代了8位、16位处理器,成为工业控制设备的核心 汽车加油站 数控系统
军事方面 阿富汗参加反恐作战的“赫耳墨斯”价值4万美元,可携带2架摄像机,发挥了很好作用。
军事工业产品 数字化单兵信息装备 夜视扫描、全球定位、指挥通信 21世纪部队旅及旅以下作战指挥系统(FBCB2) C4ISR系统(指挥、控制、通讯、电脑、情报、监视、侦察) 国家级C4ISR系统包括2个以上的海岸指挥作战中心
机器人 最早的机器人技术是50年代MIT提出的数控技术。 “索杰纳”火星车就是一个价值10亿美金的技术高密集移动机器人,采用的是美国风河公司的Vxworks嵌入式操作系统,带有机械手,可以采集火星上的各种地况,并且通过摄像头把火星上的图像发回地面指挥中心。这台火星车在火星上自主工作了3个月。
以索尼的机器狗为代表的智能机器宠物,可以仅仅使用8位的AVR,51单片机或者16位的DSP来控制舵机,进行图像处理。 Windows CE等32位嵌入式操作系统的盛行,使得操控一个机器人只需要在手持PDA上获取远程机器人的信息,并且通过无线通讯控制机器人的运行。
基于VXworks的火星探路者
2004年“勇气号”再次登陆火星
智能机器人
图:卡耐基梅隆大学和瑞士EPFL研制的机器人控制器 (采用卡西欧PDA和Windows CE)
基于RTLinux的仿人机器人 高 48 cm 重: 6 kg 灵活性:20 DOF 操作系统: RT-Linux 接口形式: USB 1.0 (12Mbps) 响应周期: 1ms 能源: DC24V x 6.2A (150W) 制造:富士通
微小型仿生机器人技术-仿生机器鱼 针对台海区域发展局势,研究可侦察和干扰、航道布雷封锁、敌舰攻击等低成本、隐蔽好的水下仿生机器鱼具有十分重要军事科学意义,不仅对水下航行器(袖珍潜艇)传统螺旋桨推进机构革新具有现实意义,而且在仿生机理、新型机构、智能控制等方面具有理论研究价值。
国外 美国C.S.DRAPA实验室在1999年实验的VCUUV仿黄鳍金枪鱼机器人 ,长度2.4米,速度1.2米/秒,速度身长比0.5。 Triantafyllou M.S.为主的研究小组先后设计研究了1.2米长的机器金枪鱼和0.8米长的机器狗鱼 ,分别用于效率研究和机动性研究。
国内
嵌入式系统的发展历程 由于嵌入式计算机系统要嵌入到对象体系中,以实现宿主对象的自动控制,因此,它有着与通用计算机完全不同的技术要求与发展方向。
通用计算机系统 技术要求 技术发展方向 通用计算机系统 高速、海量的数值计算 总线速度的无限提升、存储容量的无限扩大 嵌入式系统 自动化控制能力 与对象密切相关的嵌入性能、控制力与控制的可靠性等
嵌入式系统起源 微型计算机时代
嵌入式系统发展模式(初期) Σ模式 创新模式 将通用计算机系统中的基本单元根据应用的需求进行裁剪,然后集成在一个芯片上,构成单片微型计算机 在体系结构、微处理器、指令系统、总线方式、管理模式等方面完全按嵌入式应用要求设计全新的、满足嵌入式应用要求的芯片
嵌入式系统硬件发展阶段 微控制器(Micro Controller Unit, MCU)阶段 不断地在一个芯片上扩展满足宿主对象系统所要求的各种外围电路与接口电路,以增强其对宿主对象的自动化控制能力。 单片系统(System on Chip, SoC)阶段 发展SoC的重要动力是人们不断地寻求应用系统在芯片上的最大化解决方案。因此,当USB, DSP, TCP/IP通信模块, GPRS等功能模块出现后,人们又根据应用的需求把这些功能模块与MCU进行有机结合,制造出集成度更高的系统级芯片,这种芯片就叫做SoC系统。 目前,随着现代微电子技术,IC技术,EDA工具的飞速发展,基于SoC单片应用系统正在成为嵌入式系统的主要器件。
嵌入式系统常用的芯片 位数 4 8 16 32 64 单片型系统 TMS1000 COPS 8045/49/50 8051/52 6801/04/05 8096/97 68200 ARM RISC Core MIPS 32Bits RISC Core MIPS 64Bits Core 通用型系统 4004 4040 Z8 8085 6809 8086 80186 80286 80386 80486 Pentium II/III
芯片的位数与应用范围 微处理器位数 应用的典型产品 4 计算器、遥控器、照相机、玩具、充电器、CD随身听... 8 电动机控制器、电视游戏机、空气调节器、传真机、BP机... 16 手机、摄像机、录像机... 32 调制解调器、掌上计算机、网络路由器、工作站、数码相机... 64 高端工作站、高级图像处理设备、高级音响处理设备、气象数据处理设备...
嵌入式系统的特点 专用性强 由于嵌入式系统通常是面向某个特定应用的,所以嵌入式系统的硬件与软件,尤其是软件,都是为特定用户群体来设计的,它通常都具有某种专用性的特点。
实时性好 目前,嵌入式系统广泛应用于生产过程控制、数据采集、传输通信等场合,主要用来对宿主对象进行控制,所以嵌入式系统都有或多或少的实时性。
可裁剪性好 嵌入式系统硬件和操作系统设计成可裁剪的,以便使嵌入式系统开发人员根据实际应用需要来量体裁衣,去除冗余,从而使系统在满足引用要求的前提下达到最精简的配置。
可靠性高 由于有些嵌入式系统所承担的任务设计产品质量、人身设备安全等重大事物,加之有些嵌入式系统的宿主对象要在无人值守的场合下稳定工作,所以,与普通系统相比,对嵌入式系统的可靠性要求极高。
功耗低 很多嵌入式系统的宿主对象都是一些小型应用系统,例如移动电话、PDA、MP3、数码相机等,这些设备不可能配备容量较大的电源,因此低功耗一直是嵌入式系统追求的目标。
操作系统内核小 由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
系统精简 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
其他 多种技术相结合的产物 较长的生命周期 功能、应用和过程相对固定性 无自主开发能力
嵌入式系统与PC之间的区别 嵌入式系统一般是专用系统,而PC是通用计算平台 嵌入式系统的资源比PC少得多 嵌入式系统一般采用实时操作系统 嵌入式系统大都有成本、功耗的要求 嵌入式系统得到多种微处理器体系的支持 嵌入式系统需要专用的开发工具
嵌入式系统的组成 硬件 操作系统 程序 硬件 内嵌式操作系统 系统组件 用户程序 计算机系统结构 嵌入式系统结构
典型嵌入式系统基本架构 应用程序 软件结构 操作系统 输入 输出 处理器 硬件结构 存储器
嵌入式处理器 各种类型存储器 模拟电路及电源 接口控制器及接插件 实时操作系统(RTOS) 板级支持包(BSP) 嵌入式硬件系统 嵌入式处理器 各种类型存储器 模拟电路及电源 接口控制器及接插件 嵌入式软件系统 实时操作系统(RTOS) 板级支持包(BSP) 设备驱动(Device Driver) 协议栈(Protocol Stack) 应用程序(Application)
典型嵌入式系统基本组成-硬件 电源 模块 时钟 复位 Flash RAM ROM USB LCD Keyboard Other 外围电路 MPU 微处理器 电源 模块 时钟 复位 Flash RAM ROM USB LCD Keyboard 外围电路 Other 外设
应用程序 实时操作系统(RTOS) 输入输出接口 处理器/ARM核 SOC/SOPC USB GPIO IIS LCD UART和IrDA MMU/Cache SOC/SOPC USB GPIO IIS LCD UART和IrDA ADC/DAC FPGA/CPLD DSP/浮点运算协处理器 DMA 电源管理 人机交互接口LCD/触摸屏、键盘、鼠标 设备驱动程序、HAL、BSP 文件系统/图形用户应用程序接口 驱动层 OS层 应用层 软件 硬件 以太网 看门狗及复位电路 Timer/RTC CAN Flash EEPROM SDRAM SRAM 内存
嵌入式系统的分类 一、按实时性要求分(软件范畴) 非实时系统(PDA) 软实时系统(消费类产品) 硬实时系统(工业和军工系统)
什么是实时系统? 对于实时系统,它的正确性不仅与系统的逻辑正确性相关,而且与系统的响应时间相关。如果系统的响应不能满足时限要求,即使它能得到一个正确的输出,我们也只能说它是一个失败的响应。 逻辑正确性 时间正确性
硬实时软实时 “软”意味着如果没有满足指定的时间约束并不会导致灾难性的后果,而对于硬实时系统来说却是灾难性的 从实践上说,软实时和硬实时之间的区别通常(隐含的和错误的)与系统的时间精度有关:由于这个原因,典型的,软实时任务的调度精度必须大于千分之一秒,而硬实时任务为微秒级。
二、按表现形式分(硬件范畴) 三、按应用分类 系统级:各种类型的工控器、PC104模块 板级:各种类型的带CPU的主板及OEM产品 片级:各种以单片机、DSP、微处理器为核心的产品 三、按应用分类
目前嵌入式发展趋势 即将来临的以ARM为核心的32位浪潮 嵌入式系统与Internet的融合 未来嵌入式系统的发展趋势
即将来临的以ARM为核心的32位浪潮 以4位、8位单片机或微控制器(MCU)为核心的嵌入式系统,大多数还处于单独的单机使用阶段,它们的特点是以MCU为核心,与一些简单的传感器、监测设备、伺服控制、指示、显示设备等配合,实现一定的测量、显示、信息处理及控制功能。这些单片机属于最典型的低端应用的嵌入式系统。 虽然8位微控制器(主要是51)仍然占据和继续领导标准低端嵌入式产品市场,多家公司采用各种方法延长8位体系结构生命周期,如采用增加芯片上的外设、提高时钟速度并扩展架构。这些功能的增长、处理器速度的提高是建立在一个十分低效的处理器体系架构上面的,没有本质变化,已无法满足未来高性能嵌入式技术的发展需求。
原因总结 一是8位微处理器性能不能满足人们越来越多的需求; 二是32位微处理器越来越成熟,销量越来越大,从而8位微处理器价格优势将消失; 三是芯片开发代理商代理8位产品赢利空间越来越少,从而转向代理32微处理器。
ARM 32位向ARM 转移,形成ARM市场主导地位
嵌入式系统与Internet的融合 嵌入式Internet是近几年发展起来的一项新兴概念和技术,也代表着嵌入式应用方向性的变化。它是指设备通过嵌入式模块而非PC系统直接接入Internet,以Internet为介质实现信息交互的过程,通常又称为非PC的 Internet接入,即进入后PC时代。 嵌入式Internet将世界各地不同地方、不同种类及不同应用的设备互联起来,实现信息实时共享。
最有发展前途、量产效益和时代特征的嵌入式产品应数因特网上的信息家电(Internet Appliances ) ,如Web可视电话、Web游戏机、Web PDA、WAP手机、以及多媒体产品,如STB(电视机顶盒)、DVD播放机、电子阅读机。 随着因特网技术的不断成熟、带宽传送速度的提高、网上提供的信息内容日趋丰富、应用项目多种多样。像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。这些都可能成为嵌入式Internet的应用。
未来嵌入式系统的发展趋势 互联网的普及、微电子加工工艺的提高、3C(Computer,Communication,Consumer)技术的普遍融合、使用者的需求增多、信息服务应用生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求;
嵌入式系统的发展趋势(特征) 经济性 小型化(笔记本、PDA) 可靠性(汽车VCD,挑动问题) 高速度(飞机刹车系统) 计算机要很便宜,让更多的人能买得起; 小型化(笔记本、PDA) 人们携带方便; 可靠性(汽车VCD,挑动问题) 能够在一般环境条件下或者是苛刻的环境条件下运行; 高速度(飞机刹车系统) 能够迅速地完成数据计算或数据传输; 智能性(知识推理、模糊查询、识别、感知运动) 使人们用起来更习惯,对人们更有使用价值。 网络性 嵌入式Internet将世界各地不同地方、不同种类及不同应用的设备互联起来,实现信息实时共享。
嵌入式系统的发展趋势(技术) 软件工程方法广泛应用于嵌入式系统开发中(组件设计技术等) 嵌入式系统开发的工作重点正在向软件转移。 软硬件协同设计、硬件软件化
基于组件的嵌入式系统软件开发的优点 1、可以选用商业成熟的软件组件 2、可以重用以往经过测试的高可靠性软件模块 3、提高软件质量、缩短产品面市时间 4、降低成本、减少费用
硬件设计软件化 可编程芯片在嵌入式系统设计中的应用促进了硬件设计向软件设计发展: 对象: FPGA:(Field Programmable Gate Array )现场可编程门阵列 CPLD 复杂可编程逻辑器件--CPLD ASIC (Application-Specific Integrated Circuit)专用集成电路 工具:VHDL :VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.超高速集成电路硬件描述语言 编程:硬件工程师
软硬件协同设计