二、嵌入式系统基本概念_第1页
二、嵌入式系统基本概念_第2页
二、嵌入式系统基本概念_第3页
二、嵌入式系统基本概念_第4页
二、嵌入式系统基本概念_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

1、1嵌入式系统嵌入式系统第二讲第二讲 基本概念及设计方法基本概念及设计方法2本节提要本节提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式嵌入式BSP的基本概念的基本概念嵌入式系统软件基础嵌入式系统软件基础嵌入式系统设计方法嵌入式系统设计方法一个嵌入式设计方法实例一个嵌入式设计方法实例3l冯冯诺依曼体系结构和哈佛体系结构诺依曼体系结构和哈佛体系结构lCISCCISC与与RISCRISCl影响影响CPUCPU性能的因素性能的因素l存储器系统存储器系统lI/OI/O接口接口一、嵌入式系统硬件基础一、嵌入式系统硬件基础4典型嵌入式系统基本组成硬件典型嵌入式系统基本组成硬件MPUMPU微处理器微处理器电源电

2、源模块模块时钟时钟复位复位FlashFlashRAMRAMROMROMUSBUSBLCDLCDKeyboardKeyboard外围电路外围电路OtherOther外设外设51.1 冯冯诺依曼体系结构模型诺依曼体系结构模型指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4数据数据数据数据0 0数据数据1 1数据数据2 261.2 哈佛体系结构哈佛体系结构指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器程序存储器程序存储器指令指令0指令指令

3、1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据71.3 CISC和和RISCCISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。RISCRISC:精简指令集(:精简指令集(Reduced Instruction Set C

4、omputer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单 81.4 影响影响CPU性能的因素:流水线、超标量和缓存性能的因素:流水线、超标量和缓存流水线技术:几个指令可以并行执行流水线技术:几个指令可以并行执行 提高了提高了CPU的运行效率的运行效率 内部信息流要求通畅流动内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp9超标量执行超标量执行超标

5、量执行:超标量超标量执行:超标量CPU采用多条流水线结构采用多条流水线结构 执行1预取指令CACHE译码2译码1执行2执行1预取译码2译码1执行2流水线1流水线2数据10高速缓存(高速缓存(CACHE)1 1、为什么采用高速缓存、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。提高内存的平均性能。2 2、高速缓存的工作原理、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。容的拷贝。 CPU高速缓存控制器CACHE主存数

6、据数据地址11总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线121.5 存储器系统存储器系统RAMRAM:随机存取存储器,:随机存取存储器, SRAMSRAM:静态随机存储器,:静态随机存储器, DRAMDRAM:动态随机存储器动态随机存储器 1 1)SRAMSRAM比比DRAMDRAM快快 2 2)SRAMSRAM比比DRAMDRAM耗电多耗电多 3 3)DRAMDRAM存储密度比存储密度比SRAMSRAM高得多高得多 4 4)DRMDRM需要周期性刷新需要周期性刷新ROMROM:只读存储器:只读存储器FLASHFLASH:闪存:闪存13SRAM和和DRA

7、M1)SRAM 2)DRAMCSR/WAddrDataCSR/WCASDataRASAddr14输入输出接口输入输出接口lI/OI/OlA/DA/D、D/AD/Al键盘键盘lLCDLCDl存储器接口存储器接口l设备接口设备接口15例如例如USBUSBlUSBUSB:Universal Serial BusUniversal Serial Bus,通用串行总线,通用串行总线l大家生活中常见的与大家生活中常见的与USBUSB有关的东西有:有关的东西有:uU U盘、移动硬盘、无驱型的盘、移动硬盘、无驱型的MP3MP3(U U盘)盘)uUSBUSB接口的键盘、接口的键盘、MouseMouse、打印机、

8、数码相机、打印机、数码相机l即插即用,热插拨,系统不需重启便可工作,且易于扩展即插即用,热插拨,系统不需重启便可工作,且易于扩展(127127个)个)lUSB2.0USB2.0以低成本实现高达以低成本实现高达480Mb/s480Mb/s的传输率(的传输率(USB1.1USB1.1的全速的全速设备可达设备可达12Mb/s12Mb/s)l接口标准统一、端口供电接口标准统一、端口供电16一个典型的一个典型的USBUSB通讯系统通讯系统HOST系统HUBDEVICEDDEVICE应用软件+驱动程序Ms.Win+接口芯片HUBU盘其他数据采集器驱动代码+嵌入式处理器+HOST芯片HUBU盘其他数据采集器

9、通用系统模型PC机中的情况嵌入式系统应用17本节提要本节提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式嵌入式BSP的基本概念的基本概念嵌入式系统软件基础嵌入式系统软件基础嵌入式系统设计方法嵌入式系统设计方法一个嵌入式设计方法实例一个嵌入式设计方法实例18二、嵌入式系统软件基础二、嵌入式系统软件基础l操作系统的分类操作系统的分类l嵌入式实时操作系统嵌入式实时操作系统l前台与后台前台与后台l多任务,任务优先级,调度多任务,任务优先级,调度l非占先式与占先式、可重入型函数非占先式与占先式、可重入型函数193.1 操作系统的分类操作系统的分类(1 1)顺序执行系统:系统内只含有一个程序,独占)顺序执行

