基于CAN总线的在线升级系统设计与实现.docVIP

基于CAN总线的在线升级系统设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CAN总线的在线升级系统设计与实现.doc

基于CAN总线的在线升级系统设计与实现   摘要:针对控制器局域网络(controller area network,CAN)分布式系统中节点应用软件升级困难现状,设计一种基于CAN总线ISO11898协议,利用具有CortexM3内核的节点微控制器STM32F103VET6集成功能模块和在线应用编程技术(in application programming,IAP),应用层通讯采用诊断协议ISO14230的嵌入式软件在线升级方案。该方案操作便捷,可靠性高,稳定性好,对其它嵌入式应用软件远程在线升级有参考意义。   关键词:   CAN总线;升级;CAN分布系统;在线应用编程   中图分类号:TP311文献标识码:A文章编号2013   0引言   控制器局域网络总线采用多主方式工作,在CAN总线分布式系统中,所有节点都以相同的等级挂接到总线上[13]。CAN节点硬件结构是一种嵌入式系统,在实际应用中,其内部软件在开发的调试阶段,应用程序是通过调试接口(如BDM,JTAG,NECS等)下载到Flash或RAM内,开发后期阶段去掉了调试接口。若后期需要增加新功能或控制算法,因节点应用程序固化在非易失性存储器中,技术人员需要将CAN节点卸载下来,并借助专用编程器将新应用程序烧录至节点程序存储器中。由于新的功能和算法不断更新,频繁地拔插存储器不但麻烦而且容易损坏电路板。因此,研究开发一个具备自举加载功能的在线升级系统十分必要。   嵌入式设备一般都提供2种Flash编程接口,即通过串口进行在线系统编程(in system programming,ISP)和在应用程序运行时进行的在线应用编程(in application programming,IAP)。由于IAP 技术实现起来简单灵活,可通过网络进行远端升级和维护, 故本系统使用IAP接口[48]。目前采用IAP 技术的在线升级方案种类繁多复杂,适应的领域也各不相同。文献[9]采用CCP协议提出适用于汽车ECU的升级系统和方法,但实现过程复杂,协议开销大。文献[10]是由奇瑞公司提出的一种通过口令验证等工作的升级方法,该方式增加了升级操作的复杂度和负担。本文提出一种基于CAN总线,采用诊断协议ISO14230[11]实现嵌入式应用软件的在线升级方案,系统网络应用进程交互方式采用客户/服务器(client/ server,C/S)模式[7],即客户通过CAN总线将升级软件烧写到服务器端存储器中, 利用在应用编程技术IAP更换掉原有的应用程序[6]。该方案操作便捷,可靠性高,稳定性好,对其它应用在无线网络(如GSM,GPRS等)中的嵌入式应用软件的远程升级有借鉴作用。   1IAP原理   1.1STM32F103VET6芯片简介   STM32F103VET6是一款基于ARM@Cortex TMM3 32位的RISC内核的微控制器[12]。具有高性能、低成本和低功耗等特点;具有多个系统定时器、CAN通信接口、串行线JTAG 调试口、ADC通道等丰富的资源;具备可编程控制器和应用控制,内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道和16个优先级。程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4 GB的线性地址空间内,可访问的存储器被分成8个512 MB存储块。数据字节以小端格式存放在存储器中,一个字里的最低地址字节为该字的最低有效字节,最高地址字节为最高有效字节,拥有512 KB Flash和64 KB SRAM存储器 [13]。   1.2IAP编程原理   IAP技术是从结构上将Flash存储器映射为2个存储块,其中一块称为BootLoader存储块,用于存储IAP功能程序代码;另一块称为常态存储块,用于存储IAP功能外的全部程序[1415]。在 MCU运行状态下,PC指针不断读取需要执行的程序指令。不过在正常情况下,PC指针只在常态存储区内移动,并读取指令。当用户需要升级程序时, 需要在设计固件程序时编写2个程序块:第一个程序块通过通信管道(如CAN,USB,USART)接收程序或数据,执行对第二个程序块的代码更新;第二个程序执行在线升级功能。这2块程序都同时烧录在Flash中,此时程序指令将会把PC指针跳转至BootLoader程序区,在通过数据通信和数据校验完成应用程序升级后,PC指针再跳转至常态存储区,执行应用程序[1619]。   2在线升级方案设计   2.1系统设计   本系统工作方案采用客户/服务器(client/server)模式[7]。客户端为PC机,服务器端为集成有微控制器STM32F103VET6、光耦合器、CAN控制器和CAN收发器等功能模块的嵌入式系统。

文档评论(0)

sis_lxf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档