CN112311641A - 基于can通讯的上位机与下位机的通信方法及系统 - Google Patents
基于can通讯的上位机与下位机的通信方法及系统 Download PDFInfo
- Publication number
- CN112311641A CN112311641A CN202011598983.5A CN202011598983A CN112311641A CN 112311641 A CN112311641 A CN 112311641A CN 202011598983 A CN202011598983 A CN 202011598983A CN 112311641 A CN112311641 A CN 112311641A
- Authority
- CN
- China
- Prior art keywords
- computer
- token
- data
- upper computer
- command
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Abstract
本发明实施例公开了一种基于CAN通讯的上位机与下位机的通信方法及系统,所述方法包括:步骤S1:上位机从选择一下位机作为令牌管理者,并给令牌管理者发送配置信息;步骤S2:上位机广播启动命令并等待下位机反馈的数据;步骤S3:各下位机收到启动命令后开始采样;步骤S4:令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;按照顺序向其他下位机发送令牌命令;步骤S5:接收到令牌命令的下位机发送数据至上位机;步骤S6:上位机收到数据后,根据所述协议来解包数据,完成通信。本发明可以使得上位机的通讯逻辑得到较大程度上的简化,减轻了上位机的工作负担和代码的复杂程度。
Description
技术领域
本发明涉及新能源汽车通信技术领域,尤其涉及一种基于CAN通讯的上位机与下位机的通信方法及系统。
背景技术
在汽车领域内CAN能够实现分布式实时控制。能够将多种智能机器进行网络连接,并进行统一控制,特别是在上位机与下位机通信时,可以通过连续帧来进行大量数据的传输,提高效率。
一般多帧报文会根据协议的内容,进行连续的发送,因此需要上位机下发多帧报文发送命令,下位机才会响应,但是因为上位机系统运行的过程中有着各种逻辑需要处理,什么时候给下位机发送命令需要考虑各种因素,导致通讯模块的逻辑一般会比较复杂,特别是总线上搭载多台下位机的时候,上位机不仅要处理各种功能的逻辑,还要考虑给多台下位机发送命令的顺序,因为上位机不能同时接收多台下位机发送的多帧数据,必须一台一台进行接收,再加上数据的解析,导致多台下位机多帧通讯的管控逻辑一般都较为复杂。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于CAN通讯的上位机与下位机的通信方法及系统,以简化上位机的管控逻辑,让上位机有更多的资源分配给其他功能逻辑。
为了解决上述技术问题,本发明实施例提出了一种基于CAN通讯的上位机与下位机的通信方法,包括:
步骤S1:上位机从多台下位机中选择一下位机作为令牌管理者,并给令牌管理者发送配置信息;
步骤S2:上位机广播启动命令并等待下位机反馈的数据;
步骤S3:各下位机收到启动命令后开始采样;
步骤S4:令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;排序完毕后按照顺序向其他下位机发送令牌命令;
步骤S5:接收到令牌命令的下位机根据帧的数据和预设的协议内容来发送数据至上位机;
步骤S6:上位机收到数据后,根据所述协议来解包数据,完成通信。
相应地,本发明实施例还提供了一种基于CAN通讯的上位机与下位机的通信系统,包括上位机及多台下位机,
上位机:从多台下位机中选择一下位机作为令牌管理者,并给令牌管理者发送配置信息;广播启动命令并等待下位机反馈的数据;收到下位机反馈的数据后,根据预设的协议来解包数据,完成通信;
各下位机收到启动命令后开始采样;
令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;排序完毕后按照顺序向其他下位机发送令牌命令;
接收到令牌命令的下位机根据帧的数据和预设的协议内容来发送数据至上位机。
本发明的有益效果为:本发明可以使得上位机的通讯逻辑得到较大程度上的简化,因为有某台下位机在进行发送顺序的管控,上位机只需接收即可,在每个程序循环的时候进行数据的读取并根据协议内容加以解析,减轻了上位机的工作负担和代码的复杂程度。
附图说明
图1是本发明实施例的基于CAN通讯的上位机与下位机的通信方法的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。
本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
请参照图1,本发明实施例的基于CAN通讯的上位机与下位机的通信方法包括步骤S1~步骤S6。
步骤S1:上位机从多台下位机中选择一下位机作为令牌管理者,并给令牌管理者发送配置信息。配置信息包括令牌管理者是谁,被令牌管理的下位机有哪些,每台下位机要采样什么数据,采样频率,令牌发送间隔等。
步骤S2:上位机广播启动命令并等待下位机反馈的数据。
步骤S3:各下位机收到启动命令后开始采样。
步骤S4:令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;排序完毕后按照顺序向其他下位机发送令牌命令。令牌命令为一帧CAN数据,令牌是协议定的,上位机给令牌管理者配置的时候会配置清楚。
步骤S5:接收到令牌命令的下位机根据帧的数据和预设的协议内容来发送数据至上位机。
步骤S6:上位机收到数据后,根据所述协议来解包数据,完成通信。
作为一种实施方式,步骤S4包括:
子步骤S41:令牌管理者根据设置好的时间间隔开始计时,在时间到后,令牌管理者给需要发送数据的下位机发送令牌命令;
子步骤S42:该下位机接收到令牌命令后,将采样数据通过连续帧发送给上位机。
作为一种实施方式,步骤S6之后还包括:
步骤S7:上位机根据用户设置广播停止命令,各下位机采样结束并等待新命令。一般使用的时候,上位机给出开始的命令之后,下位机会不停给上位机数据,这个过程会持续较长的时间,然后用户认为要停下来,才会操控上位机发停止指令。
一般来说,总线上有较多的机器且需要进行多帧通讯的时候,因连续帧的发送需要接收方持续接收,上位机必须要控制下位机数据发送的顺序。本发明通过将多帧数据发送顺序的管控逻辑集成到下位机的软件系统里,通过下位机自己给自己和总线上的其他机器发送令牌命令来进行数据顺序的管控。每台下位机都有令牌发送和接收的逻辑,让上位机对总线上某一台机器发送令牌管控的命令,该机器(令牌管理者)会先查找总线上所有机器,并进行排序,排序完毕后按照顺序发送令牌命令,接收到令牌命令的机器根据帧的数据和预先定义好的协议内容来发送数据至上位机,而上位机只需根据协议来解包数据即可。
示例1,本发明实施例应用于软件示波器:上位机将令牌管理者和各示波器通道的配置信息下发到下位机之后,等待下位机反馈的信息,而下位机什么时候将数据反馈到上位机,由下位机中的令牌管理者决定,这就不需要在每个循环里调度上位机去询问数据,上位机只管接收并按协议解析各种数据即可,让上位机有更多的资源去管理其他逻辑。
本发明实施例的通讯协议:帧的定义,具体如表1所示。
表1
示例1具体步骤为:
步骤S1,上位机选择令牌管理者,并给令牌管理者发送配置信息(总线上哪些机器需要给上位机发送数据和这些机器各自的数据的发送周期)。
设置令牌管理者:
1F3001xx(CANID) 01 98 00 10(令牌管理寄存器)00 01 00 01(下位机ID);
设置被令牌管理的下位机:
1F3001xx(CANID)01 98 00 10(令牌管理寄存器)00 01 00 02(下位机ID);
1F3001xx(CANID)01 98 00 10(令牌管理寄存器)00 01 00 03(下位机ID);
……
1F3001xx(CANID)01 98 00 10(令牌管理寄存器)00 01 xx xx(下位机ID)。
步骤S2,上位机广播启动命令并等待数据。
配置示波器各通道信息:
1F3001xx(CANID)01 99 00 01(示波器通道1)00 01 xx xx(示波器通道地址)
1F3001xx(CANID)01 99 00 02(示波器通道2)00 01 xx xx(示波器通道地址)
1F3001xx(CANID)01 99 00 0x(示波器通道x)00 01 xx xx(示波器通道地址)
1F3002xx(CANID)01 99 00 01(示波器通道1)00 01 xx xx(示波器通道地址)
1F3002xx(CANID)01 99 00 02(示波器通道2)00 01 xx xx(示波器通道地址)
1F3002xx(CANID)01 99 00 0x(示波器通道x)00 01 xx xx(示波器通道地址)
1F30yyxx(CANID)01 99 00 01(示波器通道1)00 01 xx xx(示波器通道地址)
1F30yyxx(CANID)01 99 00 02(示波器通道2)00 01 xx xx(示波器通道地址)
1F30yyxx(CANID)01 99 00 0x(示波器通道x)00 01 xx xx(示波器通道地址)
广播命令:
1F3000xx(CANID)01 97 00 02(清零缓存)
1F3000xx(CANID)01 97 00 01(启动示波器)。
步骤S3,各机器开始采样。
步骤S4,令牌管理者根据配置信息进行初始化。
令牌管理者进行数据计时。计时到,令牌管理者给需要发送数据的机器(机器X)发送令牌命令,机器X接收到令牌命令,将采样数据通过连续帧发送给上位机,上位机持续接收机器X的数据至机器X发送完毕,并继续等待下次数据。
机器X等待下一次的令牌命令。计时到,令牌管理者给需要发送数据的机器(机器Y)发送令牌命令,重复前面步骤。
步骤S5,上位机不断接收示波器数据,处理后打印波形至特定位置并不断更新。
步骤S6,上位机广播停止命令,各机器采样结束并等待新命令。
其中,广播命令:
1F3000xx(CANID)01 97 00 03(停止采样和发送示波器数据)
1F3000xx(CANID)01 97 00 02(清除缓存)。
步骤S7,通讯结束。
其中,步骤S 4.1,令牌管理者根据设置好的时间间隔开始计时;
步骤S4.2,时间到达,令牌管理者(01)向(01-xx)的下位机发送令牌命令:
01->01: 1F300101(CANID) 01 96 00 01 00 01 00 01
01->上位机:之前配置的示波器通道数据(多帧);
步骤S 4.3,令牌管理者根据设置好的时间间隔开始计时;
步骤S4.4,时间到达,令牌管理者(01)向(01-xx)的下位机发送令牌命令:
01->02: 1F300201(CANID) 01 96 00 01 00 01 00 01
02->上位机:之前配置的示波器通道数据(多帧);
……
步骤S 4.x,令牌管理者根据设置好的时间间隔开始计时;
步骤S4.x+1,时间到达,令牌管理者(01)向(01-xx)的下位机发送令牌命令:
01->xx: 1F30xx01(CANID) 01 96 00 01 00 01 00 01
xx->上位机:之前配置的示波器通道数据(多帧)。
本发明实施例的基于CAN通讯的上位机与下位机的通信系统包括上位机及多台下位机。
上位机:从多台下位机中选择一下位机作为令牌管理者,并给令牌管理者发送配置信息;广播启动命令并等待下位机反馈的数据;收到下位机反馈的数据后,根据预设的协议来解包数据,完成通信;
各下位机收到启动命令后开始采样;
令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;排序完毕后按照顺序向其他下位机发送令牌命令;
接收到令牌命令的下位机根据帧的数据和预设的协议内容来发送数据至上位机。
作为一种实施方式,令牌管理者根据设置好的时间间隔开始计时,在时间到后,令牌管理者给需要发送数据的下位机发送令牌命令;该下位机接收到令牌命令后,将采样数据通过连续帧发送给上位机。
作为一种实施方式,上位机根据用户设置广播停止命令,各下位机采样结束并等待新命令。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (6)
1.一种基于CAN通讯的上位机与下位机的通信方法,其特征在于,包括:
步骤S1:上位机从多台下位机中选择一下位机作为令牌管理者,并给令牌管理者发送配置信息;
步骤S2:上位机广播启动命令并等待下位机反馈的数据;
步骤S3:各下位机收到启动命令后开始采样;
步骤S4:令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;排序完毕后按照顺序向其他下位机发送令牌命令;
步骤S5:接收到令牌命令的下位机根据帧的数据和预设的协议内容来发送数据至上位机;
步骤S6:上位机收到数据后,根据所述协议来解包数据,完成通信。
2.如权利要求1所述的基于CAN通讯的上位机与下位机的通信方法,其特征在于,步骤S4包括:
子步骤S41:令牌管理者根据设置好的时间间隔开始计时,在时间到后,令牌管理者给需要发送数据的下位机发送令牌命令;
子步骤S42:该下位机接收到令牌命令后,将采样数据通过连续帧发送给上位机。
3.如权利要求1所述的基于CAN通讯的上位机与下位机的通信方法,其特征在于,步骤S6之后还包括:
步骤S7:上位机根据用户设置广播停止命令,各下位机采样结束并等待新命令。
4.一种基于CAN通讯的上位机与下位机的通信系统,其特征在于,包括上位机及多台下位机,
上位机:从多台下位机中选择一下位机作为令牌管理者,并给令牌管理者发送配置信息;广播启动命令并等待下位机反馈的数据;收到下位机反馈的数据后,根据预设的协议来解包数据,完成通信;
各下位机收到启动命令后开始采样;
令牌管理者根据配置信息进行初始化,令牌管理者先查找总线上所有下位机,并进行排序;排序完毕后按照顺序向其他下位机发送令牌命令;
接收到令牌命令的下位机根据帧的数据和预设的协议内容来发送数据至上位机。
5.如权利要求4所述的基于CAN通讯的上位机与下位机的通信系统,其特征在于,所述令牌管理者根据设置好的时间间隔开始计时,在时间到后,令牌管理者给需要发送数据的下位机发送令牌命令;该下位机接收到令牌命令后,将采样数据通过连续帧发送给上位机。
6.如权利要求4所述的基于CAN通讯的上位机与下位机的通信系统,其特征在于,所述上位机根据用户设置广播停止命令,各下位机采样结束并等待新命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011598983.5A CN112311641B (zh) | 2020-12-30 | 2020-12-30 | 基于can通讯的上位机与下位机的通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011598983.5A CN112311641B (zh) | 2020-12-30 | 2020-12-30 | 基于can通讯的上位机与下位机的通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311641A true CN112311641A (zh) | 2021-02-02 |
CN112311641B CN112311641B (zh) | 2021-04-06 |
Family
ID=74487676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011598983.5A Active CN112311641B (zh) | 2020-12-30 | 2020-12-30 | 基于can通讯的上位机与下位机的通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311641B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127092A (zh) * | 2021-03-31 | 2021-07-16 | 深圳市法拉第电驱动有限公司 | 基于上位机的自定义封装系统及方法 |
CN115150218A (zh) * | 2021-03-30 | 2022-10-04 | 广东博智林机器人有限公司 | 一种上位机与驱动器的串行通信方法、装置及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025550A (zh) * | 2010-12-20 | 2011-04-20 | 中兴通讯股份有限公司 | 一种分布式集群中数据管理的系统和方法 |
CN104660627A (zh) * | 2013-11-18 | 2015-05-27 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种上位机与下位机的通信方法和系统 |
CN105224362A (zh) * | 2015-09-18 | 2016-01-06 | 深圳市新产业生物医学工程股份有限公司 | 上位机对下位机进行程序升级的方法及系统 |
CN106506306A (zh) * | 2016-12-10 | 2017-03-15 | 锐捷网络股份有限公司 | 一种数据报文传输的方法和装置 |
CN108243017A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 广播实现方法、装置和设备 |
CN109240219A (zh) * | 2018-10-16 | 2019-01-18 | 湖南戈人自动化科技有限公司 | 一种多轴运动控制器 |
CN112138372A (zh) * | 2020-10-14 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 分布式系统中的数据同步方法及相关设备 |
-
2020
- 2020-12-30 CN CN202011598983.5A patent/CN112311641B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025550A (zh) * | 2010-12-20 | 2011-04-20 | 中兴通讯股份有限公司 | 一种分布式集群中数据管理的系统和方法 |
CN104660627A (zh) * | 2013-11-18 | 2015-05-27 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种上位机与下位机的通信方法和系统 |
CN105224362A (zh) * | 2015-09-18 | 2016-01-06 | 深圳市新产业生物医学工程股份有限公司 | 上位机对下位机进行程序升级的方法及系统 |
CN106506306A (zh) * | 2016-12-10 | 2017-03-15 | 锐捷网络股份有限公司 | 一种数据报文传输的方法和装置 |
CN108243017A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 广播实现方法、装置和设备 |
CN109240219A (zh) * | 2018-10-16 | 2019-01-18 | 湖南戈人自动化科技有限公司 | 一种多轴运动控制器 |
CN112138372A (zh) * | 2020-10-14 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 分布式系统中的数据同步方法及相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150218A (zh) * | 2021-03-30 | 2022-10-04 | 广东博智林机器人有限公司 | 一种上位机与驱动器的串行通信方法、装置及系统 |
CN113127092A (zh) * | 2021-03-31 | 2021-07-16 | 深圳市法拉第电驱动有限公司 | 基于上位机的自定义封装系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112311641B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112311641B (zh) | 基于can通讯的上位机与下位机的通信方法及系统 | |
CN103235835B (zh) | 用于数据库集群的查询实现方法和装置 | |
CN106603367A (zh) | 一种用于时间同步的can总线通信方法 | |
CN103346974A (zh) | 一种业务流程的控制方法及网络设备 | |
CN107171978A (zh) | 千兆以太网的多通道数据循环采集系统及采集方法 | |
CN114039808B (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN102217207A (zh) | 用于实时分布式系统的同步方法及其装置 | |
CN116233200B (zh) | 一种基于后续帧动态注册的电能表通信方法及系统 | |
CN105338258A (zh) | 一种视频传输方法及设备 | |
CN106302240A (zh) | 服务器端接收客户端并发连接和数据处理方法 | |
CN114363799B (zh) | 一种根据需求动态启停的无人机室内定位系统 | |
CN116665661A (zh) | 一种基于云端的语音交互方法及系统 | |
CN112202781B (zh) | 一种电商大数据量回执报文处理方法、装置和系统 | |
CN116627495A (zh) | 一种信息交互方法、系统、装置、设备及介质 | |
JP2006304011A (ja) | インタフェース回路 | |
CN112328417A (zh) | 一种嵌入式多程序通讯方法和系统 | |
CN111447270A (zh) | 一种物联网用数据转发中间件 | |
CN111462674A (zh) | 显示系统的发送卡分组控制方法、发送卡及显示控制系统 | |
CN114546926A (zh) | 核心簇同步、控制方法、数据处理方法、核心、设备、介质 | |
CN110890991A (zh) | 一种智能家庭网关配置信息快速迁移方法及装置 | |
CN114285913B (zh) | 一种跨操作系统的数据传输方法 | |
CN215416299U (zh) | 一种控制中转装置及系统 | |
US11799982B2 (en) | Message push method, apparatus, device and medium | |
CN114172940B (zh) | 烹饪设备的控制方法及装置、存储介质、终端 | |
WO2016110010A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |