实用的CAN总线分布式嵌入式系统升级龙8国际娱乐网站方案

电子龙8国际娱乐网站 2018-01-13 07:30 次阅读
嵌入式系统具有智能化程度高、体积小、可靠性高、实时性强等诸多优点,已经越来越多地应用于消费电子、工业控制、汽车电子等各个行业。往往一个大的系统又由许多小的嵌入式系统共同构成,它们之间通过相互通信协同完成各种检测控制任务,构成分布式嵌入式系统。汽车电子系统中的车载GPS、倒车雷达、发动机控制、仪表盘系统等,数控机床中的键盘显示系统、马达控制系统等,这些无一不是嵌入式系统的具体应用。 众多嵌入式系统的应用也为软件升级带来了诸多困难,主要有以下几点: ①这些系统分处于大系统的各个位置,单独对每个系统进行升级比较困难; ②某些系统为了满足保密和可靠性的要求,对系统进行了永久密封,只预留了通信和电源端口,这就更不可能单独对它进行升级。 针对这些问题,本文提出一种利用CAN总线的分布式嵌入式系统升级方案,实现了多点、单点甚至全系统的升级,其他种类的通信端口与此类似。 1 系统架构 系统结构框图如图1所示。 整个系统由多个独立的完成一定功能的嵌入式模块、CAN总线和一个用于对整个系统进行升级的控制模块组成。其中,控制模块也可以是其中一个功能模块。在每个功能模块上安装有独立的引导程序,可以看作该模块的Bootloader,该引导程序永久固化在模块内,不随程序升级而升级。在该引导程序中嵌入CAN总线通信程序。正常工作情况下每个功能模块单独或通过CAN总线与其他模块协同工作。当需要对某个模块进行软件升级时,通过系统升级控制模块向该模块发送升级命令,该模块接收到命令后即跳转至引导程序,并等待系统升级模块发送升级数据,升级结束后再跳回至应用程序。 2 系统实现 2.1 在线升级的实现原理 采用ST公司基于ARM Cortex-M3核心的32位嵌入式处理器STM32F103VC,其片上Flash为主存储区。应用程序代码是存储在闪存(Flash)中的(0x0800C3000~0x0807FFFF),而Flash是按Page来管理的,所以可以把Flash分成几个区域来使用。在本系统中将Flash分成两个区域,其中一个为前面提到的引导程序区,另外一个为应用程序区。Flash分区如图2所示。 图2 Flash分区 芯片上电后,STM32F103VC会自动跳转到0x08000000地址执行后面的程序。而一个工程的起始位置(也就是main函数的地址)具体映射到Flash的地址是可以设置的。在本系统的龙8国际娱乐网站中,在Flash放了两个main函数。引导程序用于对应用程序的升级和上电后跳转至应用程序,应用程序则完成相应的模块功能。这两个区域通过特定的指令可以实现相互的跳转,并以此实现在线升级。  2.2 硬件系统 STM32F103VC处理器具有高性能、低成本、低功耗等特点。该处理器片上外设丰富,具有多个系统定时器、CAN通信接口、USART通信接口、DMA等丰富的资源,并且借助于ST公司提供的固件库,可以很容易地对系统资源进行操作。该处理器集成了256 KB片上Flash和64KB片上SRAM,足以应对大多数任务。为实现CAN总线通信,只需要为STM32F103VC添加一片CAN驱动芯片进行电平转换。 系统硬件结构框图如图3所示。 2.3 软件系统 为实现在线升级功能,首先需要编写引导程序,然后将它烧入Flash引导区中。为防止应用程序升级失败,在引导程序中需判断Flash指定位置是否有程序完好标志,该标志由完整的应用程序在每次上电后写入。应用程序可采用烧写方式和升级方式写入相应程序区。为实现引导程序和应用程序之间的相互跳转,采取指向函数指针的方式来实现。可以将Flash中的引导程序和应用程序作为两个普通函数,这两个函数的进入位置分别为0x08000000和0x08004000,然后在引导程序中设置一个指向函数的指针,其指针值为0x08004000;同理,在应用程序中设置一个函数指针,其值为0x08000000.这样在相应的程序中调用函数指针时就可以实现程序跳转。 CAN总线采用多主竞争工作方式和非破坏性总线仲裁long88.vip龙8国际,总线上任意节点可在任意时刻主动地向网络上其他节点发送信息而不分主次,各节点之间实现自由通信。当多个节点同时向总线发信息时,优先级较低的节点会主动退出发送,而优先级较高的节点不受影响,从而大大节省了总线冲突仲裁时间,即使在网络负载很重的情况下,也不会出现网络瘫痪的情况。因此,适用于分布式监控系统的数据通信。由于CAN总线协议规范只定义了物理层和数据链路层,所以在实际应用中必须根据实际系统制定合适的应用层协议。本系统中根据数据传输要求自定义了几个应用层命令,分别是升级相关命令和数据收发校验相关命令,限于篇幅在此就不一一详述。 3 软件升级过程 软件升级包括升级控制模块部分和待升级模块部分。 升级控制模块部分的工作过程为:向待升级模块发送升级命令,待接收到模块返回的确认标志后,再通过CAN应用层协议向待升级模块发送升级数据,升级完成后向待升级模块发送完成命令。 待升级模块工作流程如图4所示。分为引导程序部分和应用程序部分,这两部分内容在开发的时候是作为两个独立的工程项目来完成的。 为确保在线升级的安全性,在Flash指定位置设置了一个程序完好标志。由于Flash的擦写是按照Page进行的,所以这个标志即使只有一位也需占用一个Page的大小。本系统中将标志设置在Flash最后一个Page.如果应用程序区没有空余的Page来写入该标志,就要考虑换用更大Flash容量的产品或者外扩存储器。程序完好标志在应用程序进入的时候写入,在接收到升级命令时擦除。若在引导程序中检测该标志不合法,就一直处于升级状态,直到最后收到升级成功命令为止。 程序跳转示例性跳转代码如下: typedef void(*pFunc)(vold); //自定义函数指针数据类型 pFunc Jump_To_App; //定义一个指向应用程序的指针 Jump_To_App=(pFunc)0x08004000; Jump_To_App(); 需要注意的是,在程序执行跳转代码前,需要关闭中断响应,以避免发生不可预测的异常。同时,当程序跳转前,需要将堆栈指针设置到相应的程序区域。 结语 通过CAN总线对分布式嵌入式系统进行在线升级非常具有代表性,随着越来越多的芯片集成了丰富多样的片上通信外设(如以太端口、I2C总线等),使得嵌入式系统的升级也具有更多样式,甚至可以通过公用网络(如因特网、GPRS等)进行远程升级。

