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

下载本文档

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

文档简介

嵌入式系统应用——ARM与C/OS-Ⅱ第二讲基本概念及设计方法安徽工业大学计算机学院本节提要1324嵌入式系统硬件基础嵌入式BSP的基本概念嵌入式系统软件基础嵌入式系统设计方法5一个嵌入式设计方法实例冯·诺依曼体系结构和哈佛体系结构CISC与RISC影响CPU性能的因素存储器系统I/O接口一、嵌入式系统硬件基础主要介绍:典型嵌入式系统基本组成-硬件MPU微处理器电源模块时钟复位FlashRAMROMUSBLCDKeyboard外围电路Other外设1.1冯·诺依曼体系结构模型指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2ARM7采用1.2哈佛体系结构指令寄存器控制器数据通道输入输出中央处理器程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据ARM9采用哈佛体系结构独立的程序存储器和数据存储器为数字信号处理提供了较高的性能,因此仍被广泛使用。实时处理信号会对数据存取系统带来两方面的压力:1)大量的数据流通过CPU;2)数据必须在一个精确的时间间隔内被处理,而不是恰巧轮到CPU时进行处理。让两个存储器有不同的端口将提供较大的存储器带宽,数据和程序不必再竞争同一个端口,因此数据适时的移动更加容易。1.3CISC和RISCCISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。RISC:精简指令集(ReducedInstructionSetComputer)1979年美国加州大学伯克利分校提出,它将精选出来的指令在流水线处理器中高效执行。目前还在发展和丰富过程中。在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单CISC与RISC的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道EXEXRISC体系结构的特点大多数指令只需要执行简单和基本的功能,执行过程在一个机器周期内完成;由于存储器访问指令执行时间长,尽量减少这类指令,只保留Load/Store指令;芯片逻辑采用硬布线逻辑以减少指令解释的开销,而不采用或少采用微码技术;减少指令数和寻址方式,简化控制部件,提高执行速度;指令格式固定,指令译码简单;编译开销很大,应尽可能优化。ARM体系结构在RISC基础上新增的特殊技术所有的指令都可以根据前面的执行结果决定是否被执行,从而提高指令的执行效率;可用Load/Store指令批量传送数据,以提高数据的传输效果;可在一条数据处理指令中同时完成逻辑处理和移位处理。RISC和CISC架构各有优点,现代的CPU往往采用CISC的外围,内部加入RISC特性。如超常指令集CPU就是融合了RISC和CISC的优势,是CPU的未来发展方向之一。1.4影响CPU性能的因素:流水线、超标量和缓存流水线技术:几个指令可以并行执行。提高了CPU的运行效率内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmpARM7:三级流水线ARM9:五级流水线ARM10:六级流水线ARM11:八级流水线三级流水线每周期执行一条指令的吞吐量是理想情况。由于取指的存储器访问和执行的数据路径占用都是不可同时共享的资源,对多周期指令来说,就会产生流水线阻塞。如:STR指令的数据传送周期既需要存储器访问,又要占用数据通道,因此第3条指令的执行要等第2条指令的数据传送周期结束后才能运行。虽然第3、4条指令都在正常时钟周期被读出,但译码时间被推迟,造成第5条指令的取指延迟。decodefetchaddexcutedecodefetchstrcalc:addr时间123dataxferfetchadddecodeexcutefetchadddecodeexcutedecodefetchaddexcute45ARM的流水线设计问题缩短程序执行时间流水线的相关问题结构相关、数据相关、控制相关等1)提高时钟频率。时钟周期缩短,即每周期完成的工作量减少,就要求简化流水线的逻辑,从而要增加流水线级数;2)减小CPI。必须改善3级流水线中阻塞状况,从而需要解决流水线的相关问题。流水线的相关问题流水线的结构相关:指指令在流水线中重叠执行时,产生资源冲突。在3级冯·诺依曼结构中,数据和指令在同一存储器中,几乎每一时钟周期都必须访问存储器(取指或传数据),因此访问数据存储器时就必须停止取指令存储器。ARM的解决方案是:1)采用分离式数据cache和指令cache。此法解决了取指和数据传送的冲突、减小了CPI2)ALU中采用单独加法器来完成地址计算。使执行周期的运算不再产生资源冲突。流水线的相关问题续流水线的数据相关:指当前指令需要前面指令的执行结果。ARM的解决方案是:1)定向(旁路或短路)技术。将前面指令的执行结果直接传给后面需要的指令,而不必写入寄存器。2)流水线互锁技术。指令需要的数据因以前的指令未完成而没有准备好时就产生管道互锁。互锁发生时,流水线将停止这个指令的执行,直到数据准备好为止。流水线的控制相关:发生在流水线遇到分支指令和其它需要改变PC值的指令时。ARM的解决方案是:1)引入延时分支。2)尽早计算出分支转移成功时的PC值。ARM的5级流水线取指:将指令从存储器中取出,放入指令流水线中。指令译码:对指令译码,从寄存器堆中读取寄存器操作数。执行:把一个操作数移位,产生ALU结果。数据缓存:若需要则访问数据存储器;否则ALU的结果只是简单的缓冲一个时钟周期,使所有的指令具有同样的流水线流程。写回:将指令产生的结果回写到寄存器堆,包括任何从存储器读取的数据。减少了在每个时钟周期内必须完成的最大工作量,进而允许使用较高的时钟频率。5级流水线分为:超标量执行superscalarmachine超标量执行:超标量CPU采用多条流水线结构。超标量技术:就是通过重复设置多套指令执行部件,同时处理并完成多条指令,实现并行操作来达到提高处理速度的目的。超标量处理机:一个时钟周期内同时执行多条指令的处理机。ARM7、ARM9、ARM11都是单周期指令机;ARM公司推出新一代处理器Cortex-A8处理器将是超标量机。

