CN107678792A - 一种基于can总线的多余度目标机在线加载方法 - Google Patents

一种基于can总线的多余度目标机在线加载方法 Download PDF

Info

Publication number
CN107678792A
CN107678792A CN201710795860.2A CN201710795860A CN107678792A CN 107678792 A CN107678792 A CN 107678792A CN 201710795860 A CN201710795860 A CN 201710795860A CN 107678792 A CN107678792 A CN 107678792A
Authority
CN
China
Prior art keywords
target machine
message block
passage
host computer
hands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710795860.2A
Other languages
English (en)
Inventor
滕涌澎
罗星原
马瑞
徐建军
杜林�
苏春宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Flight Automatic Control Research Institute of AVIC
Original Assignee
Xian Flight Automatic Control Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Flight Automatic Control Research Institute of AVIC filed Critical Xian Flight Automatic Control Research Institute of AVIC
Priority to CN201710795860.2A priority Critical patent/CN107678792A/zh
Publication of CN107678792A publication Critical patent/CN107678792A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Abstract

本发明涉及一种基于CAN总线的多余度目标机在线加载方法。上位机通过CAN接口卡连接多个目标机。目标机上电时,引导加载程序主动向上位机发送本通道握手请求CAN帧,上位机软件收到并立即返回握手回复CAN帧。目标机在T时间内如果收到上位机的握手回复CAN帧,则表示本通道握手成功,进入烧写模式。如果未收到,进入正常运行模式。上位机软件通过握手获取各通道目标机状态,并根据需要对各通道执行擦除、烧写、校验等操作。该方法利用CAN总线广播式通信的优点,操作简单灵活,适应性、扩展性强,不依赖任何标志位,避免了由于标志位异常导致目标机无法加载故障的发生,可靠性强,提高了嵌入式开发的效率。

Description