热门推荐

收藏 人收藏
分享:

评论

相关推荐

介绍一款高精度GPS授时模块SKG12AT

在基站、通讯、广电等授时领域中,具备自动授时功能的授时系统内一定少不了GPS授时模块,得益于其实用性....
的头像 无线模块 发表于 06-20 11:00 249次 阅读
介绍一款高精度GPS授时模块SKG12AT

佳明推出fēnix 5 Plus 系列手表

一向专注于 GPS 类产品的佳明(Garmin),于近日推出其定位旗舰的 fēnix 5 Plus ....
发表于 06-20 10:52 46次 阅读
佳明推出fēnix 5 Plus 系列手表

CAN和ECAN模块通信时间的比较的详细中文资料概述

随着带有增强型控制局域网( Enhanced Control AreaNetwork,ECAN)模块....
发表于 06-20 09:26 10次 阅读
CAN和ECAN模块通信时间的比较的详细中文资料概述

带有隔离CAN或RS-485通信接口模块龙8国际娱乐网站

隔离模块应用于各类复杂的工业环境中,以提升总线的抗干扰能力,但设备接口可能会采用端子与外部连接,可能....
的头像 ZLG致远电子 发表于 06-20 09:11 256次 阅读
带有隔离CAN或RS-485通信接口模块龙8国际娱乐网站

SKG12AT的GPS引擎模块的详细英文数据手册免费下载

SKG12AT是一个完整的GPS引擎模块,具有超敏、超低功率和小形状因子。将GPS信号应用于模块的天....
发表于 06-20 08:00 8次 阅读
SKG12AT的GPS引擎模块的详细英文数据手册免费下载

