嵌入式系统与单片机.ppt_第1页
嵌入式系统与单片机.ppt_第2页
嵌入式系统与单片机.ppt_第3页
嵌入式系统与单片机.ppt_第4页
嵌入式系统与单片机.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统与单片机,北京科技大学电子信息系,第七讲 嵌入式系统综述,嵌入式在家电领域中,嵌入式在工控领域中,嵌入式产品及其开发,嵌入式技术发展趋势,嵌入式系统的基本概念,嵌入式在手机领域中,计算机工业的分类,以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这种分类沿袭了约40年。 随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机和通用计算机。,一、嵌入式系统的基本概念,什么是“嵌入式系统”? 根据IEEE(国际电气和

2、电子工程师协会)的定义: 嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。,一般定义,“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”,嵌入式系统工业的特点和要求,嵌入式系统工业是不可垄断的高度分散的工业 从某种意义上来说,通用计算机行业的技

3、术是垄断的。 嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没有哪一个系列的处理器和操作系统能够垄断全部市场。 嵌入式系统具有的产品特征 (1)量体裁衣 (2)生命周期较长 (3)软件继承性 (4)处理器发展稳定性,嵌入式系统工业的特点和要求,嵌入式系统软件的特征 (1)软件要求固态化存储 (2)软件代码高质量、高可靠性 (3)系统软件(OS)的高实时性是基本要求 (4)多任务操作系统是知识集成的平台和走向工业标准化道路的基础,嵌入式系统工业的特点和要求,嵌入式系统开发需要开发工具和环境 嵌入式系统软件需要RTOS开发平台 嵌入式系统开发人员以应用专家为主,嵌入式系统是信息产业

4、走向二十一世纪知识经济时代的最重要的经济增长点之一,这是一个不可垄断的工业,对中国的信息产业来说充满了机遇和挑战。 嵌入式工业的基础是以应用为中心的芯片设计和面向应用的软件开发。实时多任务操作系统(RTOS)进入嵌入式系统工业的意义,不亚于历史上机械工业采用三视图后的发展,对嵌入式软件的标准化和加速知识创新是一个里程碑。 这两点应特别引起中国信息产业界的关注。,嵌入式处理器分类与现状,嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。 嵌

5、入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP) 嵌入式DSP处理器比较有代表性的产品是TexasInstruments的TMS320系列和Motorola的DSP56000系列,嵌入式处理器分类与现状,嵌入式片上系统(System On Chip),嵌入式系统的软件开发平台,实时多任务操作系统(Real Time multi-tasking Operation System,RTOS) 实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。目前大多数嵌入式开发还是

6、在单片机上直接进行,没有RTOS,但仍要有一个主程序负责调度各个任务。 RTOS是一段嵌入在目标代码中的程序,系统复位后首先执行,相当于用户的主程序,用户的其它应用程序都建立在RTOS之上。不仅如此, RTOS还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。,实时系统,实时系统是指能在确定的时间内执行其功能,并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。 “在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间

7、有严格要求的。 实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。,RTOS的基本结构,RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。,嵌入式系统的几个重要特征,嵌入式系统,典型嵌入式系统的基本组成,嵌入式系统的基本要素,嵌入式处理器 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。 位、 位单片机,16位、 32位、64位嵌入式CPU。 实时操作系统 实时操作系统是嵌入式系统

8、目前最主要的组成部分。实时性需要调度一切可利用的资源完成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。,嵌入式处理器,嵌入式处理器的发展趋势 经济性(成本) 微型化(封装、功耗) 智能化(功能、速度) 嵌入式处理器的分类和现状 微控制器(MCU):如各种单片机芯片 微处理器(MPU):X86系列、ARM系列等 数字信号处理器(DSP) 混合处理器和片上系统(SOC) 可编程片上系统(SOPC):System On Programmble Chip,嵌入式产品处理器, 51/PIC/AVR性能价格比较高 Atmel/Philp/.兼容51的flash/掩膜单片机占据大量市