10、系统:系统内只含有一个程序,独占CPUCPU的运的运行时间,按语句顺序执行该程序,直至执行完毕,另一程行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如序才能启动运行。如DOSDOS操作系统。操作系统。(2 2)分时操作系统:系统内同时可以有多个程序运行,把)分时操作系统:系统内同时可以有多个程序运行,把CPUCPU的时间分按顺序分成若干片,每个时间片内执行不同的时间分按顺序分成若干片,每个时间片内执行不同的程序。如的程序。如UNIXUNIX(3 3)实时操作系统:系统内有多个程序运行,每个程序有)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任

11、务才能占有不同的优先级,只有最高优先级的任务才能占有CPUCPU的控的控制权。制权。20按实时性分类按实时性分类l强实时系统,其系统响应时间在强实时系统,其系统响应时间在毫秒或微秒级毫秒或微秒级(数控(数控机床);机床);l一般实时系统,其系统响应时间在一般实时系统,其系统响应时间在毫秒几秒的数量毫秒几秒的数量级上级上,其实时性的要求比强实时系统要差一些(电子菜谱,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。的查询)。l弱实时系统,其系统响应时间约为弱实时系统,其系统响应时间约为数十秒数十秒或或更长(工更长(工程机械)。程机械)。211 1)循环轮询系统:()循环轮询系统:(Poll

12、ing LoopPolling Loop)最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。件,一旦条件成立就进行相应的处理。Initialize()While(true) if(condition_1) action_1(); if(condition_2) action_2(); if(condition_n) acition_n();按软件结构分类按软件结构分类222 2)事件驱动系统:()事件驱动系统:(Event-Driven systemEvent-Driven system)事件驱

13、动系统是能对外部事件直接响应的系统。它包括前后台、事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是实时多任务、多处理器等,是嵌入式实时系统的主要形式嵌入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(操作,这部分可以看成后台行为(backgroundbackground)。中断服务程序处理)。中断服务程序处理异步事件,这部分可以看成前台行为(异步事件,这部分可以看成前台行为(foreground)foreground)。后台也可以叫做任务级,前台

14、也叫后台也可以叫做任务级,前台也叫中断级中断级。例如,很多基于微处理器的产品采用前后台系统设计,如例如,很多基于微处理器的产品采用前后台系统设计,如微波炉微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。,所有的事都靠中断服务来完成。23前后台系统(后台循环、前台中断)前后台系统(后台循环、前台中断)ISRISR后台后台 前台前台ISR时间时间24l代码的临界区也称为临界区,指处理时不可分割的代码。代码的临界区也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入

15、。一旦这部分代码开始执行,则不允许任何中断打入。l在进入临界区之前要关中断,而临界区代码执行完以后要在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。堆栈保护)。代码的临界区代码的临界区25多任务(任务、进程和线程)多任务(任务、进程和线程)CPUCPU寄存器寄存器任务任务控制控制块块1 1任务任务控制控制块块2 2任务任务控制控制块块n n休眠、就绪、运行、挂起、被中断休眠、就绪、运行、挂起、被中断任务任务1 1任务任务2 2任务任务n nCPUCPU寄存器寄存器26一个任务,也称

16、作一个线程,是一个简单的运行一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,赋予一定的优先级, 有它自己的一套有它自己的一套CPUCPU寄存器和自己寄存器和自己的栈空间。的栈空间。多任务运行的实现实际上是靠多任务运行的实现实际上是靠CPUCPU(中央处理单元(中央处理单元)在许多任务之间转换、调度。)在许多任务之间转换、调度。 CPUCPU只有一个,轮番服务于一系列任务中的某一只有一个,轮番服务于一系列任务中的某一个。多任务运行使个。多任务运行使CPUCPU的利用率得到最大的发挥,并使的