一种基于CAN总线的多余度目标机在线加载方法
技术领域
本发明属于嵌入式软件开发技术,具体涉及一种基于CAN总线的多余度目标机在线加载方法。
背景技术
在嵌入式系统中,传统的目标机软件在线加载方法多是基于串口的点对点通信。当目标机是多余度时,上位机软件需运行在具有多个串口资源的PC机上,对多个串口分别配置。由于不同PC机的串口属性不尽相同,因此上位机软件运行在不同PC机上时,串口配置会发生变化,这种方式连线复杂,灵活性差,操作繁琐易出错。
此外,在判断是否进入加载模式或正常执行模式时,传统的目标机端程序会根据一个标志位来判别。一种情况是标志位存放在非易失存储器中,由应用程序置位,由引导加载程序在加载完毕后清除。另一种情况是标志位对应一个外部加载开关,当开关打开时进入加载模式,关闭时进入正常运行模式。这两种情况下,目标机均被动性的依赖标志位的可靠性,当操作标志位的程序出现异常或者外部开关发生故障时,均可导致目标机无法加载程序,影响开发效率。
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的现场总线,CAN协议的特性包括完整性的串行数据通讯、结构简单、实时性强、传输速率高,可靠性强,被广泛的应用于工业自动化、船舶、医疗设备、工业设备等方面。CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,可以实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的调度。
发明内容
本发明的目的是:提供一种基于CAN总线广播式通信的,操作简单,灵活性高,可靠性强的多余度目标机在线加载方法。
本发明采取的技术方案如图1和图2所示:上位机通过CAN总线连接多个目标机。目标机程序由引导加载程序和应用程序构成。目标机上电时首先执行引导加载程序,引导加载程序主动向上位机发送本通道握手请求CAN帧,如果上位机软件已进入加载状态,就会收到目标机的握手请求CAN帧,并立即返回握手回复CAN帧。目标机在T时间内如果收到上位机的握手回复CAN帧,则表示本通道握手成功,进入烧写模式。如果未收到,进入正常运行模式,跳转到应用程序中运行。上位机软件在目标机上电后可获取各通道目标机状态,并根据需要对各通道执行擦除、烧写、校验等操作。
具体包括以下步骤:
步骤1给每一个目标机分配四个CAN消息块:发送握手请求CAN消息块(1)、接收握手回复CAN消息块(2)、接收指令CAN消息块(3)、发送指令回复CAN消息块(4)。确保每个目标机的不同CAN消息块ID号不同,不同目标机的同类CAN消息块ID号不同;
步骤2上位机程序中,每个加载进程对应一个目标机,给每个进程分配四个与目标机对应的CAN消息块:接收握手请求CAN消息块(1*)、发送握手回复CAN消息块(2*)、发送指令CAN消息块(3*)、接收指令回复CAN消息块(4*)。所述接收握手请求CAN消息块(1*)与发送握手请求CAN消息块(1)具有相同的ID号;所述发送握手回复CAN消息块(2*)与接收握手回复CAN消息块(2)具有相同的ID号;所述发送指令CAN消息块(3*)与接收指令CAN消息块(3)具有相同的ID号;所述接收指令回复CAN消息块(4*)与发送指令回复CAN消息块(4)具有相同的ID号;
步骤3将CAN接口卡通过USB连接线与上位机相连,通过CAN总线与多目标机相连;打开上位机加载软件,并启动多个加载进程,同时监听多目标机的握手请求CAN帧;
步骤4上电启动多目标机,启动后执行引导加载程序;引导加载程序主动向CAN总线发送本通道握手请求CAN帧,上位机对应通道的加载进程根据CAN帧ID号收到此握手请求,上位机置本通道握手成功标志有效;之后立即向CAN总线发送此通道的握手回复CAN帧;本通道目标机会收到对应ID号的握手回复CAN帧,则本通道握手成功;如果握手成功时间t小于引导加载程序的握手时间门限T,则本通道目标机进入在线加载模式;
步骤5步骤3和步骤4执行后,上位机加载软件会获取经过有效握手进入在线加载模式的通道,通过向有效通道发送指令CAN帧控制对应目标机执行擦除、烧写、校验等操作,并通过接收目标机的指令回复CAN帧接收对应通道的指令回复,从而完成对应通道的在线加载过程;
步骤6如果不进行在线加载操作,多目标机不与CAN接口卡进行连接,上电启动后,首先进入引导加载程序中,引导加载程序主动向CAN总线发送本通道握手请求CAN帧,由于没有建立CAN连接,在T时间内无法收到本通道的握手回复CAN帧,则进入正常运行模式,跳转至应用程序执行。
该方法利用CAN总线广播式通信的优点,不同目标机通过具有不同ID的CAN消息块与上位机通信,只需确定好目标机程序和上位机程序CAN消息块ID的对应关系,上位机程序就可运行在不同的PC机上,而不用修改任何配置,操作简单,适应性强。如果需要增加目标机余度数,只需增加相应的CAN消息块和及其对应关系即可,扩展性强。此外,与传统方法中被动的依赖标志位来判断是否进入加载模式不同,本方法是由目标机的引导加载程序主动建立握手,并通过在握手时间门限T内是否握手成功来决定是否进入加载模式,不依赖任何标志位,避免了由于标志位异常导致目标机无法加载故障的发生,可靠性强,提高了嵌入式开发的效率。
附图说明
图1为基于CAN总线的多余度目标机在线加载方法连接拓扑图;
图2为基于CAN总线的多余度目标机在线加载方法数据流图;
其中图2中1、2、3、4代表含义:
1:启动时主动发送握手请求CAN帧
2:返回握手回复CAN帧
3:发送命令回复CAN帧
4:返回命令回复CAN帧。
具体实施方式
结合附图1和附图2所示,选取基于MPC5634处理器的的三余度目标机为实施例,MPC5634具有两条CAN总线,其中CAN总线A具有64个CAN消息块。本发明的具体实施步骤如下:
步骤1如表1所示,给三个通道目标机的四个CAN消息块分别分配ID号。将三个通道的接收握手回复CAN消息块、接收指令CAN消息块配置为接收模式。用于发送的CAN消息块不需要配置。
步骤2上位机程序中,每个加载进程对应一个目标机,如表2所示,给上位机三个进程的各个CAN消息块分配ID号。表1和表2中对应功能的CAN消息块的ID号相同。如果要执行加载操作,执行步骤3、4、5。如果不执行加载操作,执行步骤6。
步骤3如果要执行加载操作,将工业级智能CAN数据接口卡USBCAN-II通过USB连接线与PC机相连,通过CAN总线与三余度目标机相连。打开上位机加载软件,并启动多个加载进程,同时监听多目标机的握手请求CAN帧。
步骤4上电启动多目标机,以目标机A为例,启动后执行引导加载程序。引导加载程序主动向CAN总线发送本通道握手请求CAN帧(ID号:0x1A),上位机A通道加载进程根据此ID号收到此握手请求,并置A通道握手成功标志有效。之后立即向CAN总线发送A通道握手回复CAN帧(ID号:0x2A)。目标机A会收到此握手回复CAN帧,并置本通道握手成功。如果握手成功时间t小于引导加载程序的握手时间门限T,则本通道目标机进入在线加载模式。
步骤5步骤3和步骤4执行后,上位机A通道加载进程与目标机A握手成功,通过向A通道发送指令CAN帧(ID号:0x3A)控制目标机A执行擦除、烧写、校验等操作,并通过接收目标机A的指令回复CAN帧(ID号:0x4A)接收对应通道的指令回复,从而完成目标机A的在线加载过程。其余2余度目标机的操作流程与A通道一致。
步骤6如果不进行在线加载操作,多目标机不与CAN接口卡进行连接,上电启动后,首先进入引导加载程序中,引导加载程序主动向CAN总线发送本通道握手请求CAN帧,由于没有建立CAN连接,在T时间内无法收到本通道的握手回复CAN帧,则进入正常运行模式,跳转至应用程序执行。
A通道 B通道 C通道
1发送握手请求CAN消息块 0x1A 0x1B 0x1C
2接收握手回复CAN消息块 0x2A 0x2B 0x2C
3接收指令CAN消息块 0x3A 0x3B 0x3C
4发送指令回复CAN消息块 0x4A 0x4B 0x4C
表1目标机端CAN消息块ID分配表
表2上位机端CAN消息块ID分配表。

Claims (1)

1.一种基于CAN总线的多余度目标机在线加载方法,其特征在于,上位机通过CAN总线连接多个目标机,目标机程序由引导加载程序和应用程序构成,具体包括以下步骤:
步骤1给每一个目标机分配四个CAN消息块:发送握手请求CAN消息块(1)、接收握手回复CAN消息块(2)、接收指令CAN消息块(3)、发送指令回复CAN消息块(4)。确保每个目标机的不同CAN消息块ID号不同,不同目标机的同类CAN消息块ID号不同;
步骤2上位机程序中,每个加载进程对应一个目标机,给每个进程分配四个与目标机对应的CAN消息块:接收握手请求CAN消息块(1*)、发送握手回复CAN消息块(2*)、发送指令CAN消息块(3*)、接收指令回复CAN消息块(4*)。所述接收握手请求CAN消息块(1*)与发送握手请求CAN消息块(1)具有相同的ID号;所述发送握手回复CAN消息块(2*)与接收握手回复CAN消息块(2)具有相同的ID号;所述发送指令CAN消息块(3*)与接收指令CAN消息块(3)具有相同的ID号;所述接收指令回复CAN消息块(4*)与发送指令回复CAN消息块(4)具有相同的ID号;
若执行加载操作,则执行步骤3、4、5;若不进行在线加载操作,则执行步骤6;
步骤3将CAN接口卡通过USB连接线与上位机相连,通过CAN总线与多目标机相连;打开上位机加载软件,并启动多个加载进程,同时监听多目标机的握手请求CAN帧;
步骤4上电启动多目标机,启动后执行引导加载程序;引导加载程序主动向CAN总线发送本通道握手请求CAN帧,上位机对应通道的加载进程根据ID号收到此握手请求,上位机置本通道握手成功标志有效;之后上位机立即向CAN总线发送此通道的握手回复CAN帧;本通道目标机会收到对应ID号的握手回复CAN帧,则本通道握手成功;如果握手成功时间t小于引导加载程序的握手时间门限T,则本通道目标机进入在线加载模式;
步骤5步骤3和步骤4执行后,上位机加载软件会获取经过有效握手进入在线加载模式的通道,通过向有效通道发送指令CAN帧控制对应目标机执行擦除、烧写、校验等操作,并通过接收目标机的指令回复CAN帧接收对应通道的指令回复,从而完成对应通道的在线加载过程;
步骤6多目标机不与CAN接口卡进行连接,上电启动后,首先进入引导加载程序中,引导加载程序主动向CAN总线发送本通道握手请求CAN帧,由于没有建立CAN连接,在T时间内无法收到本通道的握手回复CAN帧,则进入正常运行模式,跳转至应用程序执行。
CN201710795860.2A 2017-09-06 2017-09-06 一种基于can总线的多余度目标机在线加载方法 Pending CN107678792A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710795860.2A CN107678792A (zh) 2017-09-06 2017-09-06 一种基于can总线的多余度目标机在线加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710795860.2A CN107678792A (zh) 2017-09-06 2017-09-06 一种基于can总线的多余度目标机在线加载方法

