基于mpc5605的boot loader软件can模块应用研究文献综述.docx
- 文档编号:1727613
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:13
- 大小:509.58KB
基于mpc5605的boot loader软件can模块应用研究文献综述.docx
《基于mpc5605的boot loader软件can模块应用研究文献综述.docx》由会员分享,可在线阅读,更多相关《基于mpc5605的boot loader软件can模块应用研究文献综述.docx(13页珍藏版)》请在冰豆网上搜索。
基于mpc5605的bootloader软件can模块应用研究文献综述
xx汽车工业学院
xxxUNIVERSITYOFAUTOMOTIVETECHNOLOGY
毕业设计文献综述
题目
基于MPC5605的Bootloader软件CAN模块应用研究
班号
专业
车辆工程
学号
学生姓名
xxx
指导教师
xxx
前言
自1949年计算机诞生以来,作为一种比人脑更快的计算机器,计算机一直被人们所重视,对其研发投入了大量的成本。
到70年代的时候,由于大规模集成电路的成功研发,单片机横空出世。
单片机是一种微型的电脑,可用以执行特定的电脑功能,因为这一特想,单片机在工业上开始大展拳脚。
基于单片机的嵌入式系统开始在汽车、家电、工业机器、通信装置以及成千上万中产品中出现,通过这种电子装置,产品获得了更佳的使用性能:
更容易使用、更快、更便宜。
因为单片机的的功能越来越复杂,其控制系统也越来越庞大,开始出现了独立的启动引导程序Bootloader。
后来,由于产品的复杂化,加上工业控制系统智能化的需要,人们对嵌入式系统提供功能的要求越来越高,嵌入式系统也越来越复杂,满足于过程控制和制造业自动化的现场总线技术应运而生。
因为现场总线的标准化,基于CAN总线的Bootloader已经是现在嵌入式系统启动引导程序研究的主流,而且人们对于其安全性、简洁性的要求也越来越高。
Bootloader是系统启动前引导程序,分布在每一个计算机系统里面,这是因为现代计算机的内存在掉电的情况下数据都会丢失,为了能让计算机在下次通电的时候能够正常运行应用程序,就先把操作系统的内核首先固化到一个不容易丢失的设备上,一旦加电,通过一个引导程序将操作系统引入到内存,然后就可以利用内存里的操作系统在其平台上运行其他应用程序。
CAN总线(ControllerAreaNetwork),作为一种现场总线,是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发的一种串行通信协议,并最终成为了国际标准,成为了国际上应用最广泛的现场总线之一。
在北美和在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。
正文
随着信息化,智能化,网络化的发展,嵌入式系统技术的发展空间越来越广阔,广泛应用于工业、网络、能源、汽车、医疗、消费电子等众多领域,随着车联网概念的诞生,嵌入式系统在汽车领域内得到了新的发展。
通常,BootLoader是严重地依赖于硬件而实现的,根据不同的计算机系统,系统启动前的引导加载方案不同,比如PC机是通过BIOS来引导的,而DSP可以直接从EPROM或者其它的处理器加载操作系统到DSP上执行。
对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。
因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。
Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。
Bootloader作为嵌入式系统的启动程序,有两大功能:
1)启动加载功能,Bootloader从目标机的某个固态存储设备上将操作系统加载到RAM中运行;2)升级功能,目标机上的Bootloader通过串口或网络连接等通信手段从宿主机上下载文件。
Bootloader软件的各模块研究非常有实际意义,
一.国内外研究状况
算机系统都有一个Bootloader,因为现代计算机的内存在掉电的情况下数据都会丢失,因此现代计算机都把操作系统的内核首先固化到一个不容易丢失的设备上,一旦加电,通过一个引导程序将操作系统引入到内存,然后再执行操作系统[1]。
当今比较流行的嵌入式Bootloader,有U-boot、VIVI、Blob和ReBoot等,这些Bootloader工具比较成熟移植简单方便。
它们不足之处在于它们是面向大部分硬件的工具,能够满足大多数硬件平台的需求。
所以它的代码量比较大,而对于特定的开发板,我们只需要与其相关的实现代码,其次,它们文件组织结构比较复杂,不易于理解,如果在这些工具上增加一些特殊的功能比较困难,因为这需要熟悉这些代码实现方式。
[2]式因此,如果研发力量足够,而且应用范围足够大,我们应该独立研发设计适合具体系统的Bootloader。
程序加载的方式有多种,一般通过串行接口、JTag接口、以太网接口等,采用串口加载方式,接口简单、方便,通过产品上预留的RS-232接口,可加载的程序文件格式包括ELF32、S-record等,即可更新程序,又能打印维护信息。
但是这是廉价的低速通信[3]。
但是该方法不仅下载速度慢,而且给后期整车控制器的调试和维护都带来极大不便[4],一般情况下,开发人员需要将安装到车上的整车控制器从壳体中拆卸下来,再通过背景调试模式工具对整车控制器进行程序下载与升级;这样做就会十分繁琐,大大降低了软件升级的效率。
司宝峰、孟鹏花两位学者基于CAN总线的传感器系统的密封问题和可维护性问题之间的矛盾,提出在密封完好的情况下通过传感器系统的信号线和目标机Bootloader实现数据的更新和维护的方法。
[5]
杨竞喆则提出应用近期比较普遍采用的程序下载升级方法,即:
基于CAN的整车控制器Bootloader。
通过MSCAN模块进行数据通信;而程序的更新则通过对Flash的擦写操作实现;外设开关可进行下载模式与运行应用程序模式的选择[6]。
张艳学者不使用调试接口,直接利用VCU现有的通信方式对其进行在线编程。
处于开发后期的产品DCU封装之后,若需要修改程序,可直接通过CAN总线接口直接刷写,不必再拆开DCU外壳,使得后期产品开发方便、快捷。
Bootloader实现了DCU的在线升级功能。
在SCR控制系统中,新控制算法、新功能推出的频率越来越高,频繁地插拔存储器不但麻烦而且容易损坏电路板,而DCU的在线升级功能成功地消除了这一弊端。
[7]。
并且刘矗、罗峰在基于飞思卡尔微控制器的CANBootloader的实现与应用中提到:
CAN总线有着高速、实时性好、具备错误诊断等优点,能够满足ECU节点升级的需求,因此网络中带CAN控制.[8]
吴成加在基于CANBootloader的电动汽车远程数据更新系统设计中实现了远程数据传输"数据下载更新"在线标定等功能,数据发送端包括传输计算机"Internet网络平台"移动网络平台"移动通讯基站;数据接收端包括GPRS数据收发器,最终实现了电动汽车网络节点中的ECU节点升级,在线标定功能具有传输速度快"性能稳定"可针对网络节点中任意节点模块进行升级等优点[9]
李涛认为对于中小控制器来说,从CAN获取数据可以降低系统的数据输入成本。
利用ISO15765-3及ISO14229协议,基于CAN网络层协进人默认会话议的设计思路,可以更好地移植CAN通讯相关软件,从而大大缩短刷新软件的开发费用,[10]但是在使用的过程中暴露了一些问题,如用户界面不友好;程序资源占用率比较高,低配置电脑在进烧写操作时容易产生超时现象,我们可以通过优化界面和调整进程优先级已经解决这些问题,在今后的工作中还需要不断维护和更新引导加载功能。
二.CAN总线与Bootloader的概念
2.1CAN总线
2.1.1CAN的概念
CAN总线全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。
最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出,是一种多主方式的串行通讯总线,可提供最高1Mbit/s的数据传输速率。
1993年,CAN已由国际标准化组织和其它标准化组织进行了标准化ISO11898(高速应用)和ISO11519(低速应用)。
CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点[4]。
数据帧长度最多为8个字节,帧标识码定义在数据块中,标识码可由11位或29位二进制数组成,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
应用层协议规定了四种服务数据结构,Request、Indication、Response和Confirm,分别对应于诊断设备的服务请求、ECU的服务指示、ECU的服务响应和诊断设备的服务确认。
2.1.2CAN的特点
1)多主控制:
在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权(CSMA/CA方式)。
多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权。
2)消息的发送:
在CAN协议中,所有的消息都以固定的格式发送。
总线空闲时,所有与总线相连的单元都可以开始发送新消息。
两个以上的单元同时开始发送消息时,根据标识符(Identifier以下称为ID)决定优先级。
ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。
两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。
仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
3)系统的柔软性:
与总线相连的单元没有类似于“地址”的信息。
因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
4)通信速度:
根据整个网络的规模,可设定适合的通信速度。
在同一网络中,所有单元必须设定成统一的通信速度。
即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。
不同网络间则可以有不同的通信速度。
5)远程数据请求:
可通过发送“遥控帧”请求其他单元发送数据。
6)错误检测功能·错误通知功能·错误恢复功能:
所有的单元都可以检测错误(错误检测功能)。
检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。
正在发送消息的单元一旦检测出错误,会强制结束当前的发送。
强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。
7)故障封闭:
CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。
由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
8)连接:
CAN总线是可同时连接多个单元的总线。
可连接的单元总数理论上是没有限制的。
但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。
降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
2.1.3ISO15765通讯协议
基于CAN总线的ISO15765通讯协议其实是欧洲汽车领域广泛采用的车载诊断协议KWP2000在CAN总线上的实现[4]。
其定义的服务类型可分为下列3种:
1.数据链路层采用了ISO11898-1协议,该协议是对CAN2.0B协议的标准化和规范化,定义的传输速率为500k;
2.网络层则采用ISO15765-2协议,规定了网络层协议数据单元(PDU)与底层CAN数据帧、以及上层KWP2000服务之间的映射关系,并且为长报文的多包数据传输过程提供了同步控制、顺序控制、流控制和错误恢复功能;
3.应用层采用了ISO15765-3协议,该协议完全兼容基于K线的应用层协议14230-3,并加入了CAN总线诊断功能组。
ISO15765协议支持多包数据传输,并且多包数据的管理和组织是在网络层完成的,应用层不必关心数据的打包和解包过程。
为实现这一功能,网络层按照协议控制信息类型定义了4种协议数据单元:
1.单帧SingleFrame(SF),数据域及PCI可在一个CAN数据帧中容纳时,服务报文以单帧CAN报文进行发送。
2.第一帧FirstFrame(FF),数据域及PC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于mpc5605的boot loader软件can模块应用研究文献综述 基于 mpc5605 boot loader 软件 can 模块 应用 研究 文献 综述