17、利用率得到最大的发挥,并使应用程序模块化。应用程序模块化。在实际应用中,多任务的最大特点是,开发人员在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化综合实验(时钟、位可以将很复杂的应用程序层次化综合实验(时钟、位图、图、USBUSB、KEYKEY)。)。27任务的状态任务的状态R RU UN NN NI IN NG GR RE EA AD DY YO OS ST Ta as sk kC Cr re ea at te e( () )O OS ST Ta as sk kC Cr re ea at te eE Ex xt t( () )T Ta as sk k i is s P

18、 Pr re ee em mp pt te ed dO OS SM MB Bo ox xP Pe en nd d( () )O OS SQ QP Pe en nd d( () )O OS SS Se em mP Pe en nd d( () )O OS ST Ta as sk kS Su us sp pe en nd d( () )O OS ST Ti im me eD Dl ly y( () )O OS ST Ti im me eD Dl ly yH HM MS SM M( () )O OS SM MB Bo ox xP Po os st t( () )O OS SQ QP Po os st

19、 t( () )O OS SQ QP Po os st tF Fr ro on nt t( () )O OS SS Se em mP Po os st t( () )O OS ST Ta as sk kR Re es su um me e( () )O OS ST Ti im me eD Dl ly yR Re es su um me e( () )O OS ST Ti im me eT Ti ic ck k( () )O OS ST Ta as sk kD De el l( () )D DO OR RM MA AN NT TW WA AI IT TI IN NG GO OS SS St ta