9、场份额。 68HC(Motolola)系列发展势头也不错 另外专用单片机如NEC/东芝/在特定行业应用广泛。 目前客户开始向高端发展,主要问题是: 目前单片机的外围扩充代码/数据空间困难。 单片机缺少协议处理功能,mips值低,外接ethernet/上tcp/ip协议困难 大屏幕LCD显示接口/HDLC等需求用8位机实现困难。,X86系列CPU-Intel公司,CPU性能价格比良好 开发简单,软件兼容性好。 软件资源丰富 开发平台简单 目前有大量工控104板,CPCI板可使用,方便二次开发。,发展战略是面向桌面计算市场,其发展重点是商用CPU 。目前比较重视通信和嵌入式市场,推出IXP系列,s

10、trongArm系列。 嵌入式产品系列:186,386ex,486ex.I960.,目前386EX和80188/186系列目前国内工业控制/通信用量很大。,X86系列开发介绍,X86系列c/c+开发环境 cad-ul Paradigm gnu diab green hill,X86系列仿真/调试器,186/386/486全仿真器 SC520. 支持JTAG调试器 PI/PII/PIII.支持JTAG调试器 Geode GX.支持JTAG调试器,Motorola系列处理器,Motorola公司:是世界著名的处理器制造商,其CPU抗干扰能力强,适合工业控制/军方应用,MC68000微处理器占有美国

11、军方市场的70%,由此可见其产品的可靠性和稳定性之高。另外QUICC系列通信处理器功能强大,在通信产品中获得广泛应用。,Motorola系列处理器,Motorola系列处理器 68k/Dragonball Cpu32 Coldfire PPC8xx PPC82xx,Motorola系列处理器,Motorola系列处理器,Motorola系列处理器,ColdFire系列 coldfire5102,5202,5204,5206, 5272 ,5307,5407 Dragonball 龙珠系列 68EZ328/68VZ328/Dragonball-MX1 Mcore系列 MMC2001,MMC200

12、3,MMC2107,Motorola系列开发介绍,Motorola系列c/c+开发环境 CodeWarrior GNU Diab SDS Green Hill,Motorola系列仿真调试器,68HC12/16.支持BDM调试器 68K系列 全仿真器 Cpu32系列支持BDM调试器 ColdFire系列支持BDM调试器 PPC8xx/5xx 支持BDM调试器 PPC82xx/7xx 支持JTAG调试器,ARM系列处理器,ARM是一个CPU内核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费与技术转让费 随着ARM/MIPS/ARC等成熟内核的推出,很多过

13、去没有32位cpu研发能力的半导体公司进入这一行列。 ARM系列内核的优势 成本低 功耗低,ARM系列处理器,主流ARM内核: ARM7TDMI ARM99E ARM10 StrongARM/Xscale,ARM系列处理器,ATMEL公司arm系列 AT91系列: 优点:工业级。但缺乏lcd驱动等较吸引力的外围电路。 AT75/76系列: 内置arm7/DSP双内核,有Arm+2DSP/ARM+DSP+MAC,两种配置,加上PHY就可实现voip终端,ARM系列处理器,Cirrus logic公司 机顶盒/mp3/IA等专用SOC,有数模混合和视频/音频处理优势。 EP7211 EP7212

14、/ep7312 EP7209 EP9312,ARM系列处理器,NetScillon公司 ARM+NET系列芯片,关注设备上网(嵌入式internet)解决方案。 Samsung: Arm系列SOC芯片,集成度高,关注mp3/pda/route应用。S3c44b0 x ,s3c4510. Motolora : 最近推出龙珠MX1,使用了arm内核。,ARM系列开发,C/C+开发平台 ADS ARM公司提供 SDT ARM公司提供 GNU 免费平台,ARM系列仿真调试器,ARM系列支持JTAG规范 目前支持ARM的调试器: JEENI sdt TraceIcdsdt/ads MultiIce sd

