CAN总线实现分布式嵌入式系统在线升级.doc

上传人:白大夫 文档编号:3250331 上传时间:2019-08-06 格式:DOC 页数:2 大小:13.50KB
返回 下载 相关 举报
CAN总线实现分布式嵌入式系统在线升级.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《CAN总线实现分布式嵌入式系统在线升级.doc》由会员分享,可在线阅读,更多相关《CAN总线实现分布式嵌入式系统在线升级.doc(2页珍藏版)》请在三一文库上搜索。

1、CAN总线实现分布式嵌入式系统在线升级嵌入式系统具有智能化程度高、体积小、可靠性高、实时性强等诸多优点,已经越来越多地应用于消费电子、工业控制、汽车电子等各个行业。往往一个大的系统又由许多小的嵌入式系统共同构成,它们之间通过相互通信协同完成各种检测控制任务,构成分布式嵌入式系统。汽车电子系统中的车载GPS、倒车雷达、发动机控制、仪表盘系统等,数控机床中的键盘显示系统、马达控制系统等,这些无一不是嵌入式系统的具体应用。众多嵌入式系统的应用也为软件升级带来了诸多困难,主要有以下几点:这些系统分处于大系统的各个位置,单独对每个系统进行升级比较困难;某些系统为了满足保密和可靠性的要求,对系统进行了永久

2、密封,只预留了通信和电源端口,这就更不可能单独对它进行升级。针对这些问题,本文提出一种利用CAN总线的分布式嵌入式系统升级方案,实现了多点、单点甚至全系统的升级,其他种类的通信端口与此类似。1 系统架构系统结构框图如图1所示。整个系统由多个独立的完成一定功能的嵌入式模块、CAN总线和一个用于对整个系统进行升级的控制模块组成。其中,控制模块也可以是其中一个功能模块。在每个功能模块上安装有独立的引导程序,可以看作该模块的Bootloader,该引导程序永久固化在模块内,不随程序升级而升级。在该引导程序中嵌入CAN总线通信程序。正常工作情况下每个功能模块单独或通过CAN总线与其他模块协同工作。当需要

3、对某个模块进行软件升级时,通过系统升级控制模块向该模块发送升级命令,该模块接收到命令后即跳转至引导程序,并等待系统升级模块发送升级数据,升级结束后再跳回至应用程序。2 系统实现21 在线升级的实现原理采用ST公司基于ARM Cortex-M3核心的32位嵌入式处理器STM32F103VC,其片上Flash为主存储区。应用程序代码是存储在闪存(Flash)中的(0x0800C30000x0807FFFF),而Flash是按Page来管理的,所以可以把Flash分成几个区域来使用。在本系统中将Flash分成两个区域,其中一个为前面提到的引导程序区,另外一个为应用程序区。Flash分区如图2所示。芯片上电后,STM32F103VC会自动跳转到0x08000000地址执行后面的程序。而一个工程的起始位置(也就是main函数的地址)具体映射到Flash的地址是可以设置的。在本系统的设计中,在Flash放了两个main函数。引导程序用于对应用程序的升级和上电后跳转至应用程序,应用程序则完成相应的模块功能。这两个区域通过特定的指令可以实现相互的跳转,并以此实现在线升级。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1