Refactor Fitness发布多功能GPS骑行记录仪RF-1

骑行记录仪通过结合加速度计和高度计的梯度数据,以及气压计的空气密度数据,该设备甚至能够准确预估骑行者....
的头像 MEMS 发表于 06-14 16:17 685次 阅读
Refactor Fitness发布多功能GPS骑行记录仪RF-1

Microchip图形库的介绍和字体的详细资料概述

嵌入式系统应用的显示各不相同,从复杂的设备,例如 PDA,移动电话和便携式电脑,到简单的设备,例如家....
发表于 06-14 09:27 21次 阅读
Microchip图形库的介绍和字体的详细资料概述

以太网究竟能否替代CAN总线?

当前汽车的创新有70%是用在了汽车电子产品创新身上,而一辆汽车的成本中,电子产品的成本占比已经从20....
的头像 广成CAN总线 发表于 06-14 08:42 710次 阅读
以太网究竟能否替代CAN总线?

借“北斗”之名进行炒作已构建成了另一种商业“生态圈”

在工商关系上,吉祥贸易与北斗和正之间有着间接关联关系。贵州吉祥数贸贸易股份有限公司(以下简称贵州吉祥....
的头像 21ic电子网 发表于 06-14 08:39 328次 阅读
借“北斗”之名进行炒作已构建成了另一种商业“生态圈”

28377D的can_loopback_interrupt_cpu1程序调试,外部回环测试模式下,是不是数据信号只能在CAN内核部分,不能外发?

发表于 06-14 08:11 114次 阅读
28377D的can_loopback_interrupt_cpu1程序调试,外部回环测试模式下,是不是数据信号只能在CAN内核部分,不能外发?

一文看懂CAN总线

前言 CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台、期间升级过度到C....
的头像 龙8国际娱乐网站idea 发表于 06-13 11:16 1126次 阅读
一文看懂CAN总线

嵌入式专题讲座:EasyARM1138的功能与应用

本视频内容包括:嵌入式系统概括,嵌入式系统概念,ARM 简介,Cortex-M3 简介,Lumina....
的头像 ARM视频 发表于 06-13 08:32 141次 观看
嵌入式专题讲座:EasyARM1138的功能与应用

以太网分析、车载总线协议解码、CAN位时间测试3个方面解读示波器

一提起汽车电子行业的通信问题,大家自然会想到以太网及CAN、LIN、CANFD等协议。那关于示波器在....
的头像 ZLG致远电子 发表于 06-12 09:04 1059次 阅读
以太网分析、车载总线协议解码、CAN位时间测试3个方面解读示波器

小米8上手评测:诸多黑科技加持

2018年5月31日,小米正式发布了年度旗舰小米8与旗下一大波重磅产品。这次堪比2018米粉年夜饭的....
的头像 39度创意研究所 发表于 06-12 08:08 1134次 阅读
小米8上手评测:诸多黑科技加持

ISO1050 :电镀隔离的CAN 转发器

集成隔离式 CAN 收发器 - ISO1050
的头像 TI视频 发表于 06-12 06:24 137次 观看
 ISO1050 :电镀隔离的CAN 转发器

如何使用MPLAB X IDE的详细中文使用手册概述

本文档介绍了如何使用 MPLAB X IDE。 MPLAB® X IDE 是一款软件程序,用于为 ....
发表于 06-11 13:28 28次 阅读
如何使用MPLAB X IDE的详细中文使用手册概述

车载导航系统的研究现状及未来发展

汽车GPS导航系统是以全球24颗定位人造卫星为基础,向全球各地全天候地提供三维位置、三维速度等信息的....
的头像 中汽汽车电子电器信息 发表于 06-11 10:32 548次 阅读
车载导航系统的研究现状及未来发展

嵌入式开发的特点进行简单的科普与回顾

嵌入式系统使用newlib作为C运行库,而newlib的C运行库所提供的printf函数最终依赖于如....
的头像 硅农亚历山大 发表于 06-11 09:21 649次 阅读
嵌入式开发的特点进行简单的科普与回顾

美国联邦调查局FBI用的汽车追踪设备的内部结构你了解吗?

这次要拆解的居然是美国联邦调查局FBI用的汽车追踪设备?如果你会很奇怪,这么机密的东西到底从来弄来的....
的头像 玩转单片机 发表于 06-10 10:42 465次 阅读
美国联邦调查局FBI用的汽车追踪设备的内部结构你了解吗?

C语言模块化程序龙8国际娱乐网站需理解概念

等类似问题。面对这些问题,我们只能发出由衷的感慨:世界上还有很多有意义的事情等着我们去消化摄入的食物....
的头像 嵌入式ARM 发表于 06-08 14:49 357次 阅读
C语言模块化程序龙8国际娱乐网站需理解概念

北斗导航认证试点启动 我国卫星导航产业化进程将大大提速

从权威渠道独家获悉,中国北斗卫星导航产品检测认证联盟(以下简称“联盟”)日前举办了“北斗卫星导航产品....
发表于 06-08 03:52 306次 阅读
北斗导航认证试点启动 我国卫星导航产业化进程将大大提速

有了这个智能硬件,再也不怕家中老人摔倒了

近日,台湾工业long88.vip龙8国际研究院研发了一款“智能感应便利贴”的产品,能够在家中老人摔倒后,及时通过手机通知子....
的头像 39度创意研究所 发表于 06-07 11:45 810次 阅读
有了这个智能硬件,再也不怕家中老人摔倒了

请问2812SCI与Gps用什么方法实现DSP与GPS数传电台的电平兼容呢?

发表于 06-07 07:49 40次 阅读
请问2812SCI与Gps用什么方法实现DSP与GPS数传电台的电平兼容呢?

用于GPS接收机的天线阵列抗干扰射频前端

天线采用均匀直线阵列,将4路天线等间距排在一条直线上,结构简单,仿真容易。设入射波长为λ,两天线间....
的头像 电子long88.vip龙8国际应用ChinaAET 发表于 06-06 09:12 891次 阅读
用于GPS接收机的天线阵列抗干扰射频前端

基于Arduino单片机的跌倒报警系统龙8国际娱乐网站方案

本文接介绍了基于Arduino单片机的跌倒报警系统龙8国际娱乐网站方案。
发表于 06-05 09:00 34次 阅读
基于Arduino单片机的跌倒报警系统龙8国际娱乐网站方案

基于单片机的老人跌倒检测装置龙8国际娱乐网站的详细中文资料概述

龙8国际娱乐网站了一种基于单片机的老人跌倒检测装置,采用加速度、陀螺仪传感器采集原始信号。在进行数据融合时采用自....
发表于 06-05 08:00 46次 阅读
基于单片机的老人跌倒检测装置龙8国际娱乐网站的详细中文资料概述

Python工程师面试必备25条知识点

1.到底什么是Python?你可以在回答中与其他long88.vip龙8国际进行对比 Python是一种解释型语言。与C语言....
发表于 06-04 11:16 33次 阅读
Python工程师面试必备25条知识点

对初学者对嵌入式系统学习的误区及建议

对初学者对嵌入式系统学习的误区及建议 1 嵌入式系统的知识体系 嵌入式系统的应用范围可以粗略分为两大....
发表于 06-04 11:10 51次 阅读
对初学者对嵌入式系统学习的误区及建议

物联网的基本原理和组成及其开发平台的结构组成和应用开发前景

随着无线通信long88.vip龙8国际、传感器long88.vip龙8国际、信息处理long88.vip龙8国际的快速发展,经济全球化、工业自动化和信息化的进程不断深入,....
发表于 06-02 10:29 316次 阅读
物联网的基本原理和组成及其开发平台的结构组成和应用开发前景

加拿大工业龙8国际娱乐网站师近日龙8国际娱乐网站出一款类似大猩猩的long88

加拿大工业龙8国际娱乐网站师和企业家查尔斯·庞巴迪(Charles Bombardier)近日龙8国际娱乐网站出一款类似大猩....
的头像 39度创意研究所 发表于 06-01 11:18 776次 阅读
加拿大工业龙8国际娱乐网站师近日龙8国际娱乐网站出一款类似大猩猩的long88

利用Microchip 全新的 PIC®和AVR® MCU在闭环控制应用中提高系统性能

通过改进架构,PIC®和AVR® 8位单片机(MCU) 针对闭环控制进行了优化,让系统能够降低中央处....
的头像 人间烟火123 发表于 06-01 10:51 2148次 阅读
利用Microchip 全新的 PIC®和AVR® MCU在闭环控制应用中提高系统性能

小米8全球首款双频GPS手机超精准定位,“路痴救星”

GPS定位功能在手机上商用至今接近20年,一直以来都是使用L1单频进行定位,在开阔区域较为精准,但在....
的头像 CINNO 发表于 06-01 09:34 2065次 阅读
小米8全球首款双频GPS手机超精准定位,“路痴救星”

CAN/RS-485总线为什么要隔离

您在使用CAN或RS-485总线进行调试时,是否遇到过偶尔通信出错?或者接收不到数据?一直正常使用的....
的头像 ZLG致远电子 发表于 05-31 17:32 985次 阅读
CAN/RS-485总线为什么要隔离

增添哪些新成员?北斗地面增强系统实现1厘米定位

根据此前的官方消息,为了实现更为精确的导航和定位服务,目前已发射了6颗北斗三号卫星,还将在年底前发射....
的头像 章鹰 发表于 05-31 09:49 2895次 阅读
增添哪些新成员?北斗地面增强系统实现1厘米定位

通过CAN_BTR寄存器控制LBKM和SILM

每组过滤器组必须关联且只能关联一个 FIFO。复位默认都关联到 FIFO_0。所谓“关联”是指假如收....
的头像 21ic电子网 发表于 05-31 08:54 1086次 阅读
通过CAN_BTR寄存器控制LBKM和SILM

嵌入式系统分析工具

虽然软件开发人员并非硬件工程师,但准备一些有助于检测和操作硬件的工具仍然很有用。第一种必不可少的工具....
的头像 电子发烧友网 发表于 05-30 09:30 1475次 阅读
嵌入式系统分析工具

硬件工程师学习从何开始?市面上七大主流单片机的详细介绍

根据对象体系的功能复杂性和计算处理复杂性,提供的不同选择。对于简单的家电控制嵌入式系统,采用简单的8....
的头像 EDN电子long88.vip龙8国际龙8国际娱乐网站 发表于 05-30 08:40 2007次 阅读
硬件工程师学习从何开始?市面上七大主流单片机的详细介绍

CAN一致性测试内容及解决方案

新能源汽车行业的迅速发展,CAN总线问题日益突出,总线故障潜在问题极其严重。那么,如何保证CAN总线....
的头像 ZLG致远电子 发表于 05-29 09:14 2473次 阅读
CAN一致性测试内容及解决方案

基于嵌入式车载导航电子地图的龙8国际娱乐网站和实现

车辆远程诊断仪的主要功能是导航。导航功能的重点是行车路线龙8国际娱乐网站、自动车辆定位、综合信息服务、路径引导服....
的头像 电子龙8国际娱乐网站 发表于 05-29 03:35 1782次 阅读
基于嵌入式车载导航电子地图的龙8国际娱乐网站和实现

基于新型高性能超低功耗单片机MSP430F2274的倒车雷达

随着人们对汽车辅助驾驶系统智能化要求的提高和汽车电子系统的网络化发展,新型的倒车雷达应能够连续测距并....
发表于 05-28 09:47 46次 阅读
基于新型高性能超低功耗单片机MSP430F2274的倒车雷达

大神教你:嵌入式系统C++代码的变成技巧

在嵌入式软件long88.vip龙8国际中,C++语言具有较高的编程效率。但是,要实现高效率,还有许多问题需要特别注意。首先....
发表于 05-25 09:20 151次 阅读
大神教你:嵌入式系统C++代码的变成技巧

小白看过来!对初学者对嵌入式系统学习的误区及建议

嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业 控制、现代农业、家用电器、汽车电子、....
发表于 05-25 09:11 120次 阅读
小白看过来!对初学者对嵌入式系统学习的误区及建议

传统编程结构的局限性,使用“前后台方式”进行编程

使用“前后台方式”进行编程时,为保证任务(5)的及时性,使用了UART中断,当UART完成一个字节的....
的头像 21ic电子网 发表于 05-25 09:07 635次 阅读
传统编程结构的局限性,使用“前后台方式”进行编程

一分钟带你了解嵌入式系统的的学习方法

随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个....
发表于 05-25 09:03 88次 阅读
一分钟带你了解嵌入式系统的的学习方法

一文教会你:搭建完整的红外在线监控项目

随着互联网long88.vip龙8国际的发展,远程智能监控逐渐走进千家万户。但开发一套自动化监控项目的过程,却依旧十分繁琐复....
发表于 05-24 15:52 98次 阅读
一文教会你:搭建完整的红外在线监控项目

一文看懂:嵌入式风潮引领现代生活

呼啸而来的嵌入式风潮,正在悄悄地改变着一些传统行业的面貌。古老的、long88.vip龙8国际驱动的半导体行业,已经到了一个....
发表于 05-24 15:50 100次 阅读
一文看懂:嵌入式风潮引领现代生活

long88.vip龙8国际讲解:嵌入式智能人机界面与PLC的通讯

近年来,“嵌入式”一词越来越多的被人们提及,嵌入式产品被应用到各行各业。与嵌入式相关的long88.vip龙8国际如嵌入式产....
发表于 05-24 14:12 111次 阅读
long88.vip龙8国际讲解:嵌入式智能人机界面与PLC的通讯

RX600系列的新型RX65N/RX651微控制器

与此同时,瑞萨电子和软硬件及嵌入式系统开发工具供应商SEGGER宣布,双方将通过协作,为使用瑞萨电子....
的头像 瑞萨电子 发表于 05-24 08:49 2432次 阅读
RX600系列的新型RX65N/RX651微控制器

北斗与GPS信号兼容 可以让世界人民享受到更好、更精准的服务

物联网大环境中存在大量基于位置服务的定位应用,精准位置服务已然成为一大风口。而此次声明的正式签署,两....
发表于 05-21 17:18 417次 阅读
北斗与GPS信号兼容 可以让世界人民享受到更好、更精准的服务

赛普拉斯TrueTouchCYAT817触摸屏控制器以汽车级质量为核心

赛普拉斯汽车人机界面高级市场营销总监JingMu博士表示:“汽车制造商对车载信息娱乐用户界面的要求与....
发表于 05-21 07:01 166次 阅读
赛普拉斯TrueTouchCYAT817触摸屏控制器以汽车级质量为核心

嵌入式系统的软硬件协同龙8国际娱乐网站过程讲解

传统的先硬件后软件嵌入式系统的系统龙8国际娱乐网站模式需要反复修改、反复试验,整个龙8国际娱乐网站过程在很大程度上依赖于龙8国际娱乐网站....
发表于 05-20 09:10 307次 阅读
嵌入式系统的软硬件协同龙8国际娱乐网站过程讲解

认识一下这款名叫“CAN总线存储器”的神器

CAN总线数据不能及时查看怎么办?CAN总线数据过多没时间处理怎么办?想要回看CAN总线历史数据又怎....
的头像 广成CAN总线 发表于 05-20 08:08 1570次 阅读
认识一下这款名叫“CAN总线存储器”的神器

LABVIEW如何调用百度地图?

发表于 05-14 10:40 514次 阅读
LABVIEW如何调用百度地图?

有没有大神知道NI-CAN卡的应用的?

发表于 05-03 20:19 248次 阅读
有没有大神知道NI-CAN卡的应用的?

有偿求大佬做一个CAN总线传输的环境监测系统!

发表于 04-08 17:17 455次 阅读
有偿求大佬做一个CAN总线传输的环境监测系统!

labview解析hex文件后怎么用CAN 发送

发表于 03-27 14:55 525次 阅读
labview解析hex文件后怎么用CAN 发送

基于周立功CAN卡的labview上位机数据接受显示问题

发表于 03-23 11:40 346次 阅读
基于周立功CAN卡的labview上位机数据接受显示问题

求教:基于PXI-8513的CAN通讯

发表于 03-21 16:11 346次 阅读
求教:基于PXI-8513的CAN通讯

STM32之CAN---中断管理浅析

发表于 03-21 14:23 441次 阅读
STM32之CAN---中断管理浅析

STM32之CAN---TTCAN模式浅析

发表于 03-20 13:50 582次 阅读
STM32之CAN---TTCAN模式浅析