65nm工艺、功耗<300mW、主频1GHZ,主要用于视频、游戏等超标量执行执行1预取指令CACHE译码2译码1执行2执行1预取译码2译码1执行2流水线1流水线2数据超标量与流水线技术是兼容的,要在一个时钟周期内同时处理多条指令,超标量处理机必须有两条以上的流水线、多个能独立工作的操作部件。从而带来了多流水线的调度问题和操作部件的资源冲突问题,因而控制逻辑比较复杂。超标量执行中的数据相关:

subr2,r1,r0;

mulr4,r3,r2;单流水线的标量处理机只有连续出现相同操作的指令序列时流水线才能不“断流”,功能部件的效率才能充分发挥。超标量处理机正好相反,它希望相同操作的指令不要连续出现,否则会发生资源冲突。这一要求正好符合一般标量程序的特点。高速缓存(CACHE)1、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。CPU高速缓存控制器CACHE主存数据数据地址总线和总线桥CPU低速设备桥数据高速总线存储器高速设备低速设备低速总线1.5存储器系统RAM:随机存取存储器,SRAM:静态随机存储器,DRAM:动态随机存储器

1)SRAM比DRAM快

2)SRAM比DRAM耗电多

3)DRAM存储密度比SRAM高得多

4)DRAM需要周期性刷新ROM:只读存储器FLASH:闪存SRAM和DRAM1)SRAM2)DRAMCSR/WAddrDataCSR/WCASDataRASAddr输入输出接口I/OA/D、D/A键盘LCD存储器接口设备接口例如USBUSB:UniversalSerialBus,通用串行总线大家生活中常见的与USB有关的东西有:U盘、移动硬盘、无驱型的MP3(U盘)USB接口的键盘、Mouse、打印机、数码相机……即插即用,热插拨,系统不需重启便可工作,且易于扩展(127个)USB2.0以低成本实现高达480Mb/s的传输率(USB1.1的全速设备可达12Mb/s)接口标准统一、端口供电一个典型的USB通讯系统HOST系统HUBDEVICEDDEVICE应用软件+驱动程序+接口芯片HUBU盘其他数据采集器驱动代码+嵌入式处理器+HOST芯片HUBU盘其他数据采集器通用系统模型PC机中的情况嵌入式系统应用1324嵌入式系统硬件基础嵌入式BSP的基本概念嵌入式系统软件基础嵌入式系统设计方法5一个嵌入式设计方法实例二、嵌入式系统软件基础操作系统的分类嵌入式实时操作系统前台与后台多任务(嵌入式应用的普遍要求),任务优先级,调度非占先式与占先式、可重入型函数主要介绍:3.1操作系统的分类(1)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。(2)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间按顺序分成若干片,每个时间片内执行不同的程序。如UNIX。(3)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。按实时性分类强实时系统,其系统响应时间在毫秒或微秒级(数控机床);一般实时系统,其系统响应时间在毫秒-几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。1)循环轮询系统:(PollingLoop)最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。Initialize()While(true){if(condition_1)action_1();if(condition_2)action_2();……if(condition_n)acition_n();}按软件结构分类2)事件驱动系统:(Event-Drivensystem)事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级,前台也叫中断级。很多基于微处理器的产品采用前后台系统设计,如电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。前后台系统(后台循环、前台中断)ISRISR后台前台ISR时间代码的临界区也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。代码的临界区多任务(任务、进程和线程)CPU寄存器任务控制块1任务控制块2任务控制块n休眠、就绪、运行、挂起、被中断任务1任务2任务n……CPU寄存器一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。多任务运行的实现实际上是靠CPU在许多任务之间转换、调度。

CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化。任务的状态休眠、就绪、运行、挂起、被中断系统内核(Kernel)与调度(Scheduler)多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加ROM用量,内核本身的数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2到5个百分点之间。调度(Scheduler)是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法指,CPU总是让处在就绪态的优先级最高的任务先运行。非占先式与占先式非占先式(non-preemptive)非占先式调度法也称作合作型多任务(cooperativemultitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很长时间,直到当前运行着的任务释放CPU。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。非占先式(Non-Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使高优先级任务就绪低优先级任务释放CPU使用权TIME当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入不可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。占先式(preemptive)占先式(Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使高优先级任务就绪高优先级任务得到CPU使用权TIME可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数只使用局部变量,即变量保存在CPU寄存器中或堆栈中。一个不可重入型函数的例子intTemp;Voidswap(int*x,int*y){ Temp=*x;*X=*Y;*y=Temp;}可重入型函数一个可重入型函数的例子:Voidswap(int*x,int*y){intTemp;

Temp=*x;*X=*Y;*y=Temp;}任务优先级静态优先级应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的动态优先级应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。优先级反转(PriorityInversion)优先级反转发生在一个高优先级的任务被迫等待一段不确定时间,图1中3个任务分别为task1、task2和task3,其优先级由高到低。从图1可知,当task3占有由信号量(semaphore)保护的某种共享资源而进入临界区执行时,task1就绪,由于系统的抢占式调度策略,出现task1抢占task3执行。task1执行一段时间后也进入临界区,但此时task3仍占有此临界资源的信号量,task1被阻塞,等待task3释放此信号量。在经过这么一段时间后,task2已处于就绪状态,于是系统调度task2执行。如果task3在task2的执行期间一直没有能够被调度执行的话,那task1和task3将一直等到task2执行完后才能执行,task1更要等到task3释放它所占有的信号量才能执行;如果这段时间超出task1的最后期限,task1的调度出现了问题,此时轻则任务被长时间阻塞,重则造成系统崩溃。优先级反转原因可归纳为:高优先级的任务task1由于要等待被低优先级任务task3占有的临界资源而被task2阻塞,而此时具有中优先级的任务task2抢占了task3的CPU时间,导致task2先于task1执行。信号量(Semaphore)信号量是60年代中期EdgserDijkstra发明的。信号量实际上是一种约定机制,在多任务内核中普遍使用.信号量用于:控制共享资源的使用权(满足互斥条件)标志某事件的发生使两个任务的行为同步信号与信号量在英文中都叫做Semaphore,并不加以区分,它有两种类型,二进制型(binary)和计数器型(counting)二值信号量(0、1)计数式信号量信号量是一个可以用来控制多个进程存取共享资源的计数器。它经常作为一种锁定机制来防止当一个进程正在存取共享资源时,另一个进程也存取同一资源。

信号量的值是与相应资源的使用情况有关的。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数,即在该信号量队列的节点个数。

设信号量为S,P操作顺序执行下述两个动作:①信号量的值减1,即S=S-1;②如果S≥0,则该进程继续执行;如果S<0,则把该进程的状态置为阻塞态,把相应的链表节点连入该信号量队列的末尾并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。V操作顺序执行下述两个动作:①S值加1,即S=S+1;②如果S>0,则该进程继续运行;如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。死锁Deadlock死锁指两个任务无限期地互相等待对方控制着的资源。设任务T1正独享资源R1,任务T2在独享资源R2,而此时T1又要独享R2,T2也要独享R1,于是哪个任务都没法继续执行,发生了死锁。最简单的防止发生死锁的方法是让每个任务都:先得到全部需要的资源再做下一步的工作用同样的顺序去申请多个资源释放资源时使用相反的顺序任务同步信号量是实现任务同步的主要手段。全程变量或共享内存邮箱或消息队列任务间的通讯(IntertaskCommunication)消息邮箱邮箱是μC/OS-II中另一种通讯机制,它可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量。该指针指向一个包含了特定"消息"的数据结构。消息队列消息队列与其他方式的一些比较:1、信号量使用方便,可以解决很多任务间的协调问题,但是信号量所传递的信息有限,而内存共享虽然传递信息可以大些,但是不标准。消息队列作为一种折忠方式用于线程之间的信息交换。2、消息队列允许许多的消息排队,而每个信息可以有不同长度,而传统管道中的数据仅仅是一个数据流,没有边界。(注:Vxworks中采用管道方式)全程变量用全程变量时,必须保证每个任务或中断服务程序独享该变量。中断服务中保证独享的唯一办法是关中断。如果两个任务共享某变量,各任务实现独享该变量的办法可以是关中断再开中断,或使用信号量1324嵌入式系统硬件基础嵌入式BSP的基本概念嵌入式系统软件基础嵌入式系统设计方法5一个嵌入式设计方法实例嵌入式系统的软/硬件框架嵌入式系统设计步骤系统需求分析:确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。硬件/软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。应该说,嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。系统集成:把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。嵌入式开发工具与开发环境

JTAG(JointTestActionGroup,联合测试行动小组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(TestAccessPort,测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-Systemprogrammable,在线编程),对FLASH等器件进行编程。

JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程.

开发平台简介网口JTAGUSB串口0扩展板接口ARM微处理器S3C44B0X扩展口2网卡JTAG仿真器ARM3000开发板集成开发环境运行平台开始新工程编辑源代码交叉编译连接仿真调试程序下载台式/笔记本式PC机并口JTAG仿真器网络接口JTAG接口USB接口串口0ARM3000开发板串口USB接口以太网口ARMSDTDebugArmDvkARM7处理器执行监测结果超级终端ARM3000开发板实验流程结束嵌入式软件开发流程嵌入式系统软件开发是在传统软件工程方法基础上,增加了实时、并发等设计技术。几种常用的开发方法指令集模拟器一种利用PC机端的仿真开发软件模拟调试的方法。驻留监控软件驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务JTAG仿真器通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段在线仿真器使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的行为。但结构较复杂,价格昂贵,通常用于ARM硬件开发中本节提要1324嵌入式系统硬件基础嵌入式BSP的基本概念嵌入式系统软件基础嵌入式系统设计方法5一个嵌入式设计方法实例工程机械体系结构可靠设计环境分析成本计算芯片选择设计接口调试…关键技术主要系统平地机环境可靠性实验装载机搅拌机挖掘机

…软件选择开发…摊铺机压路机四、嵌入式设计方法实例——工程机械监控器需求分析与评估功能定义与软硬件选型概要设计与软硬件划分软硬件协同详细设计集成调试维护与升级设计步骤工程机械方面应用

工程机械六大市场领域,均符合国家经济发展四大战略所规定的资金投向,500亿投资,一个企业仅装载机销售7000台。发展国家基础设施建设西部大开发发展城乡化可持续发展交通运输能源工业原材料工业农林水利城乡建设国防工程建设工程机械4.1需求分析与评估沥青路面施工机群资源配置不合理,施工过程施工过程质量、进度控制不到位;设备运行状况不能及时掌握,故障不能及时排除;分期付款控制技术;智能控制,动力平衡,安全操作存在突出问题监控器最重要,及时掌握设备运行状况,并进行必要故障诊断;其次是智能控制,动力平衡,安全操作;GPS定位与GSM通讯,是一个很好演示,尽量选用汽车使用模块;协同控制,机群化资源配置,并提高施工过程施工过程质量,控制进度,目前仅仅是一个发展方向,还不实用。监控器成本,建议控制在2000-3000元,才有竞争力。开发时间,6个月主要需求4.2功能定义与软硬件选型8-10台单机智能化,搅拌机、装载机、自卸机、摊铺机、压路机等,设计具有GPS(GlobalPositionSystem)/GSM监控器;建立通讯网络设立机群化控制中心,数据库、显示屏、施工调度算法、工艺文件管理等;单机智能化采用监控器,网络通讯采用现成设备,中继站或短消息,控制中心PC,数据库Ms-SQL,投影仪等;其中这里讨论智能化监控器机群通讯与定位方案设备制造商设备使用商Internet中央控制室搅拌站GPS移动通讯车无线电台Wirelessnet无线电台压路机无线电台摊铺机无线电台转运车GPS自卸卡车机群智能化通讯方案图GPSGPSGPS“”表示因特网“”表示无线以太网“”表示物料转运方向该课题的研究目标研究智能化的监控器:可视化,多级界面可控化,具有人机接口内嵌的故障诊断,结合数据库进行通讯功能通过实际测试,提高其可靠性,产品化降低成本,提高性能,最终取代国外产品4.3概要设计与软硬件划分国外同类产品工程机械智能监控器的功能监控器的硬件选型——CPU32位CPU将成为未来各种电子设备的核心ARM系列具有精简指令集,在各种行业中已经获得了广泛的应用各种开发、仿真支持工具比较完善,国内也应经形成了开发热潮监控器的硬件设计方法-1接口:串行口、CAN总线是主要的通讯接口功能:首先是自动显示状态参数、报警,并具有通讯功能以通用硬件平台为基础首先平台对于监控器开发适用:人机接口、通讯扩展等已有的研发工作使我们的开发更为快捷而且硬件可以裁减、扩充监控器的硬件设计方法在这一平台上我们进行功能裁减、扩充

扩展性能I/O接口预留,A/D口预留,必要时可以扩展采集数据总线预留,便于使用总线扩展芯片扩展接口监控器的硬件结构ARM为CPU,8M内存,16MFLASH存储器两个UART分别连接GPS、GSM模块USB高速下载,JTAG调试口扩展CAN总线接口监控器的软件需求分析监控器软件的特点:图形界面重要:数字化仪表、模拟显示仪表加强操作性能:可以控制、菜单显示多种方式报警:声、图像显示通讯功能强大:本地通讯和近远程通信操作系统选型分析操作系统选型主要考虑如下几个方面:车辆设备要求实时操作系统外设很多,所以必须支持多任务根据不同的车辆软件可裁剪开发工具要完善,能够快捷的开发监控器的软件设计方法采用COS-II作为操作系统它是一个实时内核支持多任务管理扩展的文件管理系统扩展的各种设备驱动免费使用工程机械智能监控器体系结构设计智能化监控器的指导思想功能和可靠性是工程机械监控器的两大要素,必须在两者之间寻找一个契合点。可靠性设计要求:一体化设计,软件精简基本功能软件考虑:模板设计,实用简单

解决的方法:列举各种功能,保留必要,去除冗余,插接可靠构件设计,对象封装,功能的模块化,软件的模板化,便于调用。使技术人员能够快速编程学习4.4软硬件协同详细设计划分功能模块:系统驱动模块、通讯模块、图形显示模块、数据处理模块等,在大的模块下面又分为小的模块。根据功能加减模块:比如机群智能化就要求具有GPS和GSM功能模块,而在以后的复杂机器中还要有控制功能模块等。模块化设计方法

首先作出一台机器的软件,对其进行提炼作为系统模板:比如首先设计摊铺机的软件,根据它提炼功能模块,并设计压路机和装载机的软件。软件模板要求结构清晰,可以根据该模板并参考程序添加代码,完成专用机型的软件。模板化使用方法监控器的功能要求能实时接受总线信息(CAN),简单处理后在液晶屏上动态刷新能够针对信息进行故障诊断、可以自动报警(液晶屏)接受GPS地理位置信息,确定当前位置定时发送GSM信息,包括地理、状态信息,接收中心站的GSM指令手动输入故障和需要停机时间监控器的功能模块1.GPS数据处理:使用NMEA01832.GSM数据处理:使用AT指令集3.CAN总线数据处理4.键盘消息处理5.数据显示6.GSM数据发送:使用GSM模块NationalMarineElectronicsAssociation全国海洋电子协会[美]软件的实现和技巧采用多任务任务一:串行口扫描由于GPS每秒向串行口发送数据,GSM指令也送入串行口,因此系统扫描串行口,处理进入信息。任务二:CAN总线扫描系统每隔几个毫秒扫描CAN总线的SJA1000内部寄存器,查询是否有新的信息。任务三:键盘扫描 作为人机接口的重要部分,键盘扫描可以手工输入指令,查询系统信息。软件的实现和技巧CAN总线消息的管理

温馨提示

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

评论

0/150

提交评论