CN105278413A - 上位机与同类can设备的通信方法 - Google Patents
上位机与同类can设备的通信方法 Download PDFInfo
- Publication number
- CN105278413A CN105278413A CN201510728704.5A CN201510728704A CN105278413A CN 105278413 A CN105278413 A CN 105278413A CN 201510728704 A CN201510728704 A CN 201510728704A CN 105278413 A CN105278413 A CN 105278413A
- Authority
- CN
- China
- Prior art keywords
- equipment
- similar
- communication
- host computer
- upper computer
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23269—Program provides for communication protocol with device, equipment
Abstract
本发明涉及CAN总线通信,为解决上位机与CAN设备进行通信时会产生帧冲突的问题;提供一种上位机与同类CAN设备的通信方法,其步骤是上位机获取CAN总线上所有已经广播的ID;比对是否与上位机默认ID冲突,若冲突,上位机修改其通信ID并广播到CAN总线上使同类CAN设备修改自身通信ID;若不冲突,则使用默认通信ID;上位机发送扫描指令扫描总线上同类CAN设备;各同类CAN设备设定不同的扫描指令应答延时时间T,收到扫描指令后开始计时并在时间T后发送扫描指令应答帧;上位机收到总线上所有应答帧获取所有同类CAN设备的序列号生成同类CAN设备列表,选定一个后上位机与其进行应答通信。
Description
技术领域
本发明涉及一种工程机械与汽车CAN总线通信,更具体地说,涉及一种上位机与同类CAN设备的通信方法。
背景技术
工程机械或汽车上CAN总线设备很多,如果同一个总线上挂了同一个厂家的多个同类CAN设备,这些设备具有相同的通信协议与运行系统(例如传感器、运行系统相同但应用程序不同的控制器、显示器等),需要通过CAN总线在为该厂家的同类CAN设备中一个设备中更新参数和程序,需要先通过上位机软件扫描出总线上的所有这类设备,用户选择其中该设备后,再与该设备进行通信。
上位机发送请求扫描的CAN数据帧时,各设备都会对其发出应答帧。如果这些应答帧使用相同的ID,会出现相同ID同时发送的情况,这会产生应答帧冲突,导致总线数据错误。如果这些设备使用不同的ID,会占用很多ID资源,而且可能与其他厂家设备的ID冲突,而且使用多ID的方案还需要在装车之前对整个总线上的CAN设备ID进行分配,很不方便。
发明内容
本发明要解决的技术问题是针对现有上位机与CAN总线上CAN设备进行通信会产生帧冲突的问题,而提供一种上位机与CAN总线上CAN设备进行通信时避免CAN设备帧冲突的通信方法。
本发明为实现其目的的技术方案是这样的:提供一种上位机与同类CAN设备的通信方法,其包括以下步骤:
步骤S1上位机获取CAN总线上所有已经广播的ID;在该步骤中,包括上位机直接连接在CAN总线上获取总线上广播的ID,也可以是上位机与直接连接在CAN总线上的无线通信设备如GPS进行无线通信,通过无线通讯设备获取CAN总线上已广播的ID。进一步地上位机通过无线通讯设备与CAN总线上的CAN设备进行通信。
步骤S2判断CAN总线上已广播的ID与上位机默认通信ID是否相同冲突,若有ID相同冲突,上位机修改其通信ID,并通过信息修改指令将上位机修改后的通信ID广播到CAN总线上,CAN总线上的同类CAN设备收到通信ID修改信息后修改自身的通信ID,各同类CAN设备修改后的通信ID与上位机修改后的通信ID相同;如果没有ID相同冲突,则上位机和同类CAN设备使用默认通信ID。
步骤S3上位机软件通过发送扫描指令扫描总线上同类CAN设备。
步骤S4同类CAN设备设定扫描指令应答延时时间T;各同类CAN设备的扫描指令应答延时时间T各不相同,各同类CAN设备收到扫描指令后开始计时并在各自的扫描指令应答延时时间T后发送扫描指令应答帧。
步骤S5上位机收到总线上所有同类CAN设备的应答帧并通过应答帧的内容获取所有同类CAN设备的序列号生成同类CAN设备列表;
步骤S6从所述的同类CAN设备列表中选定一个同类CAN设备,上位机与该选定的同类CAN设备进行应答通信。
本发明的上位机与CAN设备间的通信方法,可用于对基于CAN总线通信的控制系统的调试与升级进行刷机,在应用时,上位机连接在CAN总线上,上电后,经过一定时长TB,上位机获取CAN总线上所有已经广播的ID,然后进行上述步骤中的S2至S4步骤,上位机收到总线上所有同类CAN设备的应答帧并通过应答帧的内容获取所有同类CAN设备的序列号生成同类CAN设备列表,供技术人员选择后上位机与其进行应答通信。本发明中,同类CAN设备是指具有相同通信协议的CAN设备,它们的通讯协议与上位机通信协议配套使用,可以实现数据通信。上位机与同类CAN设备基于通信ID进行通信,同类CAN设备具有相同的通信协议,在通信程序中都设定有它们默认的通信ID;上位机的配套通信协议程序也设置有相同的默认通信ID。如果上位机和同类CAN设备在调试时将默认通信ID进行了修改,上位机和同类CAN设备在下一次上电复位后,它们的通信ID又恢复到程序中设置的默认通信ID。在上述上位机与同类CAN设备的通信方法中,步骤S4中,各同类CAN设备依据自身序列号或CPU芯片编码计算扫描指令应答延时时间T,CAN设备的序列号和CPU芯片编码通常是唯一的,基于此而计算出来的扫描指令应答延时时间T也基本上是唯一的,不会与其他的CAN设备的扫描指令应答延时时间T相同而导致通信冲突。各同类CAN设备可以在其上电后就读取其自身序列号或CPU芯片编码,当然也可以使用其他参数比如随机数来进行计算扫描指令应答延时时间T。各CAN设备计算出来的时间T不相同,各CAN设备不会在同一时刻发送数据,保证了上位机软件可以收到总线上所有同类CAN设备的应答,不会引起冲突。各CAN设备的扫描指令应答延时时间T中最长的为Tmax,那么上位机在发出扫描指令后,在Tmax时间内会受到CAN总线上所有同类CAN设备的应答帧。
在上述上位机与同类CAN设备的通信方法中,所述通信ID包括指令ID和数据ID。通信ID还可以包括其他用来通信的ID.
在上述上位机与同类CAN设备的通信方法中,步骤S4中各同类CAN设备所发扫描指令应答帧的内容为各同类CAN设备的序列号。
在上述上位机与同类CAN设备的通信方法中,在于所述各同类CAN设备的序列号长度不超过5字节。
在上述上位机与同类CAN设备的通信方法中,扫描应答帧的ID与指令ID相同,此举可节约ID资源。
本发明与现有技术相比,本发明解决了上位机与CAN设备进行通信时多个具有相同通信协议的设备节点同时发送应答报文导致总线错误的问题。
附图说明
图1是本发明上位机与同类CAN设备的通信方法的流程图。
具体实施方式
下面结合附图说明具体实施方案。
本发明中的上位机与CAN设备间的通信方法,可用基于CAN总线通信的控制系统的调试与升级,在应用时,上位机连接在CAN总线上,上电后,经过一定时长TB,上位机获取识别CAN总线上所有已经广播的ID,开始通信时,ID个数计数变量V=0,上位机每收到一个ID就记录在内存的某个地址,V加1,收到下一个ID,则记录在内存的下一个地址,V再加1……;在时间TB后,如果收到过N个ID,则V=N。时长TB由调试人员设定,在实际应用过程中,各CAN设备的广播周期间隔比较短,通常以秒甚至毫秒为单位,因此在实际应用过程中,时长TB设置为数十秒甚至数秒就足够上位机收到CAN总线上所有CAN设备广播的ID。
上位机连接在CAN总线上,包括上位机直接连接在CAN总线上,也可以是CAN总线上连接有无线通信设备如GPS,上位机与GPS无线通信设备进行无线通信,进而获取CAN总线上已广播的ID。进一步地通过无线通信设备与CAN总线上的CAN设备进行通信。
上位机获取CAN总线上已广播的ID后上位机判断CAN总线上已广播的N个ID中是否有ID与上位机默认通信ID相同冲突,若有ID与上位机的默认通信ID相同冲突,上位机修改其指令ID和数据ID两个默认通信ID,并通过信息修改指令将上位机修改后的指令ID和数据ID广播到CAN总线上,CAN总线上的同类CAN设备收到该信息后,修改自身的指令ID和数据ID,各同类CAN设备修改后的通信ID与上位机修改后的通信设备相同;如果没有ID相同冲突,则上位机和同类CAN设备使用默认指令ID和数据ID。在本实施例中,通信ID包括指令ID和数据ID,在实际应用过程中,还可以增加或使用其他的用于通信的ID。
上位机软件通过发送扫描指令扫描总线上该厂家的CAN设备;扫描指令的ID与指令ID相同,且内容为扫描指令编号。
总线上的同类CAN设备设定扫描指令应答延时时间T;各同类CAN设备设定的扫描指令应答延时时间T各不相同,各同类CAN设备收到扫描指令后开始计时并在各自的扫描指令应答延时时间T后发送扫描指令应答帧;各同类CAN设备依据自身序列号或CPU芯片编码计算扫描指令应答延时时间T,CAN设备的序列号和CPU芯片编码通常是唯一的,基于此而计算出来的扫描指令应答延时时间T也基本上是唯一的,不会与其他的CAN设备的扫描指令应答延时时间T相同而导致通信冲突。当然也可以使用其他参数比如随机数来进行计算扫描指令应答延时时间T。各CAN设备计算出来的时间T不相同,各CAN设备不会在同一时刻发送数据,保证了上位机软件可以收到总线上所有同类CAN设备的应答,不会引起冲突。若各CAN设备的扫描指令应答延时时间T中最长的为Tmax,那么上位机在发出扫描指令后,在Tmax时间内会受到CAN总线上所有同类CAN设备的应答帧。各同类CAN设备所发扫描指令应答帧的ID与指令ID相同,此举可节约ID资源。内容为各同类CAN设备的序列号。各同类CAN设备的序列号长度不超过5字节。
上位机收到总线上所有同类CAN设备的应答帧并通过应答帧的内容获取所有同类CAN设备的序列号生成同类CAN设备列表,或者进一步地通过后台程序获取各同类设备的名称后再生成设备列表,供技术人员选择后上位机与其进行应答通信,对同类CAN设备进行程序升级、参数修改等。
Claims (7)
1.一种上位机与同类CAN设备的通信方法,其特征在于包括以下步骤:
S1上位机获取CAN总线上所有已经广播的ID;
S2判断CAN总线上已广播的ID与上位机默认通信ID是否相同冲突,若有ID相同冲突,上位机修改其通信ID,并通过信息修改指令将上位机修改后的通信ID广播到CAN总线上,CAN总线上的同类CAN设备收到通信ID修改信息后修改自身的通信ID,各同类CAN设备修改后的通信ID与上位机修改后的通信ID相同;如果没有ID相同冲突,则上位机和同类CAN设备使用默认通信ID;
S3上位机软件通过发送扫描指令扫描总线上同类CAN设备;
S4同类CAN设备设定扫描指令应答延时时间T;各同类CAN设备的扫描指令应答延时时间T各不相同,各同类CAN设备收到扫描指令后开始计时并在各自的扫描指令应答延时时间T后发送扫描指令应答帧;
S5上位机收到总线上所有同类CAN设备的应答帧并通过应答帧的内容获取所有同类CAN设备的序列号生成同类CAN设备列表;
S6从所述的同类CAN设备列表中选定一个同类CAN设备,上位机与该选定的同类CAN设备进行应答通信。
2.根据权利要求1所述的上位机与同类CAN设备的通信方法,其特征在于步骤S4中,各同类CAN设备依据自身序列号或CPU芯片编码计算扫描指令应答延时时间T。
3.根据权利要求2所述的上位机与同类CAN设备的通信方法,其特征在于各同类CAN设备在其上电后读取自身对应的序列号或CPU芯片编码。
4.根据权利要求1所述的上位机与同类CAN设备的通信方法,其特征在于步骤S4中各同类设备所发扫描指令应答帧的内容为各同类CAN设备的序列号。
5.根据权利要求1所述的上位机与同类CAN设备的通信方法,其特征在于所述通信ID为指令ID和数据ID。
6.根据权利要求5所述的上位机与同类CAN设备的通信方法,其特征在于所述各同类CAN设备的序列号长度不超过5字节。
7.根据权利要求5所述的上位机与同类CAN设备的通信方法,其特征在于所述扫描应答帧的ID与指令ID相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510728704.5A CN105278413B (zh) | 2015-10-30 | 2015-10-30 | 上位机与同类can设备的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510728704.5A CN105278413B (zh) | 2015-10-30 | 2015-10-30 | 上位机与同类can设备的通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105278413A true CN105278413A (zh) | 2016-01-27 |
CN105278413B CN105278413B (zh) | 2017-12-22 |
Family
ID=55147611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510728704.5A Active CN105278413B (zh) | 2015-10-30 | 2015-10-30 | 上位机与同类can设备的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105278413B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181659A (zh) * | 2016-03-10 | 2017-09-19 | 深圳市祈飞科技有限公司 | 基于rs485总线的智能柜通信方法以及系统 |
CN107733720A (zh) * | 2017-11-09 | 2018-02-23 | 顺丰科技有限公司 | 便携式固件升级方法及装置 |
CN108123860A (zh) * | 2017-01-19 | 2018-06-05 | 山西智舒智能科技有限公司 | 基于can总线的智能家居系统节点设备的id自动分配及管理方法 |
CN109286547A (zh) * | 2018-08-30 | 2019-01-29 | 百度在线网络技术(北京)有限公司 | 报文处理方法、装置、电子控制单元及可读存储介质 |
CN109936491A (zh) * | 2019-03-06 | 2019-06-25 | 珠海格力电器股份有限公司 | 用于提高通讯效率的通讯方法 |
CN112230583A (zh) * | 2020-10-27 | 2021-01-15 | 厦门鑫玥创益教育科技有限公司 | 基于Scratch程序的主控制板安装方法 |
CN113434163A (zh) * | 2021-05-24 | 2021-09-24 | 瑞浦能源有限公司 | 适用于电子控制单元的在线标定方法、系统、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0893767A3 (en) * | 1997-06-24 | 2000-02-02 | Microchip Technology Inc. | A method for flexible multiple access on a serial bus by a plurality of boards |
US20070173083A1 (en) * | 2003-11-21 | 2007-07-26 | Sascha Kopplin | Connecting element, method for bus communications between a control unit for activating personal protective means as master and at least one connecting element for weight measurement in a seat as slave, and bus system |
CN101167341A (zh) * | 2005-04-27 | 2008-04-23 | 菲尼克斯电气公司 | 对现场总线安全用户的地址分配 |
CN102624525A (zh) * | 2011-11-18 | 2012-08-01 | 广西柳工机械股份有限公司 | 一种工程机械电子身份识别方法及装置 |
CN103119916A (zh) * | 2010-09-30 | 2013-05-22 | 罗伯特·博世有限公司 | 向同类总线用户自动分发地址的方法 |
CN104155972A (zh) * | 2014-08-21 | 2014-11-19 | 广西柳工机械股份有限公司 | 工程机械电子控制器参数调试方法 |
-
2015
- 2015-10-30 CN CN201510728704.5A patent/CN105278413B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0893767A3 (en) * | 1997-06-24 | 2000-02-02 | Microchip Technology Inc. | A method for flexible multiple access on a serial bus by a plurality of boards |
US20070173083A1 (en) * | 2003-11-21 | 2007-07-26 | Sascha Kopplin | Connecting element, method for bus communications between a control unit for activating personal protective means as master and at least one connecting element for weight measurement in a seat as slave, and bus system |
CN101167341A (zh) * | 2005-04-27 | 2008-04-23 | 菲尼克斯电气公司 | 对现场总线安全用户的地址分配 |
CN103119916A (zh) * | 2010-09-30 | 2013-05-22 | 罗伯特·博世有限公司 | 向同类总线用户自动分发地址的方法 |
CN102624525A (zh) * | 2011-11-18 | 2012-08-01 | 广西柳工机械股份有限公司 | 一种工程机械电子身份识别方法及装置 |
CN104155972A (zh) * | 2014-08-21 | 2014-11-19 | 广西柳工机械股份有限公司 | 工程机械电子控制器参数调试方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181659A (zh) * | 2016-03-10 | 2017-09-19 | 深圳市祈飞科技有限公司 | 基于rs485总线的智能柜通信方法以及系统 |
CN107181659B (zh) * | 2016-03-10 | 2020-06-30 | 深圳市祈飞科技有限公司 | 基于rs485总线的智能柜通信方法以及系统 |
CN108123860A (zh) * | 2017-01-19 | 2018-06-05 | 山西智舒智能科技有限公司 | 基于can总线的智能家居系统节点设备的id自动分配及管理方法 |
CN107733720A (zh) * | 2017-11-09 | 2018-02-23 | 顺丰科技有限公司 | 便携式固件升级方法及装置 |
CN107733720B (zh) * | 2017-11-09 | 2023-10-31 | 丰翼科技(深圳)有限公司 | 便携式固件升级方法及装置 |
CN109286547A (zh) * | 2018-08-30 | 2019-01-29 | 百度在线网络技术(北京)有限公司 | 报文处理方法、装置、电子控制单元及可读存储介质 |
US11362857B2 (en) | 2018-08-30 | 2022-06-14 | Apollo Intelligent Driving Technology (Beijing) Co., Ltd. | Message processing method, apparatus, electronic control unit and readable storage medium |
CN109936491A (zh) * | 2019-03-06 | 2019-06-25 | 珠海格力电器股份有限公司 | 用于提高通讯效率的通讯方法 |
CN109936491B (zh) * | 2019-03-06 | 2020-05-22 | 珠海格力电器股份有限公司 | 用于提高通讯效率的通讯方法 |
CN112230583A (zh) * | 2020-10-27 | 2021-01-15 | 厦门鑫玥创益教育科技有限公司 | 基于Scratch程序的主控制板安装方法 |
CN112230583B (zh) * | 2020-10-27 | 2021-07-20 | 厦门鑫玥创益教育科技有限公司 | 基于Scratch程序的主控制板安装方法 |
CN113434163A (zh) * | 2021-05-24 | 2021-09-24 | 瑞浦能源有限公司 | 适用于电子控制单元的在线标定方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105278413B (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105278413A (zh) | 上位机与同类can设备的通信方法 | |
JP6355275B2 (ja) | 工業インターネット現場におけるブロードバンドバスの設定管理の実現方法 | |
CN103841466B (zh) | 屏幕投影方法、计算机端和移动终端 | |
CN104679528B (zh) | 应用程序远程更新的方法和装置 | |
CN111464419B (zh) | 一种基于总线网络通信的数据传输控制方法 | |
CN105610962A (zh) | 一种防冲突移动终端ip地址分配中继设备及方法 | |
CN109714757B (zh) | 一种共用准备eSIM卡的方法及装置 | |
CN109981360B (zh) | 物联网设备站点开通方法、装置、系统及存储介质 | |
CN104349391A (zh) | 一种WiFi工作站点的调度处理方法和装置 | |
CN103780436B (zh) | 网络装置与其相关的连接保持方法 | |
CN104077152B (zh) | 一种嵌入式系统批量升级的方法及装置 | |
CN110958132A (zh) | 监控网卡设备的方法、基板管理控制器及网卡设备 | |
CN114285695B (zh) | 通信方法、装置、设备、系统和存储介质 | |
CN105338129A (zh) | 自动分址方法、显示终端和模块终端 | |
CN113727429A (zh) | 跨网络组的时钟同步方法、装置、存储介质和终端 | |
CN106792844B (zh) | 一种数据传输方法及装置 | |
CN110572857B (zh) | 网络连接处理方法和装置、电子设备、存储介质 | |
CN109525417B (zh) | 基于网口的家电设备接入方法、家电控制器及存储介质 | |
CN108920333B (zh) | 事件状态监测方法、事件状态监测器 | |
CN103678332A (zh) | 用于展示页面的系统、浏览器及其展示页面的方法 | |
CN102932208A (zh) | 站点监控方法及装置 | |
CN106412657B (zh) | 一种机顶盒烧写序列码的方法及系统 | |
CN211630177U (zh) | 设备数据的采集系统 | |
CN114285739A (zh) | 一种节点信息批量配置方法、装置、终端及存储介质 | |
US20140211658A1 (en) | Wireless apparatus and network address report method in zigbee network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |