CN115080080A - 一种可用于多路CANopen网络的固件升级的装置、系统和方法 - Google Patents
一种可用于多路CANopen网络的固件升级的装置、系统和方法 Download PDFInfo
- Publication number
- CN115080080A CN115080080A CN202210431776.3A CN202210431776A CN115080080A CN 115080080 A CN115080080 A CN 115080080A CN 202210431776 A CN202210431776 A CN 202210431776A CN 115080080 A CN115080080 A CN 115080080A
- Authority
- CN
- China
- Prior art keywords
- sdo
- canopen
- network
- firmware
- gateway
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 18
- 101150008604 CAN1 gene Proteins 0.000 description 6
- 101150063504 CAN2 gene Proteins 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据通讯技术领域,尤指一种可用于多路CANopen网络的固件升级的装置、系统和方法,包含:控制芯片,所述控制芯片设有CAN输入接口和至少2个CAN输出接口,所述控制芯片设有bootloader程序和应用程序,所述bootloader程序设有SDO网关程序;所述bootloader程序用于对所述控制芯片内存进行固件刷写,所述SDO网关程序用于将固件升级数据包转发到不同的CANopen网络。由于所述装置设有SDO网关程序以及设有至少2个CAN输出接口,2个CAN输出接口可以分别连接2个CANopen网络,所述SDO网关程序可以实现固件升级数据包在2个CANopen网络之间转发,因此,本发明可以在不同的CANopen网络中对固件进行升级。
Description
技术领域
本发明涉及数据通讯技术领域,尤指一种可用于多路CANopen网络的固件升级的装置、系统和方法。
背景技术
采用基于CANopen协议的对终端节点进行固件升级,传统采用的方法是上位机软件通过CANUSB适配器在同一个CANopen网络中,对各个终端站点进行固件升级,实际场景使用过程中,由于结构设计以及出于安全考虑等特殊因素,对各个终端站点进行固件升级时,会采用不同的CAN网络中,因此传统的CANopen固件升级的方式不满足实际的应用需求,需要一种能在不同的CANopen网络中对固件进行升级的装置和方法。
发明内容
为解决上述问题,本发明的主要目的在于提供一种可用于多路CANopen网络的固件升级的装置、系统和方法,其可以在不同的CANopen网络中对固件进行升级。
为实现上述目的,本发明采用的技术方案是:
一种可用于多路CANopen网络的固件升级的装置,包含:控制芯片,所述控制芯片设有CAN输入接口和至少2个CAN输出接口,所述控制芯片设有bootloader程序和应用程序,所述bootloader程序设有SDO网关程序;其中,所述bootloader程序用于对所述控制芯片内存进行固件刷写,所述SDO网关程序用于将固件升级数据包转发到不同的CANopen网络。
进一步,所述SDO网关程序包括SDO服务器、SDO客户端以及SDO路由表。
进一步,所述SDO路由表包含:目标节点的网络ID、目标节点ID以及目标节点的CAN端口号。
进一步,所述控制芯片的型号为STM32F407。
本发明还提供一种可用于多路CANopen网络的固件升级的系统,包括PC端上位机、若干CAN网络以及如以上所述的一种可用于多路CANopen网络的固件升级的装置,所述PC端上位机与所述CAN输入接口连接,所述CAN网络与所述CAN输出接口连接;其中,所述CAN网络设有若干节点。
进一步,所述系统还包括USBCAN适配器,所述PC端上位机通过所述USBCAN适配器与所述CAN输入接口连接。
本发明还提供一种可用于多路CANopen网络的固件升级的方法,所述方法应用于一种可用于多路CANopen网络的固件升级的系统,所述方法包括以下步骤:
CANopen网络1的SDO节点1获取固件升级数据包;
建立CANopen网络1与CANopen网络2的SDO网关通讯通道;
CANopen网络1的SDO节点1客户端将所述固件升级数据包通过所述SDO网关通讯通道转发给CANopen网络2的SDO节点2服务器。
进一步,所述建立CANopen网络1与CANopen网络2的SDO网关通讯通道步骤包括:
CANopen网络1的SDO节点1客户端将目标节点的网络ID、目标节点ID以及目标节点的CAN端口号写入SDO网关的SDO路由表中,SDO网关查询写入的目标节点的网络ID、目标节点ID以及目标节点的CAN端口号是否存在SDO路由表中,如果存在,则建立CANopen网络1与目标节点所在CANopen网络的SDO网关通讯通道。
进一步,所述CANopen网络1的SDO节点1客户端将固件升级数据包通过所述SDO网关通讯通道转发给CANopen网络2的SDO节点2服务器步骤包括:
CANopen网络1的SDO节点1客户端将所述固件升级数据包经过SDO网关的SDO服务器转发给SDO网关的客户端,所述SDO网关的客户端通过CANopen接口2将所述固件升级数据包转发给CANopen网络2的SDO节点2服务器中。
本发明的有益效果在于:
本发明所述装置包含:控制芯片,所述控制芯片设有CAN输入接口和至少2个CAN输出接口,所述控制芯片设有bootloader程序和应用程序,所述bootloader程序设有SDO网关程序;所述bootloader程序用于对所述控制芯片内存进行固件刷写,所述SDO网关程序用于将固件升级数据包转发到不同的CANopen网络。由于所述装置设有SDO网关程序以及设有至少2个CAN输出接口,2个CAN输出接口可以分别连接2个CANopen网络,所述SDO网关程序可以实现固件升级数据包在2个CANopen网络之间转发,因此,本发明可以在不同的CANopen网络中对固件进行升级。
附图说明
图1是本发明的一种可用于多路CANopen网络的固件升级的系统的示意图。
图2是本发明所述CANopen网络1与CANopen网络2进行通讯的示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
本发明提供一种可用于多路CANopen网络的固件升级的装置,包含:控制芯片,所述控制芯片设有CAN输入接口和至少2个CAN输出接口,所述控制芯片设有bootloader程序和应用程序,所述bootloader程序设有SDO网关程序;所述bootloader程序用于对所述控制芯片内存进行固件刷写,所述SDO网关程序用于将固件升级数据包转发到不同的CANopen网络。所述SDO网关程序包括SDO服务器、SDO客户端以及SDO路由表;需要说明的是,CANopen协议存在一种数据收发的协议/机制,称之为SDO协议,该协议属于客户端-服务器模型,也就是作为SDO客户端的CAN节点会主动发送数据,作为SDO服务器节点会接收响应数据,这里为了实现数据转发功能,在一个硬件上同网关,该网关同时支持SDO服务器和SDO客户端,网关内部有:第一。对接CAN1的SDO服务器和SDO客户端,路由表1;第二。对接CAN2的SDO服务器和SDO客户端,路由表2;第三。路由表的作用是指定了数据传输通道路线;在数据转发前,改路由表会被填入对应的目标节点的网络ID、目标节点ID以及目标节点的CAN端口号,根据三个信息,建立了数据传输通道;当数据从CAN1转发到CAN2中:对接外部CAN1服务器接收外部CAN总线上其他CAN节点通过SDO客户端发送过来的SDO数据,根据在路由表1建立起的传输通道,对接外部CAN2的SDO客户端会将对接CAN1的SDO服务器收到的数据转发给外部CAN2总线上的SDO服务器。数据从CAN2转发到CAN1与数据从CAN1转发到CAN2的原理类似。
所述SDO路由表包含:目标节点的网络ID、目标节点ID以及目标节点的CAN端口号,该SDO路由表中的这三个参数在对象字典0x1F2C中被定义。所述控制芯片的型号为STM32F407。
在上述方案中,由于所述装置设有SDO网关程序以及设有至少2个CAN输出接口,2个CAN输出接口可以分别连接2个CANopen网络,所述SDO网关程序可以实现固件升级数据包在2个CANopen网络之间转发,因此,本发明可以在不同的CANopen网络中对固件进行升级。
需要说明的是,CANopen的SDO协议是主要的数据传输协议,主动发起数据请求的是SDO客户端,被访问以及提供请求服务应答的是SDO客户端,一个普通的SDO报文包含4个字节的有效数据。
请参阅图1所示,本发明还提供一种可用于多路CANopen网络的固件升级的系统,包括PC端上位机、若干CAN网络以及如以上所述的一种可用于多路CANopen网络的固件升级的装置,所述PC端上位机与所述CAN输入接口连接,所述CAN网络与所述CAN输出接口连接;其中,所述CAN网络设有若干节点,所述节点可以指的是设备终端站点。进一步地,所述系统还包括USBCAN适配器,所述PC端上位机通过所述USBCAN适配器与所述CAN输入接口连接。
在上述方案中,所述PC端上位机通过所述USBCAN适配器将固件升级数据包传输给所述一种可用于多路CANopen网络的固件升级的装置,所述一种可用于多路CANopen网络的固件升级的装置将所述固件升级数据包转发给不同的CANopen网络,所述节点在相应的CANopen网络中获取所述固件升级数据包后进行固件升级。
本发明还提供一种可用于多路CANopen网络的固件升级的方法,所述方法应用于一种可用于多路CANopen网络的固件升级的系统,所述方法包括以下步骤:
CANopen网络1的SDO节点1获取固件升级数据包;
建立CANopen网络1与CANopen网络2的SDO网关通讯通道;
CANopen网络1的SDO节点1客户端将所述固件升级数据包通过所述SDO网关通讯通道转发给CANopen网络2的SDO节点2服务器。
请参阅图2所示,所述建立CANopen网络1与CANopen网络2的SDO网关通讯通道步骤包括:CANopen网络1的SDO节点1客户端将目标节点的网络ID、目标节点ID以及目标节点的CAN端口号写入SDO网关的SDO路由表中,SDO网关查询写入的目标节点的网络ID、目标节点ID以及目标节点的CAN端口号是否存在SDO路由表中,如果存在,则建立CANopen网络1与目标节点所在CANopen网络的SDO网关通讯通道。进一步地,所述CANopen网络1的SDO节点1客户端将固件升级数据包通过所述SDO网关通讯通道转发给CANopen网络2的SDO节点2服务器步骤包括:CANopen网络1的SDO节点1客户端将所述固件升级数据包经过SDO网关的SDO服务器转发给SDO网关的客户端,所述SDO网关的客户端通过CANopen接口2将所述固件升级数据包转发给CANopen网络2的SDO节点2服务器中。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。
Claims (9)
1.一种可用于多路CANopen网络的固件升级的装置,其特征在于,包含:控制芯片,所述控制芯片设有CAN输入接口和至少2个CAN输出接口,所述控制芯片设有bootloader程序和应用程序,所述bootloader程序设有SDO网关程序;其中,
所述bootloader程序用于对所述控制芯片内存进行固件刷写,所述SDO网关程序用于将固件升级数据包转发到不同的CANopen网络。
2.根据权利要求1所述的一种可用于多路CANopen网络的固件升级的装置,其特征在于:所述SDO网关程序包括SDO服务器、SDO客户端以及SDO路由表。
3.根据权利要求2所述的一种可用于多路CANopen网络的固件升级的装置,其特征在于:所述SDO路由表包含:目标节点的网络ID、目标节点ID以及目标节点的CAN端口号。
4.根据权利要求1所述的一种可用于多路CANopen网络的固件升级的装置,其特征在于:所述控制芯片的型号为STM32F407。
5.一种可用于多路CANopen网络的固件升级的系统,其特征在于:包括PC端上位机、若干CAN网络以及如权利要求1-4任一项所述的一种可用于多路CANopen网络的固件升级的装置,所述PC端上位机与所述CAN输入接口连接,所述CAN网络与所述CAN输出接口连接;其中,所述CAN网络设有若干节点。
6.根据权利要求5所述的一种可用于多路CANopen网络的固件升级的系统,其特征在于:所述系统还包括USBCAN适配器,所述PC端上位机通过所述USBCAN适配器与所述CAN输入接口连接。
7.一种可用于多路CANopen网络的固件升级的方法,其特征在于:所述方法应用于一种可用于多路CANopen网络的固件升级的系统,所述方法包括以下步骤:
CANopen网络1的SDO节点1获取固件升级数据包;
建立CANopen网络1与CANopen网络2的SDO网关通讯通道;
CANopen网络1的SDO节点1客户端将所述固件升级数据包通过所述SDO网关通讯通道转发给CANopen网络2的SDO节点2服务器。
8.根据权利要求7所述的一种可用于多路CANopen网络的固件升级的方法,其特征在于:所述建立CANopen网络1与CANopen网络2的SDO网关通讯通道步骤包括:
CANopen网络1的SDO节点1客户端将目标节点的网络ID、目标节点ID以及目标节点的CAN端口号写入SDO网关的SDO路由表中,SDO网关查询写入的目标节点的网络ID、目标节点ID以及目标节点的CAN端口号是否存在SDO路由表中,如果存在,则建立CANopen网络1与目标节点所在CANopen网络的SDO网关通讯通道。
9.根据权利要求8所述的一种可用于多路CANopen网络的固件升级的方法,其特征在于:所述CANopen网络1的SDO节点1客户端将固件升级数据包通过所述SDO网关通讯通道转发给CANopen网络2的SDO节点2服务器步骤包括:
CANopen网络1的SDO节点1客户端将所述固件升级数据包经过SDO网关的SDO服务器转发给SDO网关的客户端,所述SDO网关的客户端通过CANopen接口2将所述固件升级数据包转发给CANopen网络2的SDO节点2服务器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210431776.3A CN115080080A (zh) | 2022-04-22 | 2022-04-22 | 一种可用于多路CANopen网络的固件升级的装置、系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210431776.3A CN115080080A (zh) | 2022-04-22 | 2022-04-22 | 一种可用于多路CANopen网络的固件升级的装置、系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080080A true CN115080080A (zh) | 2022-09-20 |
Family
ID=83247504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210431776.3A Pending CN115080080A (zh) | 2022-04-22 | 2022-04-22 | 一种可用于多路CANopen网络的固件升级的装置、系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080080A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116800557A (zh) * | 2023-08-21 | 2023-09-22 | 成都炎兴自动化技术有限公司 | 一种基于CANOpen应用协议的CAN总线融合通信系统 |
-
2022
- 2022-04-22 CN CN202210431776.3A patent/CN115080080A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116800557A (zh) * | 2023-08-21 | 2023-09-22 | 成都炎兴自动化技术有限公司 | 一种基于CANOpen应用协议的CAN总线融合通信系统 |
CN116800557B (zh) * | 2023-08-21 | 2023-12-29 | 成都炎兴自动化技术有限公司 | 一种基于CANOpen应用协议的CAN总线融合通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2869509B1 (en) | Method, apparatus, and system for processing data packet | |
US20160212696A1 (en) | Data Packet Processing Method, Network Traffic Management Method, Apparatus, and System | |
CN111247777A (zh) | 数据发送/接收设备和数据发送/接收设备的操作方法 | |
EP3726788A1 (en) | Method for controlling network congestion, access device, and computer readable storage medium | |
EP3761708A1 (en) | Communication method and device | |
CN101242284B (zh) | 基于spi总线的通信方法和网络设备 | |
CN111431787B (zh) | 一种隧道建立方法、装置及计算机可读存储介质 | |
CN104202313A (zh) | 数据转发方法及网关 | |
EP3958645A1 (en) | Data radio bearer control method, device, and system for multi-connection system | |
CN115080080A (zh) | 一种可用于多路CANopen网络的固件升级的装置、系统和方法 | |
CN100518126C (zh) | 配置gre隧道的方法及路由器 | |
CN109660459B (zh) | 一种物理网关及其复用ip地址的方法 | |
WO2021031092A1 (zh) | 报文处理方法及网络设备 | |
CN109587749A (zh) | 数据发送方法和系统 | |
WO2022087795A1 (zh) | 资源映射方法、装置、设备及存储介质 | |
US11451513B2 (en) | Notification device and notification method | |
EP2600643A1 (en) | Method, system and related equipment for transmitting service type information | |
EP2858415B1 (en) | Multi-link-based data transmission method and device | |
CN114301831A (zh) | 一种业务传输方法、装置及存储介质 | |
CN109150725B (zh) | 流量疏导方法及服务器 | |
US8165137B2 (en) | Fast database migration | |
CN113938349B (zh) | 无线工业总线通信方法及系统 | |
JP2008517521A (ja) | Sgsnとggsnの統合 | |
US7957420B2 (en) | Packet transfer method and packet transfer node | |
CN111866195B (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 |