Publications (1)

Publication Number Publication Date
CN107678792A true CN107678792A (zh) 2018-02-09

Family

ID=61134983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710795860.2A Pending CN107678792A (zh) 2017-09-06 2017-09-06 一种基于can总线的多余度目标机在线加载方法

Country Status (1)

Country Link
CN (1) CN107678792A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495744A (zh) * 2011-11-29 2012-06-13 湖南南车时代电动汽车股份有限公司 基于can总线的电动汽车电控设备控制软件升级方法
CN103279371A (zh) * 2013-05-22 2013-09-04 杭州电子科技大学 一种分布式控制系统多从机程序在线同步升级的方法
CN103559066A (zh) * 2013-11-19 2014-02-05 上海创程车联网络科技有限公司 基于canopen协议的嵌入式软件升级方法
CN104765632A (zh) * 2015-04-15 2015-07-08 南京汽车集团有限公司 一种BootLoader的管理方法
CN105302591A (zh) * 2014-08-01 2016-02-03 联创汽车电子有限公司 双mcu架构系统更新程序的通信方法
CN106874018A (zh) * 2017-03-16 2017-06-20 武汉理工大学 一种电动汽车电动空调控制器软件刷新系统和方法
CN106897088A (zh) * 2017-01-19 2017-06-27 深圳市沃特玛电池有限公司 软件升级系统及软件升级方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495744A (zh) * 2011-11-29 2012-06-13 湖南南车时代电动汽车股份有限公司 基于can总线的电动汽车电控设备控制软件升级方法
CN103279371A (zh) * 2013-05-22 2013-09-04 杭州电子科技大学 一种分布式控制系统多从机程序在线同步升级的方法
CN103559066A (zh) * 2013-11-19 2014-02-05 上海创程车联网络科技有限公司 基于canopen协议的嵌入式软件升级方法
CN105302591A (zh) * 2014-08-01 2016-02-03 联创汽车电子有限公司 双mcu架构系统更新程序的通信方法
CN104765632A (zh) * 2015-04-15 2015-07-08 南京汽车集团有限公司 一种BootLoader的管理方法
CN106897088A (zh) * 2017-01-19 2017-06-27 深圳市沃特玛电池有限公司 软件升级系统及软件升级方法
CN106874018A (zh) * 2017-03-16 2017-06-20 武汉理工大学 一种电动汽车电动空调控制器软件刷新系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
电子工程: "如何解决总线通讯数据冲突的问题", 《HTTPS://WWW.ZHIHU.COM/QUESTION/47981601/ANSWER/108500725》 *

Similar Documents

Publication Publication Date Title
CN103081418B (zh) 计算机系统和计算机系统中的通信方法
CN108713309B (zh) Sd-wan系统、sd-wan系统的使用方法及相关装置
CN104518993A (zh) 云化网络通信路径的分配方法、装置及系统
CN102273179B (zh) 一种终端批量升级方法及装置
CN111880902A (zh) 一种pod创建方法、装置、设备及可读存储介质
CN103476023A (zh) 接入点设备的配置方法、接入控制器及通信系统
CN103095565A (zh) 一种软件定义网络操作系统及其实现方法
CN108800446A (zh) 空调系统及空调系统中机组间的通信方法
CN104580029B (zh) 地址分配方法及装置
CN104253767A (zh) 一种虚拟分片网络的实现方法及一种交换机
CN104486234A (zh) 一种将业务交换机卸载到物理网卡的方法及服务器
CN105357664A (zh) 一种无线控制系统及其数据通信方法
CN108592310A (zh) 空调系统及空调系统中机组间的通信方法
CN103634417A (zh) 一种分配节点地址的方法及一种计算机网络体系结构
CN105577540A (zh) 一种业务链路的建立方法、装置及系统
CN106452873A (zh) 软件定义网络中的控制方法,控制设备和处理器
CN104683428A (zh) 网络业务处理方法与装置
CN103326887A (zh) 一种接口管理方法及系统
CN105224489A (zh) 一种硬件设备的集成管理系统
US9038050B2 (en) Low or medium voltage electric power distribution network
CN110532202A (zh) 一种存储集群系统、数据传输方法和装置
CN105262604A (zh) 虚拟机迁移方法及设备
CN112511621B (zh) 数据发送方法及装置、存储介质、电子装置
CN102238571B (zh) 物联网m2m业务处理的装置、系统以及方法
CN108600011A (zh) 通信网络数据传输的方法、装置、存储介质及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180209