《嵌入式系统导论PPT.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统导论PPT.ppt(388页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统导论PPT电子教案 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望嵌人式系统应用无处不在嵌人式系统应用无处不在2什么是嵌入式系统什么是嵌入式系统第一章第一章嵌入式系统概述嵌入式系统概述1.1以往我们按照计算机的体系结构、运算速度、结构规模、以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为适用领域,将其分为大型计算机大型计算机、中型机中型机、小型机小型机和和微计微计算机算机,并以此来组织学科和产业分工,这种分类沿袭了约,并以此来组织学科
2、和产业分工,这种分类沿袭了约40年。年。随着计算机技术和产品对其它行业的广泛渗透,以应用为随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌中心的分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为入式应用和非嵌入式应用将其分为嵌入式计算机嵌入式计算机和和通用计通用计算机算机。3通用计算机具有计算机的标准形态,通过装配不同通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现并应用在社会的各个的应用软件,以类同面目出现并应用在社会的各个方面,其典型产品为方面,其典型产品为PC;嵌入式计算机则是以嵌入式系统的
3、形式隐藏在各种装嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。置、产品和系统中。嵌入式系统嵌入式系统被定义为:以应用为中心以应用为中心、以计算机技术为以计算机技术为基础、软件硬件可裁剪基础、软件硬件可裁剪、适应应用系统对功能、可靠性、适应应用系统对功能、可靠性、成本、体积、功耗严格要求成本、体积、功耗严格要求的专用计算机系统的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、微电子嵌入式系统是将先进的计算机技术、半导体技术、微电子技术和各个行业的具体应用相结合后的产物,这一点就决技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个定了它必然是一个技术密
4、集技术密集、资金密集资金密集、高度分散高度分散、不断不断创新创新的知识集成系统。的知识集成系统。4嵌入式系统工业的特点和要求嵌入式系统工业的特点和要求 :1.1.嵌入式系统工业是不可垄断的高度分散的工业嵌入式系统工业是不可垄断的高度分散的工业嵌入式系统工业的基础是以应用为中心的嵌入式系统工业的基础是以应用为中心的“芯片芯片”设计和面向应用的设计和面向应用的软件产品开发。软件产品开发。2.2.嵌入式系统具有的产品特征嵌入式系统具有的产品特征嵌入式系统是面向用户、面向产品、面向应用的。嵌入式系统是面向用户、面向产品、面向应用的。嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,嵌入式系
5、统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能。力争在同样的硅片面积上实现更高的性能。嵌入式系统产品一般具有较长的生命周期,其发展也体现出稳定性。嵌入式系统产品一般具有较长的生命周期,其发展也体现出稳定性。1.253.3.嵌入式系统软件的特征嵌入式系统软件的特征(1)软件要求固态化存储软件要求固态化存储(2)软件代码高质量、高可靠性软件代码高质量、高可靠性(3)系统软件系统软件(OS)的高实时性是基本要求的高实时性是基本要求(4)多任务操作系统是知识集成的平台和走向工业标准化道路的基础多任务操作系统是知识集成的平台和走向工业标准化道路的基础4.4.嵌
6、入式系统开发需要开发工具和环境嵌入式系统开发需要开发工具和环境嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。各种逻辑分析仪、混合信号示波器等。65.5.嵌入式系统软件需要嵌入式系统软件需要RTOS开发平台开发平台为了合理地调度多任务、利用系统资
7、源、系统函数以及和专家库函数接为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。性、可靠性,并减少开发时间,保障软件质量。6.6.嵌入式系统开发人员以应用专家为主嵌入式系统开发人员以应用专家为主开发工具的易学、易用、可靠、高效是基本要求。开发工具的易学、易用、可靠、高效是基本要求。7实时系统实时系统1.31.实时计算模式实时计算模式任何一个系统,如果其产生输出的时刻是至关重要的,它就任何一个系统,如果其产生输出的时刻是至关
8、重要的,它就是是实时系统实时系统。德国工业标准德国工业标准DIN44330将实时计算模式定义为:将实时计算模式定义为:“实时计算模式是一实时计算模式是一种计算机系统的操作模式。在这种模式下,处理从外部来的数据的程种计算机系统的操作模式。在这种模式下,处理从外部来的数据的程序总是就绪的。所以,能够在可预测的时间内得到希望的结果;数据序总是就绪的。所以,能够在可预测的时间内得到希望的结果;数据的到达时间是随机分布的或者是预先决定的,具体情况由不同的应用的到达时间是随机分布的或者是预先决定的,具体情况由不同的应用决定。决定。”8工作在实时计算模式下的计算机系统,都可称为实时系统。工作在实时计算模式下
9、的计算机系统,都可称为实时系统。2.实时系统实时系统在实时系统中主要有三个指标来衡量系统的实时性在实时系统中主要有三个指标来衡量系统的实时性:响应时间:它是计算机从识别一个外部事件到做出响应的时间。响应时间:它是计算机从识别一个外部事件到做出响应的时间。吞吐量:它指在给定时间内,系统可以处理的事件总数。吞吐量:它指在给定时间内,系统可以处理的事件总数。生存时间:它是数据有效等待时间。生存时间:它是数据有效等待时间。实时应用范围很广,主要有两类:嵌入式应用和在线实时应用范围很广,主要有两类:嵌入式应用和在线应用。应用。9(1)硬实时系统硬实时系统如果系统未能在指定时间内就某一事件做出响应而如果系
10、统未能在指定时间内就某一事件做出响应而失败,而该失败被认为是一种全面的系统失败,则失败,而该失败被认为是一种全面的系统失败,则该系统是一个该系统是一个硬(硬(hard)实时系统)实时系统。系统的正确性是同其响应时限紧密相关的。系统的正确性是同其响应时限紧密相关的。102.软实时系统软实时系统在一个在一个软(软(soft)实时系统)实时系统中,响应时限虽重要但不中,响应时限虽重要但不是人命关天的。是人命关天的。软实时系统设计者必须考虑系统多少次超时限和延软实时系统设计者必须考虑系统多少次超时限和延迟多少才是可接受的。迟多少才是可接受的。大多数的实时系统是软实时系统。大多数的实时系统是软实时系统。
11、113.实时嵌入系统实时嵌入系统所有的嵌入系统都是实时系统,至少是软实时系统,所有的嵌入系统都是实时系统,至少是软实时系统,但并不是所有的实时系统都是嵌入系统。但并不是所有的实时系统都是嵌入系统。实时嵌入系统就是为执行特定功能而设计的,至少具实时嵌入系统就是为执行特定功能而设计的,至少具有软实时运行性能的系统。有软实时运行性能的系统。12嵌入式处理器分类与现状嵌入式处理器分类与现状1.4嵌入式系统的核心部件是各种类型的嵌入式系统的核心部件是各种类型的嵌入式处理器嵌入式处理器,嵌入式嵌入式计算机可以分成下面几类计算机可以分成下面几类:1.1.嵌入式微处理器嵌入式微处理器(EmbeddedMicr
12、oprocessorUnit,EMPU)嵌入式微处理器的基础是通用计算机中的嵌入式微处理器的基础是通用计算机中的CPU。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。般都做了各种增强。嵌入式处理器目前主要有嵌入式处理器目前主要有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。系列等。132.2.嵌入式微控制器嵌入式微控制器(Mic
13、rocontrollerUnit,MCU)又称又称单片机单片机。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时、总线、总线逻辑、定时/计数器、计数器、WatchDog、I/O、串行口、脉宽调制输出、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要等各种必要功能和外设。功能和外设。有代表性的通用系列包括有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、683
14、00等。另外还有许多半通用系列如:等。另外还有许多半通用系列如:支持支持USB接口的接口的MCU8XC930/931、C540、C541;支持;支持I2C、CAN-Bus、LCD及众多专用及众多专用MCU和兼容系列。目前和兼容系列。目前MCU占嵌入式系统约占嵌入式系统约70的市场的市场份额。份额。143.3.嵌入式嵌入式DSP处理器处理器(EmbeddedDigitalSignalProcessor,EDSP)DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。算法,编译效率较高,指令执行速
15、度也较高。嵌入式嵌入式DSP处理器有两个发展来源,一是处理器有两个发展来源,一是DSP处理器经过单片化、处理器经过单片化、EMC改造、增加片上外设成为嵌入式改造、增加片上外设成为嵌入式DSP处理器;二是在通用单片机处理器;二是在通用单片机或或SOC中增加中增加DSP协处理器。协处理器。嵌入式系统的智能化嵌入式系统的智能化。嵌入式嵌入式DSP处理器比较有代表性的产品是处理器比较有代表性的产品是TexasInstruments的的TMS320系列和系列和Motorola的的DSP56000系列。系列。153.3.嵌入式片上系统嵌入式片上系统SOCSOC(SystemOnChip)随着随着EDI的推
16、广和的推广和VLSI设计的普及化,及半导体工艺的迅速发展,设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是在一个硅片上实现一个更为复杂的系统的时代已来临,这就是SystemOnChip(SOC)。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,
17、对于减小体积和功耗、提高可靠性非常有利变得很简洁,对于减小体积和功耗、提高可靠性非常有利。SOC可以分为通用和专用两类。通用系列包括可以分为通用和专用两类。通用系列包括Infineon(Infineon(Siemens)的的TriCore,Motorola的的M-Core,某些,某些ARM系列器件,系列器件,Echelon和和Motorola联合研制的联合研制的Neuron芯片等。专用芯片等。专用SOC一般专用于某个或某一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是类系统中,不为一般用户所知。一个有代表性的产品是Philips的的SmartXA。16嵌入式系统开发工具及嵌入
18、式系统开发工具及RTOS平台平台1.5以开发工具和技术咨询为基础的整体解决方案是迫切需要的。以开发工具和技术咨询为基础的整体解决方案是迫切需要的。目前嵌入式系统的开发工具平台主要包括下面几类:目前嵌入式系统的开发工具平台主要包括下面几类:1.实时在线仿真系统实时在线仿真系统ICE(In-CircuitEmulator)ICE首先可以通过实际执行,对应用程序进行原理性检验,排除以人首先可以通过实际执行,对应用程序进行原理性检验,排除以人的思维难以发现的设计逻辑错误。的思维难以发现的设计逻辑错误。ICE的另一个主要功能是在应用系的另一个主要功能是在应用系统中仿真微控制器的实时执行,发现和排除由于硬
19、件干扰等引起的异统中仿真微控制器的实时执行,发现和排除由于硬件干扰等引起的异常执行行为。此外,高级的常执行行为。此外,高级的ICE带有完善的跟踪功能,可以将应用系带有完善的跟踪功能,可以将应用系统的实际状态变化、微控制器对状态变化的反应、以及应用系统对控统的实际状态变化、微控制器对状态变化的反应、以及应用系统对控制的响应等以一种录像的方式连续记录下来,以供分析,在分析中优制的响应等以一种录像的方式连续记录下来,以供分析,在分析中优化控制过程。化控制过程。17由于嵌入式应用的不确定性,由于嵌入式应用的不确定性,ICE不仅是软件硬件排错工具,同时也是不仅是软件硬件排错工具,同时也是提高和优化系统性
20、能指标的工具。提高和优化系统性能指标的工具。2.高级语言编译器高级语言编译器(CompilerTools)C/C+/EC+引入嵌入式系统,使得嵌入式开发和个人计算机、小型机引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至等在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件开发不再必须精通得硬件开发和软件开发可以分工,从事嵌入式软件开发不再必须精通系统硬件和相应用汇
21、编语言指令集。系统硬件和相应用汇编语言指令集。(更多的信息,可查询更多的信息,可查询http:/)。JAVA本来是为设备独立的嵌入式系统设计的、为了提高程序继承性的本来是为设备独立的嵌入式系统设计的、为了提高程序继承性的语言,但是目前基于语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要比嵌入式的嵌入式开发工具代码生成长度要比嵌入式C编译工具差编译工具差10倍以上。倍以上。183.源程序模拟器源程序模拟器(Simulator)源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和和PC,通过软件手段模拟执行为某种嵌入
22、式处理器内核编写的源程序测,通过软件手段模拟执行为某种嵌入式处理器内核编写的源程序测试工具。试工具。模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程序检验和测试工具。一种有效的源程序检验和测试工具。(更多的资料,可查询以下网址:更多的资料,可查询以下网址:,)194.实时多任务操作系统实时多任务操作系统(RealTimemulti-taskingOperationSystem,RTOS)实时多任务操作系统实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。是嵌入式应用软件的基础和开发平台。RT
23、OS是一段嵌入在目标代码中的软件,用户的其它应用程序都建是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在立在RTOS之上。不但如此,之上。不但如此,RTOS还是一个可靠性和可信性很高还是一个可靠性和可信性很高的实时内核,将的实时内核,将CPU时间、中断、时间、中断、I/O、定时器等资源都包装起来,、定时器等资源都包装起来,留给用户一个标准的留给用户一个标准的API,并根据各个任务的优先级,合理地在不,并根据各个任务的优先级,合理地在不同任务之间分配同任务之间分配CPU时间。时间。205.RTOS5.RTOS是嵌入式系统的软件开发平台是嵌入式系统的软件开发平台RTOS最关键的部分是实时多
24、任务内核,它的基本功能包括任务管理、最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等理、队列管理、旗语管理等,这些管理功能是通过内核服务函数形式这些管理功能是通过内核服务函数形式交给用户调用的,也就是交给用户调用的,也就是RTOS的的API。RTOS的引入,解决了嵌入式软件开发标准化的难题。的引入,解决了嵌入式软件开发标准化的难题。基于基于RTOS开发出的程序,具有较高的可移植性,实现开发出的程序,具有较高的可移植性,实现90%以上设备以上设备
25、独立,一些成熟的通用程序可以作为专家库函数产品推向社会。独立,一些成熟的通用程序可以作为专家库函数产品推向社会。目前,商品化的目前,商品化的RTOS可支持从可支持从8BIT的的8051到到32BIT的的PowerPC及及DSP等几十个系列的嵌入式处理器。等几十个系列的嵌入式处理器。(更多的资料可查询下列网址:更多的资料可查询下列网址:http:/,)。21嵌入式系统的特点嵌入式系统的特点1.6传统的嵌入式系统是基于单片机的,也就是说:传统的嵌入式系统是基于单片机的,也就是说:嵌入式系统嵌入式系统实际上是一种计算机系统实际上是一种计算机系统。与通用型计算机系统相比,嵌入式系统与通用型计算机系统相
26、比,嵌入式系统 功耗低、可靠性高;功耗低、可靠性高;功能强大、性能价格比高;功能强大、性能价格比高;实时性强,支持多任务;实时性强,支持多任务;占用空间小,效率高;占用空间小,效率高;面向特定应用,可根据需要灵活定制。面向特定应用,可根据需要灵活定制。22而新一代的嵌入式系统将以如下为特点:而新一代的嵌入式系统将以如下为特点:以以IP核模块为核心,用混合核模块为核心,用混合ASIC/CPLD/FPGA生成的硅片直生成的硅片直接构成整块的单片嵌入式产品(接构成整块的单片嵌入式产品(SOC)IP核核(IntellectualPropertyKernel)知识产权核知识产权核ASIC(Applica
27、tion-SpecificIntegratedCircuit)专用集成电路。一个在一个芯片上定制设计的硬件专用集成电路。一个在一个芯片上定制设计的硬件23CPLD(ComplexProgrammingLogicDevice)复杂可编程逻辑器件复杂可编程逻辑器件FPGA(FieldProgrammingLogicGateArray)现场可编程门阵列现场可编程门阵列SOC(SystemOnChip)片上系统(集成系统)片上系统(集成系统)24嵌入式系统的分类嵌入式系统的分类1.7不带计时功能的微处理器装置不带计时功能的微处理器装置这类系统可见于过程控制、信号放大器、位置传感器及阀门传动器这类系统可
28、见于过程控制、信号放大器、位置传感器及阀门传动器等中找到。等中找到。单个微处理器单个微处理器这类系统可以在小型设备中(如温度传感器、烟雾和气体探测器及这类系统可以在小型设备中(如温度传感器、烟雾和气体探测器及断路器)找到断路器)找到。25带计时功能的组件带计时功能的组件 这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系统、医药监视系统、诊断及实时控制系统等。统、医药监视系统、诊断及实时控制系统等。在制造或过程控制中使用的计算机系统在制造或过程控制中使用的计算机系统 对于这类系统,计算机与仪器、机械及设备相连来控制这些装置的
29、工对于这类系统,计算机与仪器、机械及设备相连来控制这些装置的工作作。26嵌入式系统的应用嵌入式系统的应用过程控制(过程控制(Process Control)Process Control)对生产过程中各种动作流程进行控制;对生产过程中各种动作流程进行控制;网络通信(网络通信(Telecommunication)Telecommunication)程控交换机、手机、路由器、程控交换机、手机、路由器、Modem等;等;消费电子(消费电子(Consumer Products)Consumer Products)信息家电、掌上电脑、游戏机等;信息家电、掌上电脑、游戏机等;1.827智能仪器(智能仪器(
30、Intelligent Instrument)Intelligent Instrument)示波器、医疗仪器等;示波器、医疗仪器等;计算机外设(计算机外设(Computer Peripherals)Computer Peripherals)打印机、扫描仪、显示卡等;打印机、扫描仪、显示卡等;军事电子(军事电子(military Electronics)military Electronics)28嵌入式系统发展趋势嵌入式系统发展趋势(1)开放式平台架构,易于与其他系统整合;开放式平台架构,易于与其他系统整合;(2)体积越来越小,性能要求更稳定,成本更低廉;体积越来越小,性能要求更稳定,成本更低
31、廉;(3)应用趋向多元化,需要小批量、快速客制化的服务;应用趋向多元化,需要小批量、快速客制化的服务;(4)功能趋向单一,集成的功能与一般功能趋向单一,集成的功能与一般PC不同。不同。1.929第二章第二章 嵌入式系统体系结构嵌入式系统体系结构所有嵌入式系统都包含某种输入和输出。嵌入式系统的输所有嵌入式系统都包含某种输入和输出。嵌入式系统的输出几乎总是它的输入和其它一些因素的函数。出几乎总是它的输入和其它一些因素的函数。内存内存处理器处理器处理器处理器输入输入输出输出一一个个基基本本的的嵌嵌入入式式系系统统30硬件支撑系统硬件支撑系统软件控制系统软件控制系统ApplicationAPIRTOS
32、PeripheralsPeripheralsCPU嵌入式系统体系结构嵌入式系统体系结构31嵌入式系统硬件结构嵌入式系统硬件结构2.1核心处理器核心处理器外围电路外围电路外部设备外部设备A/D32嵌入式系统的硬件部分可以分成三层:嵌入式系统的硬件部分可以分成三层:实际环境中,嵌入式设备的硬件配置非常灵活。除实际环境中,嵌入式设备的硬件配置非常灵活。除CPU和基本外围和基本外围电路外,其余部分都可以进行裁减。电路外,其余部分都可以进行裁减。外部设备外部设备:嵌入式系统与真实环境交互的各种设备,包括存储设备:嵌入式系统与真实环境交互的各种设备,包括存储设备(如(如FlashCard)、)、I/O设备
33、(如键盘、鼠标、设备(如键盘、鼠标、LCD等)和打印设备等)和打印设备(如打印机)。(如打印机)。核心处理器(核心处理器(CPUCore):它是嵌入式系统的核心部件,负责控制:它是嵌入式系统的核心部件,负责控制整个嵌入式系统的执行。整个嵌入式系统的执行。外围电路外围电路:该电路包括嵌入式系统的内存、:该电路包括嵌入式系统的内存、I/O端口、复位和电源等,端口、复位和电源等,与与CPUCore一起构成一个完整的嵌入式目标系统。一起构成一个完整的嵌入式目标系统。33嵌入式系统软件结构嵌入式系统软件结构设备驱动接口(设备驱动接口(DDI):负责嵌入式系统与外部设备的信息交互;负责嵌入式系统与外部设备
34、的信息交互;操作系统操作系统RTOS:基本部分与扩展部分。基本部分与扩展部分。基本部分:操作系统核心,任务调度、存储分配、时钟、文件与中断管理基本部分:操作系统核心,任务调度、存储分配、时钟、文件与中断管理等,并提供文件、等,并提供文件、GUI等基本服务;等基本服务;扩展部分:系统扩展功能,网络、数据库服务等。扩展部分:系统扩展功能,网络、数据库服务等。应用程序接口(应用程序接口(API):应用编程中间件;为编制应用程序提供各种编应用编程中间件;为编制应用程序提供各种编程接口库(程接口库(LIB)。)。应用系统(程序)应用系统(程序):嵌入式系统的应用软件。嵌入式系统的应用软件。2.234嵌入
35、式系统软件体系结构嵌入式系统软件体系结构35第三章第三章 嵌入式应用系统开发嵌入式应用系统开发影响嵌入式系统开发过程的因素影响嵌入式系统开发过程的因素3.1生产成本生产成本处理能力处理能力存储器存储器开发费用开发费用批量批量预计的生命周期预计的生命周期可靠性可靠性功能需求功能需求36设计时重点需考虑以下几方面:设计时重点需考虑以下几方面:功能实用、便于升级:功能实用、便于升级:并发处理、及时响应:并发处理、及时响应:造型自然、结构紧凑:造型自然、结构紧凑:接口方便、操作容易:接口方便、操作容易:稳定可靠、维护简便:稳定可靠、维护简便:功耗管理、降低成本:功耗管理、降低成本:37嵌入式系统开发过
36、程嵌入式系统开发过程软硬件系统综合开发软硬件系统综合开发和和纯软件系统纯软件系统开发有很大区别开发有很大区别3.2开发特点:开发特点:任何一个嵌入式产品都是软硬件的结合体。任何一个嵌入式产品都是软硬件的结合体。一旦嵌入式产品研制完成,软件就已固化,用户不能修一旦嵌入式产品研制完成,软件就已固化,用户不能修改,即嵌入式软件的专用性。改,即嵌入式软件的专用性。38系统定义系统定义可行性研究可行性研究需求分析需求分析系统概要设计系统概要设计初步设计初步设计和一般应用系统设计过程基本一致和一般应用系统设计过程基本一致嵌入式系统开发过程嵌入式系统开发过程39系统定义:确定总目标,可行性,采用的策略,完成
37、的功能,所需资源系统定义:确定总目标,可行性,采用的策略,完成的功能,所需资源及成本,进度。及成本,进度。可行性研究:确定是否存在行之有效的方法解决上一阶段定义的关键可行性研究:确定是否存在行之有效的方法解决上一阶段定义的关键问题,决定该系统有无研制的必要。问题,决定该系统有无研制的必要。需求分析:确定功能需求、性能需求、环境需求。需求分析:确定功能需求、性能需求、环境需求。系统概要设计:总体设计。需要解决嵌入式系统的总体架构,从功能系统概要设计:总体设计。需要解决嵌入式系统的总体架构,从功能上对软硬件进行划分,选定处理器、上对软硬件进行划分,选定处理器、RTOS及开发平台。及开发平台。软硬件
38、划分软硬件划分-特别影响软件的设计和实现。特别影响软件的设计和实现。40初步设计初步设计硬件设计硬件设计硬件概要设计硬件概要设计硬件详细设计硬件详细设计硬件生产硬件生产硬件测试硬件测试软硬件集成软硬件集成性能测试性能测试软件设计软件设计软件概要设计软件概要设计软件详细设计软件详细设计软件实现软件实现软件测试软件测试41硬件概要设计:针对系统总体设计对硬件部分的描述,进一步确定各硬件概要设计:针对系统总体设计对硬件部分的描述,进一步确定各功能模块的详细特性、模块间关联的详细定义以及所选择的总线电路功能模块的详细特性、模块间关联的详细定义以及所选择的总线电路等。等。硬件详细设计:选定实现硬件功能框
39、图内的各个具体的器件,设计相硬件详细设计:选定实现硬件功能框图内的各个具体的器件,设计相应的周边电路,得到符合系统需求和硬件概要设计的电路原理图,进应的周边电路,得到符合系统需求和硬件概要设计的电路原理图,进一步生成实际的一步生成实际的PCB图。图。硬件制作:加工出印制电路板(硬件制作:加工出印制电路板(PCB),焊接),焊接/装配芯片,形成目标装配芯片,形成目标硬件并调试修改。硬件并调试修改。硬件测试:对制作出的硬件系统进行功能、性能等方面的测试和修硬件测试:对制作出的硬件系统进行功能、性能等方面的测试和修改,使其达到硬件设计目标。改,使其达到硬件设计目标。42软件设计实现:与硬件设计制作并
40、行。软件设计实现:与硬件设计制作并行。软硬件集成:将测试完成的软件系统装入制作好的硬件系统中,进软硬件集成:将测试完成的软件系统装入制作好的硬件系统中,进行系统综合测试,最后将正确无误的软件固化在目标硬件中。行系统综合测试,最后将正确无误的软件固化在目标硬件中。性能测试:测试最终完成的系统性能能否满足设计任务书的要求。性能测试:测试最终完成的系统性能能否满足设计任务书的要求。不应对硬件设计作过多修改,主要应该通过修改软件功不应对硬件设计作过多修改,主要应该通过修改软件功能来改善或调整系统性能。能来改善或调整系统性能。43嵌入式系统硬件开发嵌入式系统硬件开发嵌入式硬件的开发实际上是嵌入式硬件的开
41、发实际上是电子产品电子产品的开发的开发3.2传统的电子产品设计传统的电子产品设计固定功能元件电路板设计电子系统基于功能元件基于功能元件现代电子产品设计现代电子产品设计可编程逻辑器件芯片设计电路板设计电子系统基于芯片基于芯片44可编程逻辑器件可编程逻辑器件PLD熔断丝编程PROM20世纪世纪70年代年代可编程逻辑阵列PAL20世纪世纪70年代末年代末通用可编程阵列逻辑GAL20世纪世纪80年代初年代初现场可编程逻辑阵列FPGA20世纪世纪80年代中年代中20世纪世纪80年代末年代末复杂可编程CPLD器件20世纪世纪90年代年代PLD技术飞速发展技术飞速发展45电子设计自动化电子设计自动化EDA(
42、ElectronicDesignAutomation)以大规模可编程逻辑器件为设计载体,以以大规模可编程逻辑器件为设计载体,以硬件描硬件描述语言述语言HDL为主要表达方式,通过相应的开发软为主要表达方式,通过相应的开发软件工具,用软件的方式件工具,用软件的方式自动地完成自动地完成逻辑编译、化逻辑编译、化简、分割、综合、优化、布线、仿真以及对特定简、分割、综合、优化、布线、仿真以及对特定芯片的适配编译和编程工作,最终形成专用集成芯片的适配编译和编程工作,最终形成专用集成芯片。芯片。46EDA设计设计=系统级设计系统级设计+电子系统设计电子系统设计+PCB设计设计EDA设计不仅具有电子系统设计功能
43、,而且能提设计不仅具有电子系统设计功能,而且能提供独立于工艺和厂家的系统级设计能力,可以使供独立于工艺和厂家的系统级设计能力,可以使电子工程师在不熟悉各种半导体工艺的情况下,电子工程师在不熟悉各种半导体工艺的情况下,也能完成电子系统的设计。也能完成电子系统的设计。47EDA工具一般包括以下模块工具一般包括以下模块(1)设计输入:)设计输入:接收用户的设计描述完成语法、语接收用户的设计描述完成语法、语义正确性检查,并转换成义正确性检查,并转换成EDA内部数据格式存入数内部数据格式存入数据库。输入方式:原理图输入和据库。输入方式:原理图输入和HDL描述输入。描述输入。(2)数据库设计:)数据库设计
44、:用于存放系统提供的库单元、用于存放系统提供的库单元、用户的描述以及中间设计结果。用户的描述以及中间设计结果。(3)分析验证:)分析验证:完成对完成对EDA各层次(阶段)的模各层次(阶段)的模拟验证、规则检查和故障诊断。拟验证、规则检查和故障诊断。48(4)布线:)布线:实现由逻辑设计到物理设计的映射。实现由逻辑设计到物理设计的映射。(5)综合仿真:)综合仿真:完成完成EDA设计各层次综合仿设计各层次综合仿真,是软件描述与硬件实现的过渡,其过程就真,是软件描述与硬件实现的过渡,其过程就是将电子系统的设计描述转换成低级的、可与是将电子系统的设计描述转换成低级的、可与目标器件目标器件FPGA/CP
45、LD相映射的网表文件。相映射的网表文件。EDA工具一般包括以下模块工具一般包括以下模块49硬件描述语言硬件描述语言HDL用于设计硬件电子系统的用于设计硬件电子系统的计算机语言计算机语言用于描述电子系统的逻辑功能,电路结构和连接用于描述电子系统的逻辑功能,电路结构和连接方式。方式。利用利用EDA综合模块和适配模块将程序翻译成综合模块和适配模块将程序翻译成FPGA和和CPLD内部结构,从而实现相应硬件逻辑功能的内部结构,从而实现相应硬件逻辑功能的门级或更低层结构的网表文件。(编译连接过程)门级或更低层结构的网表文件。(编译连接过程)50EDA系统用户允许输入方式有:系统用户允许输入方式有:原理图输
46、入原理图输入:可控性好、效率高、直观;:可控性好、效率高、直观;HDL描述输入描述输入:使用方便、可移植性好:使用方便、可移植性好在实际的在实际的PLD/FPGA设计中,通常采用原设计中,通常采用原理图和理图和HDL结合的方法进行结合的方法进行51目前主要的目前主要的HDL有有VHDL超高速集成电路硬件描述语言超高速集成电路硬件描述语言(VeryHighSpeedIntegratedCircuitHDL)VerilogHDL前者语法严谨、发展较早,已成为电子设计领域通前者语法严谨、发展较早,已成为电子设计领域通用语言;用语言;后者语法自由、支持的后者语法自由、支持的EDA工具较多,初学者容易工
47、具较多,初学者容易上手,也容易出错。上手,也容易出错。52用用HDL开发开发PLD/FPGA的完整流程:的完整流程:(1)文本编辑)文本编辑:任何文本编辑器,也有专用:任何文本编辑器,也有专用HDL编辑器,保存文件格式不同。编辑器,保存文件格式不同。VHDL:.vhd,VerilogHDL:.v。(2)功能仿真)功能仿真:将文件调入:将文件调入HDL仿真软件进行仿仿真软件进行仿真,检查逻辑功能是否正确(前仿真)。真,检查逻辑功能是否正确(前仿真)。(3)逻辑综合)逻辑综合:将源文件调入逻辑综合软件进行综:将源文件调入逻辑综合软件进行综合,即将语言翻译成最简的布尔表达式,生成合,即将语言翻译成最
48、简的布尔表达式,生成.edf的的EDA工业标准文件。工业标准文件。53(5)时序仿真)时序仿真:验证电路时序(后仿真):验证电路时序(后仿真)(4)布局布线)布局布线:将:将.edf文件调入文件调入PLD厂家提供的厂家提供的软件中进行布线,将设计逻辑安放到软件中进行布线,将设计逻辑安放到PLD/FPGA内。内。用用HDL开发开发PLD/FPGA的完整流程:的完整流程:54知识产权核知识产权核IntellectualPropertyCore简称简称Ipcore模块模块是一种预先设计好的甚至已经经过验证的具有某是一种预先设计好的甚至已经经过验证的具有某种特定功能的集成电路、器件或部件。种特定功能的
49、集成电路、器件或部件。三个层次对应三种不同程度的设计三个层次对应三种不同程度的设计软知识产权核软知识产权核SoftIPCore行为(行为(Behavior)固知识产权核固知识产权核FirmIPCore结构(结构(Structure)硬知识产权核硬知识产权核HardIPCore物理(物理(Physical)55嵌入式系统软件开发嵌入式系统软件开发在传统的软件工程方法基础上,增加实时、并发在传统的软件工程方法基础上,增加实时、并发等设计技术而形成。等设计技术而形成。软件开发的发展(历程)软件开发的发展(历程)Parnas方法方法,1972提出最早的软件开发方法。基本原则是:提出最早的软件开发方法。基本原则是:信息隐蔽原则:每个模块应该隐藏可能会改变的设计结果。信息隐蔽原则:每个模块应该隐藏可能会改变的设计结果。异常处理原则:在软件设计时应对可能发生的种种意外故障异常处理原则:在软件设计时应对可能发生的种种意外故障采取措施。采取措施。3.356E.Yourdon方法方法,1978,结构化软件开发方法。,结构化软件开发方法。SASD方法,方法,面向功能的软件开发或面向数据流的软件开发方法。特点:面向功能的软件开发或面向数据流的软件开发方法。特点:用结构化分析(用结构化分析(SA)对软件进行需求分析;)对软件进行需求分析;用结构化设计(用结构化设计(SD)对软件进行总体设计;)对软件进行总