15、t/ads hitoolhitool ,其他系列内核,SH3 core: 日立/ST,价格和灵活性/密度有较大优势,台湾公司使用普遍。 HP-RISC core: 华邦目前系列使用HP-RISC内核的处理器 MIPS core: 有多款机顶盒/视频SOC产品使用,嵌入式操作系统,(1)顺序执行系统 系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。 (2)分时操作系统 系统内同时可以有多个程序运行,把CPU的时间分按顺序分成若干片,每个时间片内执行不同的程序。如UNIX (3)实时操作系统 系统内有多个程序运行,每个程序有不

16、同的优先级,只有最高优先级的任务才能占有CPU的控制权,如Linux,C/OS-II, VxWorks 。,按实时性分类,1.强实时系统,其系统响应时间在毫秒或微秒级(数控机床); 2.一航实时系统,其系统响应时间在毫秒几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。 3.弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。,实时系统的评价指标,实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分级(如联机查询系统)。 在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(Response Time)、生

17、存时间(Survival Time)、吞吐量(Throughput)。 响应时间(Response Time):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。 生存时间(Survival Time):是数据有效等待时间,在这段时间里数据是有效的。 吞吐量(Throughput):是在一给定时间内(秒),系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。,按软件结构分类,(1)循环轮询系统:(Polling Loop) 最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件

18、,一旦条件成立就进行相应的处理。 Initialize() While(true) if(condition_1) action_1(); if(condition_2) action_2(); if(condition_n) acition_n(); ,(2)事件驱动系统:(Event-Driven system) 事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。 应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreg

19、round)。 后台也可以叫做任务级,前台也叫中断级。 例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。,前后台系统(后台循环、前台中断),(3)多任务系统 一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级, 有它自己的一套CPU寄存器和自己的栈空间。 多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。 CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。,系

20、统内核,多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。 内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加ROM用量,内核本身的数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2到5个百分点之间。,调度(dispatcher),这是操作系统的主要职责之一,它决定该轮到哪个任务运行了。 往往调度是基于优先级的,根据其重要不同被赋予任务不同的优先级。 CPU总是让处在就绪态的优先级最高的任务先运行。 何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。

21、,任务优先级(priority),每个任务都有其优先级(priority),静态优先级和动态优先级。 应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。 应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级.,非占先式与占先式,非占先式(non-preemptive) 非占先式调度法也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。 中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃

22、CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。 非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。 非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放CPU。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。,非占先式(Non-Preemptive),占先式(preemptive),当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能

23、得到CPU的控制权。 当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。 使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。,占先式(Preemptive),二、嵌入式技术的发展趋势,宏观方面发展趋势 经济性(几十万、几万、5千、5百) 计算机要很便宜,让更多的人能买得起; 小型化(笔记本、PDA),人们携带方便; 可靠性(汽车VCD,挑战问题) 能够在一般环境条件下或者是苛刻的环境条

24、件下运行; 高速度(飞机刹车系统) 能够迅速地完成数据计算或数据传输; 智能性(知识推理、模糊查询、识别、感知运 动)使人们用起来更习惯,对人们更有使价值。,芯片方面,SCM(Sigle Chip Micro computer) MCU(Micro Control Unit) SOC(System On Chip) SOPC( System On Programmble Chip ),嵌入式软件行业的标准,目前,嵌入式操作系统没有国际标准,有些行业已经开始定义其相关的行业标准,如汽车电子OSEK等。 向微内核方向发展(PS/2 微通道,PCI、ISA) 八十年代后期,国外提供了微内核(Micr

25、okernel)的思想,即将传统操作系统中的许多共性的东西抽象出来,构成操作系统的公共基础,真正具体的操作系统功能则由构造在微内核之外的服务器实现。 实时多任务操作系统与开发工具 微小型个人数据库 高可靠性的无线信息传输 多媒体人机交互的操作界面 嵌入式操作系统的功能越来越丰富,不仅能提供一些基本的功能,如:内核、网络、GUI、文件系统等,而且还会具有很多新的功能,如支持J2ME(JAVA2Micro Edition)、嵌入式CORBA,XML,Mono/.NET等。,三、嵌入式产品及其开发,嵌入式产品的概念 “嵌入式”简单的讲就是把处理器嵌入各种电子设备内部,实现设备的智能化。 mcs51/