20、 ar rt t( () )O OS SI In nt tE Ex xi it t( () )O OS S_ _T TA AS SK K_ _S SW W( () )O OS ST Ta as sk kD De el l( () )O OS ST Ta as sk kD De el l( () )I In nt te er rr ru up pt tO OS SI In nt tE Ex xi it t( () )I IS SR R28系统内核(系统内核(Kernel)与调度(与调度(Scheduler)l多任务系统中,内核负责管理各个任务,或者说为每个任多任务系统中,内核负责管理各个任务,或

21、者说为每个任务分配务分配CPUCPU时间,并且负责任务之间的通信。时间,并且负责任务之间的通信。l内核提供的基本服务是任务切换。内核本身也增加了应用内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加程序的额外负荷,代码空间增加ROMROM用量,内核本身的数用量,内核本身的数据结构增加了据结构增加了RAMRAM的用量。内核本身对的用量。内核本身对CPUCPU的占用时间一般的占用时间一般在在2 2到到5 5个百分点之间。个百分点之间。l调度(调度(SchedulerScheduler)是内核的主要职责之一,就是要决定)是内核的主要职责之一,就是要决定该轮到哪个任务运行了

22、。多数实时内核是基于优先级调度该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法指,级。基于优先级的调度法指,CPUCPU总是让处在就绪态的优总是让处在就绪态的优先级最高的任务先运行。先级最高的任务先运行。29非占先式与占先式非占先式与占先式非占先式(非占先式(non-preemptivenon-preemptive)非占先式调度法也称作非占先式调度法也称作合作型多任务合作型多任务(cooperative cooperative multitaskingmultitaski

23、ng),各个任务彼此合作),各个任务彼此合作共享一个共享一个CPUCPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃,直到该任务主动放弃CPUCPU的使用权时,那个高优先级的任务才的使用权时,那个高优先级的任务才能获得能获得CPUCPU的使用权。的使用权。非占先式内核的非占先式内核的一个特点一个特点是几乎不需要使用信号量保护共是几乎不需要使用信号量保护共享数据。运行着的任务占有享数据。运行着的任务占有CPU

24、CPU,而不必担心被别的任务抢占。,而不必担心被别的任务抢占。非占先式内核的非占先式内核的最大缺陷最大缺陷在于其响应高优先级的任务慢,在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放前运行着的任务释放CPUCPU。内核的任务级响应时间是不确定的内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到不知道什么时候最高优先级的任务才能拿到CPUCPU的控制权,完全的控制权,完全取决于应用程序什么时候释放取决于应用程序什么时候释放CPUCPU。30非占先式非占先式(Non-P

25、reemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪低优先级任务释放低优先级任务释放CPU使用权使用权TIME31当系统响应时间很重要时,要使用占先式(当系统响应时间很重要时,要使用占先式(preemptivepreemptive)内核。最高优先级的任务一旦就绪,总)内核。最高优先级的任务一旦就绪,总能得到能得到CPUCPU的控制权。的控制权。当一个运行着的任务使一个比它优先级高的任务当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的进入了就绪态,当前任务

26、的CPUCPU使用权就被剥夺了,或使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了者说被挂起了,那个高优先级的任务立刻得到了CPUCPU的的控制权。控制权。使用占先式内核时,应用程序不应直接使用不可使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的重入型函数。如果调入可重入型函数时,低优先级的任务任务CPUCPU的使用权被高优先级任务剥夺,的使用权被高优先级任务剥夺,不可重入型函不可重入型函数中的数据有可能被破坏。数中的数据有可能被破坏。占先式(占先式(preemptive)32占先式占先式(Preemptive)低优先级任务低优先级任务IS

27、R高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪高优先级任务得到高优先级任务得到CPU使用权使用权TIME33可以被一个以上的任务调用,而不必担心数据的破坏。可重可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在在CPUCPU寄存器中或堆栈中。寄存器中或堆栈中。一个不可重入型函数的例子一个

28、不可重入型函数的例子int Temp;int Temp;Void swap (int Void swap (int * *x,int x,int * *y)y) Temp=Temp=* *x;x;* *X=X=* *Y;Y;* *y=Temp;y=Temp; 可重入型函数可重入型函数34一个可重入型函数的例子一个可重入型函数的例子Void swap (int *x,int*y)int Temp;Temp=*x;*X=*Y;*y=Temp;35任务优先级任务优先级l静态优先级静态优先级 应用程序执行过程中诸任务优先级不变,则称之为应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先

29、级系统中,诸任务以及它们的静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的时间约束在程序编译时是已知的 l动态优先级动态优先级 应用程序执行过程中,任务的优先级是可变的,则应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转称之为动态优先级。实时内核应当避免出现优先级反转问题。问题。 36优先级反转优先级反转Task 1 (H)Task 2 (M)Task 3 (L)Priority InversionTask 3 Get SemaphoreTask 1 Preempts Task 3Task 1 Tries to get S

30、emaphoreTask 2 Preempts Task 3Task 3 ResumesTask 3 Releases the Semaphore( (1 1) )( (2 2) )( (3 3) )( (4 4) )( (5 5) )( (6 6) )( (7 7) )( (8 8) )( (9 9) )( (1 10 0) )( (1 11 1) )( (1 12 2) )37信号量信号量(Semaphore)l信号量是信号量是6060年代中期年代中期Edgser Dijkstra Edgser Dijkstra 发明的。信号发明的。信号量实际上是一种约定机制,在多任务内核中普遍使用量实际

31、上是一种约定机制,在多任务内核中普遍使用. .信号量用于信号量用于:u控制共享资源的使用权控制共享资源的使用权( (满足互斥条件满足互斥条件) )u标志某事件的发生标志某事件的发生u使两个任务的行为同步使两个任务的行为同步l信号与信号量在英文中都叫做信号与信号量在英文中都叫做SemaphoreSemaphore,并不加以区,并不加以区分,而说它有两种类型,二进制型分,而说它有两种类型,二进制型(binary)(binary)和计数器型和计数器型(counting) (counting) 38二进制信号量二进制信号量39计数式信号量计数式信号量40死锁死锁(或抱死或抱死) Deadlock 死锁

32、也称作抱死,指两个任务无限期地互相等待对方控制死锁也称作抱死,指两个任务无限期地互相等待对方控制着的资源。设任务着的资源。设任务T1T1正独享资源正独享资源R1R1,任务,任务T2T2在独享资源在独享资源T2T2,而此时,而此时T1T1又要独享又要独享R2R2,T2T2也要独享也要独享R1R1,于是哪个任务都,于是哪个任务都没法继续执行了,发生了死锁。最简单的防止发生死锁的没法继续执行了,发生了死锁。最简单的防止发生死锁的方法是让每个任务都:方法是让每个任务都:l先得到全部需要的资源再做下一步的工作先得到全部需要的资源再做下一步的工作l用同样的顺序去申请多个资源用同样的顺序去申请多个资源l释放

33、资源时使用相反的顺序释放资源时使用相反的顺序 41任务同步任务同步42l全程变量或共享内存全程变量或共享内存l邮箱或消息队列邮箱或消息队列 任务间的通讯任务间的通讯(Intertask Communication)43全程变量全程变量l用全程变量时,必须保证每个任务或中断服务程序独享用全程变量时,必须保证每个任务或中断服务程序独享该变量。该变量。l中断服务中保证独享的唯一办法是关中断。中断服务中保证独享的唯一办法是关中断。l如果两个任务共享某变量,各任务实现独享该变量的办如果两个任务共享某变量,各任务实现独享该变量的办法可以是关中断再开中断,或使用信号量法可以是关中断再开中断,或使用信号量 4

34、4消息邮箱消息邮箱45消息队列消息队列T TA AS SK KI IS SR RP PO OS ST TP PE EN ND DQ Qu ue eu ue eI In nt te er rr ru up pt t01046本节提要本节提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式嵌入式BSP的基本概念的基本概念嵌入式系统软件基础嵌入式系统软件基础嵌入式系统设计方法嵌入式系统设计方法一个嵌入式设计方法实例一个嵌入式设计方法实例47嵌入式系统的软/硬件框架机械装置机械装置嵌入式嵌入式微处理器微处理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人机交互接口人机交互接口通用接口

35、通用接口实时操作系统(实时操作系统(RTOS)RTOS)图形用户图形用户接口接口BSP/HAL 硬件抽象层/板极支持包BSP/HAL 硬件抽象层/板极支持包任务管理任务管理文件系统文件系统应用程序应用程序嵌入式计算机系统嵌入式计算机系统传感器1传感器1传感器2传感器2传感器N传感器N.驱动器1驱动器1驱动器2驱动器2驱动器N驱动器N.硬件层硬件层软件层软件层中间层中间层功能层功能层被控对象被控对象48嵌入式系统设计步骤l系统需求分析系统需求分析:确定设计任务和设计目标,并提炼出设计规格说:确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能明书,作

36、为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。、功耗、体积、重量等因素。l体系结构设计体系结构设计:描述系统如何实现所述的功能和非功能需求,包:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。型等。

37、一个好的体系结构是设计成功与否的关键。l硬件硬件/ /软件协同设计软件协同设计:基于体系结构,对系统的软件、硬件进行详:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。应该说,细设计。为了缩短产品开发周期,设计往往是并行的。应该说,嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。方法。l系统集成系统集成:把系统的软件、硬件和执行装置集成在一起,进行调:把系统的软件、硬件和执行装

38、置集成在一起,进行调试,发现并改进单元设计过程中的错误。试,发现并改进单元设计过程中的错误。l系统测试系统测试:对设计好的系统进行测试,看其是否满足规格说明书:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。中给定的功能要求。49嵌入式开发工具与开发环境嵌入式开发工具与开发环境50开发平台简介开发平台简介51开始新工程编辑源代码交叉编译连接仿真调试程序下载台式/笔记本式PC机并口JTAG仿真器网络接口JTAG接口USB接口串口0ARM300开发板串口USB接口以太网口ARMSDTDebugArmDvkARM7处理器执行监测结果超级终端ARM300开发板实验流程结束嵌入式软件开发

39、流程嵌入式软件开发流程52开发平台简介开发平台简介网口JTAGUSB串口0扩展板接口ARM微处理器S3C44B0X扩展口2网卡JTAG仿真器ARM300开发板集成开发环境运行平台53几种常用的开发方法几种常用的开发方法l指令集模拟器指令集模拟器 一种利用一种利用PCPC机端的仿真开发软件模拟调试的方法。机端的仿真开发软件模拟调试的方法。l驻留监控软件驻留监控软件 驻留监控程序运行在目标板上,驻留监控程序运行在目标板上,PCPC机端调试软件可通过并口、串机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置

40、等任务点设置等任务lJTAGJTAG仿真器仿真器 通过通过ARMARM芯片的芯片的JTAGJTAG边界扫描口与边界扫描口与ARMARM核进行通信,不占用目标板核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段的资源,是目前使用最广泛的调试手段l在线仿真器在线仿真器 使用仿真头代替目标板上的使用仿真头代替目标板上的CPUCPU,可以完全仿真,可以完全仿真ARMARM芯片的行为。芯片的行为。但结构较复杂,价格昂贵,通常用于但结构较复杂,价格昂贵,通常用于ARMARM硬件开发中硬件开发中54本节提要本节提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式嵌入式BSP的基本概念的基本概念嵌入式系统软

41、件基础嵌入式系统软件基础嵌入式系统设计方法嵌入式系统设计方法一个嵌入式设计方法实例一个嵌入式设计方法实例55工程机械体系结构可靠设计环境分析成本计算芯片选择设计接口调试关键技术主要系统平地平地机机环境可靠性实验装载装载机机搅拌搅拌机机挖掘挖掘机机 软件选择开发摊铺摊铺机机压路压路机机四、嵌入式设计方法实例四、嵌入式设计方法实例工程机械监控器工程机械监控器56l需求分析与评估需求分析与评估l功能定义与软硬件选型功能定义与软硬件选型l概要设计与软硬件划分概要设计与软硬件划分l软硬件协同详细设计软硬件协同详细设计l集成调试集成调试l维护与升级维护与升级设计步骤设计步骤57工程机械方面应用工程机械方面

42、应用 工程机械六大市场领域,均符合国家经济发展四大战略所规定工程机械六大市场领域,均符合国家经济发展四大战略所规定的资金投向,的资金投向,500500亿投资,一个企业仅装载机销售亿投资,一个企业仅装载机销售70007000台。台。发展国家基础设施建设发展国家基础设施建设 西部大开发西部大开发 发展城乡化发展城乡化 可持续发展可持续发展 交通运输交通运输 能源工业能源工业原材料工业原材料工业 农林水利农林水利 城乡建设城乡建设国防工程建设国防工程建设工工程程机机械械4.1 4.1 需求分析与评估需求分析与评估58沥青路面施工机群沥青路面施工机群59l资源配置不合理,施工过程施工过程质量、进资源配

43、置不合理,施工过程施工过程质量、进度控制不到位;度控制不到位;l设备运行状况不能及时掌握,故障不能及时排设备运行状况不能及时掌握,故障不能及时排除;除;l分期付款控制技术;分期付款控制技术;l智能控制,动力平衡,安全操作智能控制,动力平衡,安全操作存在突出问题存在突出问题60l监控器最重要,及时掌握设备运行状况,并进行必要故障监控器最重要,及时掌握设备运行状况,并进行必要故障诊断;诊断;l其次是智能控制,动力平衡,安全操作;其次是智能控制,动力平衡,安全操作;lGPSGPS定位与定位与GSMGSM通讯,是一个很好演示,尽量选用汽车使用通讯,是一个很好演示,尽量选用汽车使用模块;模块;l协同控制

44、,机群化资源配置,并提高施工过程施工过程质协同控制,机群化资源配置,并提高施工过程施工过程质量,控制进度,目前仅仅是一个发展方向,还不实用。量,控制进度,目前仅仅是一个发展方向,还不实用。l监控器成本,建议控制在监控器成本,建议控制在2000200030003000元,才有竞争力。元,才有竞争力。l开发时间,开发时间,6 6个月个月主要需求主要需求614.2 4.2 功能定义与软硬件选型功能定义与软硬件选型l8 81010台单机智能化,搅拌机、装载机、自卸机、摊铺机台单机智能化,搅拌机、装载机、自卸机、摊铺机、压路机等,设计具有、压路机等,设计具有GPS/GSMGPS/GSM监控器监控器; ;

45、l建立通讯网络建立通讯网络l设立机群化控制中心,数据库、显示屏、施工调度算法设立机群化控制中心,数据库、显示屏、施工调度算法、工艺文件管理等;、工艺文件管理等;l单机智能化采用监控器,网络通讯采用现成设备,中继单机智能化采用监控器,网络通讯采用现成设备,中继站或短消息,控制中心站或短消息,控制中心PCPC,数据库,数据库MsMsSQLSQL,投影仪等;,投影仪等;l其中这里讨论智能化监控器其中这里讨论智能化监控器62机群通讯与定位方案机群通讯与定位方案63设备制造商设备制造商设备使用商设备使用商InternetInternet中央控制室中央控制室 搅拌站搅拌站GPSGPS移动通讯车移动通讯车无

46、线电台无线电台Wireless netWireless net无线电台无线电台压路机压路机无线电台无线电台摊铺机摊铺机无线电台无线电台转运车转运车GPSGPS自卸卡车自卸卡车机群智能化通讯方案图机群智能化通讯方案图GPSGPSGPSGPSGPSGPS“ ”表示因特网表示因特网“ ”表示无线以太网表示无线以太网“ ”表示物料转运方向表示物料转运方向64该课题的研究目标该课题的研究目标l研究智能化的监控器:研究智能化的监控器:u可视化,多级界面可视化,多级界面u可控化,具有人机接口可控化,具有人机接口u内嵌的故障诊断,结合数据库进行内嵌的故障诊断,结合数据库进行u通讯功能通讯功能l通过实际测试,提

47、高其可靠性,产品化通过实际测试,提高其可靠性,产品化l降低成本,提高性能,最终取代国外产品降低成本,提高性能,最终取代国外产品4.3 4.3 概要设计与软硬件划分概要设计与软硬件划分65国外同类产品国外同类产品66工程机械智能监控器的功能工程机械智能监控器的功能67监控器的硬件选型监控器的硬件选型CPUCPUl3232位位CPUCPU将成为未来各种电子设备的核心将成为未来各种电子设备的核心lARMARM系列具有精简指令集,在各种行业中已经获得了广系列具有精简指令集,在各种行业中已经获得了广泛的应用泛的应用l各种开发、仿真支持工具比较完善,国内也应经形成各种开发、仿真支持工具比较完善,国内也应经

48、形成了开发热潮了开发热潮68监控器的硬件设计方法监控器的硬件设计方法-1-1l接口:串行口、接口:串行口、CANCAN总线是主要的通讯接口总线是主要的通讯接口l功能:首先是自动显示状态参数、报警,并具有通讯功能:首先是自动显示状态参数、报警,并具有通讯功能。功能。l以通用硬件平台为基础以通用硬件平台为基础l首先平台对于监控器开发适用:人机接口、通讯扩展首先平台对于监控器开发适用:人机接口、通讯扩展等等l已有的研发工作使我们的开发更为快捷已有的研发工作使我们的开发更为快捷l而且硬件可以裁减、扩充而且硬件可以裁减、扩充 69监控器的硬件设计方法监控器的硬件设计方法l在这一平台上我们进行功能裁减、扩

49、充在这一平台上我们进行功能裁减、扩充 CANCAN总线扩充总线扩充l扩展性能扩展性能uI/OI/O接口预留,接口预留,A/DA/D口预留,必要时可以扩展采集数口预留,必要时可以扩展采集数据据u总线预留,便于使用总线扩展芯片扩展接口总线预留,便于使用总线扩展芯片扩展接口70监控器的硬件结构监控器的硬件结构lARMARM为为CPUCPU,M M内存,内存,16MFLASH16MFLASH存储器存储器l两个两个UARTUART分别连接分别连接GPSGPS、GSMGSM模块模块lUSBUSB高速下载,高速下载,JTAGJTAG调试口调试口l扩展扩展CANCAN总线接口总线接口71监控器的软件需求分析监

50、控器的软件需求分析监控器软件的特点:监控器软件的特点:l图形界面重要:数字化仪表、模拟显示仪表图形界面重要:数字化仪表、模拟显示仪表l加强操作性能:可以控制、菜单显示加强操作性能:可以控制、菜单显示l多种方式报警:声、图像显示多种方式报警:声、图像显示l通讯功能强大:本地通讯和近远程通信通讯功能强大:本地通讯和近远程通信72操作系统选型分析操作系统选型分析操作系统选型主要考虑如下几个方面:操作系统选型主要考虑如下几个方面:l辆设备要求实时操作系统辆设备要求实时操作系统l外设很多,所以必须支持多任务外设很多,所以必须支持多任务l根据不同的车辆软件可裁剪根据不同的车辆软件可裁剪l开发工具要完善,能

51、够快捷的开发开发工具要完善,能够快捷的开发73监控器的软件设计方法监控器的软件设计方法采用采用 COS-IICOS-II作为操作系统作为操作系统l 它是一个实时内核它是一个实时内核l 支持多任务管理支持多任务管理l 扩展的文件管理系统扩展的文件管理系统l 扩展的各种设备驱动扩展的各种设备驱动l 免费使用免费使用74工程机械智能监控器体系结构工程机械智能监控器体系结构75设计智能化监控器的指导思想设计智能化监控器的指导思想l功能和可靠性是工程机械监控器的两大要素,必须在两者之间寻找功能和可靠性是工程机械监控器的两大要素,必须在两者之间寻找一个契合点。一个契合点。l可靠性设计要求:一体化设计,软件

52、精简可靠性设计要求:一体化设计,软件精简l基本功能软件考虑:模板设计,实用简单基本功能软件考虑:模板设计,实用简单 解决的方法:解决的方法:l列举各种功能,保留必要,去除冗余,插接可靠列举各种功能,保留必要,去除冗余,插接可靠l构件设计,对象封装,功能的模块化,软件的模板化,便于调用。构件设计,对象封装,功能的模块化,软件的模板化,便于调用。l使技术人员能够快速编程学习使技术人员能够快速编程学习4.44.4软硬件协同详细设计软硬件协同详细设计76l划分功能模块:系统驱动模块、通讯模块、图形显示模块、划分功能模块:系统驱动模块、通讯模块、图形显示模块、数据处理模块等,在大的模块下面又分为小的模块

53、。数据处理模块等,在大的模块下面又分为小的模块。l根据功能加减模块:比如机群智能化就要求具有根据功能加减模块:比如机群智能化就要求具有GPSGPS和和GSMGSM功功能模块,而在以后的复杂机器中还要有控制功能模块等。能模块,而在以后的复杂机器中还要有控制功能模块等。模块化设计方法模块化设计方法77l首先作出一台机器的软件,对其进行提炼作为系统模板:比首先作出一台机器的软件,对其进行提炼作为系统模板:比如首先设计摊铺机的软件,根据它提炼功能模块,并设计压如首先设计摊铺机的软件,根据它提炼功能模块,并设计压路机和装载机的软件。路机和装载机的软件。l软件模板要求结构清晰,我们的软件模板简单结构如下图

54、,软件模板要求结构清晰,我们的软件模板简单结构如下图,用户可以根据该模板并参考程序添加代码,完成专用机型的用户可以根据该模板并参考程序添加代码,完成专用机型的软件。软件。模板化使用方法模板化使用方法78监控器的功能要求监控器的功能要求l能实时接受总线信息能实时接受总线信息(CAN)(CAN),简单处理后在液晶屏上动,简单处理后在液晶屏上动态刷新态刷新l能够针对息进行故障诊断、可以自动报警能够针对息进行故障诊断、可以自动报警( (液晶屏液晶屏) )l接受接受GPSGPS地理位置信息,确定当前位置地理位置信息,确定当前位置l定时发送定时发送GSMGSM信息,包括地理、状态信息,接收中心站信息,包括

55、地理、状态信息,接收中心站的的GSMGSM指令指令l手动输入故障和需要停机时间手动输入故障和需要停机时间79监控器的功能模块监控器的功能模块1.GPS1.GPS数据处理:使用数据处理:使用NMEA0183NMEA01832.GSM2.GSM数据处理:使用数据处理:使用ATAT指令集指令集3.CAN3.CAN总线数据处理总线数据处理4.4.键盘消息处理键盘消息处理5.5.数据显示数据显示6.GSM6.GSM数据发送:使用数据发送:使用GSMGSM模块模块80软件的实现和技巧软件的实现和技巧采用多任务采用多任务l任务一:串行口扫描任务一:串行口扫描由于由于GPSGPS每秒向串行口发送数据,每秒向串

56、行口发送数据,GSMGSM指令也送入串指令也送入串行口,因此系统扫描串行口,处理进入信息。行口,因此系统扫描串行口,处理进入信息。l任务二:任务二:CANCAN总线扫描总线扫描系统每隔几个毫秒扫描系统每隔几个毫秒扫描CANCAN总线的总线的SJA1000SJA1000内部寄存内部寄存器,查询是否有新的信息。器,查询是否有新的信息。l任务三:键盘扫描任务三:键盘扫描作为人机接口的重要部分,键盘扫描可以手工输入指作为人机接口的重要部分,键盘扫描可以手工输入指令,查询系统信息。令,查询系统信息。81软件的实现和技巧软件的实现和技巧lCANCAN总线消息的管理,屏蔽一部分无关参量,根据信息号总线消息的

57、管理,屏蔽一部分无关参量,根据信息号执行功能。执行功能。l液晶显示刷新的处理:区域刷新可以提高显示刷新速度液晶显示刷新的处理:区域刷新可以提高显示刷新速度lGPSGPS数据的处理:将地理信息直接发送到主机处理数据的处理:将地理信息直接发送到主机处理lGSMGSM通讯的处理:需要作通讯的处理:需要作UnicodeUnicode字符转换字符转换 82监控器实际效果图监控器实际效果图83安装在压路机上的通用智能监控器安装在压路机上的通用智能监控器844.5 集成调试集成调试l首先模拟调试首先模拟调试 如使用如使用CANCAN口的单片机以及串行口模拟口的单片机以及串行口模拟l模块化的调试模块化的调试

58、各功能模块分开调试各功能模块分开调试l采用可信端调试采用可信端调试 比如相对主板,单片机已经测试过,可以作为稳定可靠的比如相对主板,单片机已经测试过,可以作为稳定可靠的设备设备l多板调试多板调试 采用多块备用板进行对比采用多块备用板进行对比, , 解决调试中的问题解决调试中的问题l联合调试联合调试 在模块化调试完成后再进行联合调试在模块化调试完成后再进行联合调试8586项目验收项目验收87监控器存在的问题和解决思路监控器存在的问题和解决思路l外部干扰问题外部干扰问题u铁壳屏蔽是一种解决思路铁壳屏蔽是一种解决思路u另外电源是关键另外电源是关键, ,采用优质电源模块采用优质电源模块l可靠性设计可靠性设计u插接件的问题插接件的问题u一体化设计一体化设计u连接连接 4.6 维护与升级维护与升级88监控器存在的问题和解决思路监控器存在的问题和解决思路l数据处理和液晶刷新协调数据处理和液晶刷新协调 刷新的频率调整刷新的频率调整 数据处理减缓数据处理减缓l通讯发送频率通讯发送频率 根据现场施工情况动态调整根据现场施工情况动态调整 89 9091本节提要本节提要嵌入式系统硬件基础嵌入式系统硬

温馨提示

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

评论

0/150

提交评论