26、PIC/6502等基于单片机开发的产品也是嵌入式产品。 目前语义更泛指基于高端处理器(16/32bit),使用实时操作系统的产品。,嵌入式产品发展迅速,进入嵌入式领域开发的公司正快速增加,国内嵌入式市场成为目前公认的新兴利润市场,通信与数据通信,移动计算,PDA,医疗测试仪器.国内业界掀起了从8位单片机转入16/32位高性能cpu开发的新一轮高潮。,嵌入式开发流程介绍,嵌入式开发流程介绍,嵌入式产品开发流程与8位机开发流程类似,但增加了RTOS移植部分。 元器件选型原理图编制印制板样板试制硬件功能测试 BSP调试 RTOS移植协议栈移植应用程序调试系统联调 样机交付 另外嵌入式开发中普遍使用C

27、语言,系统复杂程度和开发周期均比8位机开发增加。,嵌入式开发的特点,与位开发比较,嵌入式产品开发有如下特点: 前期投入大 开发工具投入高 项目周期长 项目管理和进度控制困难 质量保证要求高,实时操作系统,实时操作系统能实现任务调度,内存管理等基本功能,能简化产品开发流程,提高产品质量。 实时操作系统内核尺寸小,适应嵌入式产品对体积和成本的要求。 实时操作系统能适应工控/通信等设备对响应速度的要求。,实时操作系统与协议栈,很多实时操作系统厂家均提供基于相应RTOS的协议栈产品 各类协议栈如:TCP/IP、VOIP、 NO.7、 MAP、语音识别、手写输入、红外传输 能简化产品开发难度 各类协议栈

28、能缩短产品开发周期,提升产品质量,几种最常见的RTOS: 软实时RTOS 嵌入式Linux Win CE 硬实时RTOS VxWorks OSE Nuclear 著名的open RTOS ucOS/II RTEMS 自主知识产权的RTOS HOPEN Delta OS,嵌入式/应用系统开发的区别,嵌入式产品对实时性要求高 嵌入式产品对代码尺寸有要求 嵌入式开发不能使用DOS中断或Windows-API资源。 嵌入式产品的软件开发环境与调试环境与应用系统开发不同,一般要使用交叉编译器和仿真调试器。,嵌入式软件开发工具,开发工具 编译器(Compiler) 调试器(In Circuit Emula

29、tor) 软仿真(Simulator) 集成开发环境(IDE) 典型的商业开发工具及供应商 Windriver公司的Tornado for VxWorks MontaVisa公司的HardHat Linux 开发工具包 AMC公司的SuperTAP调试器 免费开发工具 GNU系列开发工具 Wiggler调试器,嵌入式C/C+开发,嵌入式C/C+编译器 交叉编译能力:能够在pc/unix平台上生成其他cpu平台目标代码 连接/定址器:因为无法提供dos/windows的动态定位执行能力。嵌入式一般需要目标代码静态定位到具体地址,定址器完成这一工作。 启动代码:初始化处理器和c语言堆栈区等环境的汇

30、编码。 EC+:针对嵌入式的一些实时要求等特点,对标准C+语言规范的修改扩充。,嵌入式C/C+开发环境,提供目标调试(remote/rom monitor)能力. 另外还有其他一些地方需要注意,如I/O库,大小尾段等。 主流嵌入式编译器: GNU 、CADUL 、CodeWarrior、GreenHill、Diab/SDS、IAR、BC/VC+Toolkit.等,硬件设计工具(EDA工具),系统级设计工具 Cadence的SPW System View 模拟电路系统仿真工具 Pspice EWB PCB设计工具 Protel PADs 的Power PCB & Tool Kit Mentor的Expedition & Tool Kit 可编程逻辑器件设计工具 Mentor FPGA Advantage & ModelSim Xilinx Foundation

温馨提示

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

评论

0/150

提交评论