CN110505131B - 一种主从式can总线应用层通信方法 - Google Patents
一种主从式can总线应用层通信方法 Download PDFInfo
- Publication number
- CN110505131B CN110505131B CN201810481362.5A CN201810481362A CN110505131B CN 110505131 B CN110505131 B CN 110505131B CN 201810481362 A CN201810481362 A CN 201810481362A CN 110505131 B CN110505131 B CN 110505131B
- Authority
- CN
- China
- Prior art keywords
- slave
- node
- bit
- master
- frame
- 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.)
- Active
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
- 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/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种主从式CAN总线应用层通信方法,包括:采用问答式通信,主节点作为一次交互通信的发起者,主节点向从节点发送不同类型的广播指令,要求各从节点同时执行各种动作;从节点执行完毕后,向主节点应答执行状态;主节点指示特定从节点执行特定指令,以对从节点进行单独控制或获取信息;从节点根据特定指令,向主节点应答特定的状态数据;从节点检测到自身出现故障时,主动向主节点发送异常状态通知,主节点无需应答。协议可通过标准帧或扩展帧实现。根据对中小型CAN总线系统在实际应用中的需求出发,设计了一种主从式的一主多从CAN总线应用层通信方法,简单易用,便于推广。
Description
技术领域
本发明涉及CAN(Controller Area Network,控制器局域网)总线领域,尤其涉及一种主从式CAN总线应用层通信方法,或称为CAN总线应用层协议。
背景技术
CAN即控制器局域网,是一种总线式串行通信网络,具有高性能、高可靠性的特点。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,每帧信息都有循环冗余码校验及其他检错措施,从而保证了数据传输的可靠性;同时,可配置的多优先级设计、非破坏性仲裁技术以及高通信速率保证了数据传输的实时性。
然而,CAN总线中未定义应用层通信方法,具体项目应用中,必须设计适合的应用层协议。目前,CAN总线应用层协议种类很多,但这些协议或是复杂的通用型协议,或是特定领域的专用协议,中小型系统中使用复杂的通用协议会带来开发成本的提高和开发周期的延长,而专用协议往往又不符合具体应用的要求,具有较大的局限性。
发明内容
本发明的目的,是提供一种主从式CAN总线应用层通信方法,其特征在于,包括以下步骤:
采用问答式通信,主节点作为一次交互通信的发起者,主节点向从节点发送不同类型的广播指令,要求各从节点同时执行各种动作;
从节点执行完毕后,向主节点应答执行状态;
主节点指示特定从节点执行特定指令,以对从节点进行单独控制或获取信息;
从节点根据特定指令,向主节点应答特定的状态数据;
从节点检测到自身出现故障时,主动向主节点发送异常状态通知,主节点无需应答。
优选地,通信类型包括主节点至从节点的指令通信以及从节点至主节点的状态应答通信,从节点间无相互通信。
优选地,采用帧结构设计,通过CAN总线帧结构中仲裁域帧ID的设计实现功能。
优选地,帧结构中,设置有异常状态位、方向位、协议标识位段、地址位段和指令类型/状态类型位段中的一种或多种信息。
优选地,帧结构的位及位段具有不同的发送优先级;按照异常状态位、方向位、协议标识位段、地址位段、指令类型位段、状态类型位段依次降低。
优选地,异常状态位包含1位,从节点发送异常帧中该位为0,其它情况下该位为1。
优选地,方向位包含1位,主节点至从节点的指令帧该位为0,从节点至主节点的状态帧该位为1,指示帧的逻辑方向。
优选地,协议标识位段包含若干位,可用于区分同样使用本协议的不同CAN系统;
当有两个独立的CAN总线系统均使用本协议,可通过设计该位段具有不同的值而加以区分,便于技术管理;
当仅有一个CAN总线系统,不设计该位段,即该位段长度为0。
优选地,地址位段包含若干位,表示从节点地址;主从通信指令帧中含义为目的地址,用0表示广播地址,从主通信状态帧中含义为源地址。
优选地,指令类型/状态类型位段包含若干位,主从通信指令帧中含义为指令类型,从主通信状态帧中含义为状态类型。
本发明的有益效果在于:可根据系统规模灵活选择通过标准帧或扩展帧实现。根据对中小型CAN总线系统在实际应用中的需求出发,设计了一种主从式的一主多从CAN总线应用层通信方法,简单易用,便于推广。
附图说明
图1为本发明实施例提供的一种主从式CAN总线应用层通信方法的指令通信示意图;
图2为本发明实施例提供的一种主从式CAN总线应用层通信方法的状态应答通信示意图;
图3为本发明实施例提供的一种主从式CAN总线应用层通信方法的从主异常状态通信示意图。
具体实施方式
下面通过实施例,对本发明的技术方案做进一步的详细描述。
一种主从式CAN总线应用层通信方法,包括以下步骤:
采用问答式通信,主节点作为一次交互通信的发起者。
图1为本发明实施例提供的一种主从式CAN总线应用层通信方法的指令通信示意图,如图1所示,
主节点向从节点发送不同类型的广播指令,要求各从节点同时执行各种动作;
特殊地,主节点指示特定从节点执行特定指令,以对从节点进行单独控制或获取信息;
图2为本发明实施例提供的一种主从式CAN总线应用层通信方法的状态应答通信示意图,如图2所示,
从节点执行完毕后,向主节点应答执行状态;
特殊地,从节点根据主节点的特定指令,向主节点应答特定的状态数据;
图3为本发明实施例提供的一种主从式CAN总线应用层通信方法的从主异常状态通信示意图,如图3所示,
从节点检测到自身出现故障时,主动向主节点发送异常状态通知,主节点无需应答。
优选地,通信类型包括主节点至从节点的指令通信以及从节点至主节点的状态应答通信,从节点间无相互通信。
优选地,采用帧结构设计,通过CAN总线帧结构中仲裁域帧ID的设计实现功能。
优选地,帧结构中,设置有异常状态位、方向位、协议标识位段、地址位段和指令类型/状态类型位段中的一种或多种信息,具体的结构如表1所示。
表1帧ID结构
Bit | 1位 | 1位 | 若干位 | 若干位 | 若干位 |
描述 | 异常状态 | 方向 | 协议标识 | 地址 | 指令类型/状态类型 |
具体地,表中靠左侧的位对应帧ID中的高位,靠右侧的位对应帧ID中的低位;按照异常状态位、方向位、协议标识位段、地址位段、指令类型位段、状态类型位段依次降低。
详细地,CAN总线通信中,较小的帧ID具有较高的优先级。
优选地,异常状态位包含1位,处于帧ID的最高位,具有最大的优先级权重,从节点发送异常帧中该位为0,其它情况下该位为1。
优选地,方向位包含1位,处于帧ID的最高位,具有最大的优先级权重,主节点至从节点的指令帧该位为0,从节点至主节点的状态帧该位为1,指示帧的逻辑方向。
首先,由于异常帧的异常状态位为0,因此具有最高的发送优先级,这保证了从节点出现故障时可实时通知主节点进行相关操作;其次,正常交互通信过程中,异常状态位为1,方向位进一步对优先级进行分类,主从发送的指令帧中方向位为0,保证指令帧比从节点的状态帧优先级更高,从而保证指令下达的优先级。
优选地,协议标识位段包含若干位,可用于区分同样使用本协议的不同CAN系统;
当有两个独立的CAN总线系统均使用本协议,可通过设计该位段具有不同的值而加以区分,便于技术管理;
当仅有一个CAN总线系统,不设计该位段,即该位段长度为0。
优选地,地址位段包含若干位,表示从节点地址,从节点的发送优先级设置可通过地址位段的分配实现,给重要性更高的从节点分配较小的地址号;主从通信指令帧中含义为目的地址,用0表示广播地址,从主通信状态帧中含义为源地址;
地址位段用于标明从节点的身份,每一个从节点在该位段中分配唯一的一个值。当主节点向某一从节点单独发送指令时,可将该位段设置为该从节点的地址值,而从节点可通过组接收滤波设置保证只响应地址位段匹配的帧;同样,从节点向主节点发送信息时,也需要将该位段设置为自己的地址值,主节点接收到后,会根据该地址位段的值判断帧的来源。地址位段中分配一个固定的值作为主从发送指令帧的广播地址,要求所有从节点均响应,这个值通常可以设置为0。地址位段的长度决定了CAN总线中可配置的最大从节点个数,可根据系统规模灵活的修改该位段长度。
优选地,指令类型/状态类型位段包含若干位,主从通信指令帧中含义为指令类型,从节点可根据该位段的值判断要执行的动作,从主通信状态帧中含义为状态类型,主节点可通过该位段的值判断从节点发送的数据含义。指令类型/状态类型位段的长度也可根据具体应用中指令类型/状态类型的个数灵活确定。
具体地,下面提供一种基于标准帧的CAN总线协议设计:
采用标准帧,11位帧ID,其中,异常状态1位,方向位1位,协议特征位为1位,地址位段为4位,指令类型/状态类型4位。广播地址设置为0,该实例中CAN总线系统最多可区分15个从节点,主节点最多支持16种指令类型,从节点最多支持16种状态类型。
假定系统中共有3种传感器,传感器1节点地址分配为0x1,传感器2节点地址分配为0x2,传感器3节点地址分配为0x3,0x0为广播地址;主节点共有2种指令类型,分别为查询数据指令0xA、改变传感器采样率指令0xB;从节点共有3种状态类型,0x1为传感器采样数据,0x2为采样率更改应答,0x3为节点故障;协议特征位设置为0。
则,主节点可以通过帧ID为0x40A的广播指令,查询所有传感器的采样数据,传感器1、2、3分别通过0x611、0x621、0x631应答自己的采样数据。
则,主节点可以通过帧ID为0x43B的改变采样率指令(配合数据域的采样率参数)修改传感器3的采样率,传感器3通过0x632的采样率更改应答帧(配合数据域的数据)通知主节点采样率更改是否成功。
则,传感器2发生故障时,可以通过帧ID为0x223的异常状态帧通知主节点节点地址为2的传感器2发生节点故障。
则,软件设计中,传感器1的CAN控制器可对地址位段进行组接收滤波设计,选择只接收地址为0x0的广播指令以及地址为0x1的传感器1专有指令,方便了程序设计,避免了对无关指令帧的响应。
本发明实施例按照CAN总线协议设计的系统,指令帧、状态帧、异常帧具有各自的显著特征,而且地址位段含义明确,便于各节点进行CAN控制器组接收滤波设计,避免进行单点滤波设计,简化软件设计,节省处理器资源。
可根据系统规模灵活选择通过标准帧或扩展帧实现。根据对中小型CAN总线系统在实际应用中的需求出发,设计了一种主从式的一主多从CAN总线应用层通信方法,简单易用,便于推广。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种主从式CAN总线应用层通信方法,其特征在于,包括以下步骤:
采用问答式通信,主节点作为一次交互通信的发起者,所述主节点向从节点发送不同类型的广播指令,要求各从节点同时执行各种动作;
从节点执行完毕后,向所述主节点应答执行状态;
所述主节点指示特定从节点执行特定指令,以对所述从节点进行单独控制或获取信息;
所述从节点根据所述特定指令,向所述主节点应答特定的状态数据;
所述从节点检测到自身出现故障时,主动向主节点发送异常状态通知,所述主节点无需应答;
采用帧结构设计,通过CAN总线帧结构中仲裁域帧ID的设计实现功能;
所述帧结构中,设置有异常状态位、方向位、协议标识位段、地址位段和指令类型/状态类型位段中的一种或多种信息;
所述帧结构的位及位段具有不同的发送优先级;按照异常状态位、方向位、协议标识位段、地址位段、指令类型位段、状态类型位段依次降低;
所述地址位段包含若干位,表示从节点地址,从节点的发送优先级设置通过地址位段的分配实现,给重要性更高的从节点分配较小的地址号;主从通信指令帧中含义为目的地址,用0表示广播地址,从主通信状态帧中含义为源地址;地址位段用于标明从节点的身份,每一个从节点在该位段中分配唯一的一个值;
当主节点向某一从节点单独发送指令时,可将地址位段设置为该从节点的地址值,而从节点可通过组接收滤波设置保证只响应地址位段匹配的帧;同样,从节点向主节点发送信息时,也需要将该位段设置为自己的地址值,主节点接收到后,会根据该地址位段的值判断帧的来源;
所述方向位包含1位,主节点至从节点的指令帧该位为0,从节点至主节点的状态帧该位为1,指示帧的逻辑方向;
所述指令类型/状态类型位段包含若干位,主从通信指令帧中含义为指令类型,从主通信状态帧中含义为状态类型;
所述协议标识位段包含若干位,可用于区分同样使用本协议的不同CAN系统;
当有两个独立的CAN总线系统均使用本协议,可通过设计该位段具有不同的值而加以区分,便于技术管理;
当仅有一个CAN总线系统,不设计该位段,即该位段长度为0。
2.根据权利要求1所述的方法,其特征在于,包括主节点至从节点的指令通信以及从节点至主节点的状态应答通信,所述从节点间无相互通信。
3.根据权利要求1所述的方法,其特征在于,所述异常状态位包含1位,从节点发送异常帧中该位为0,其它情况下该位为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810481362.5A CN110505131B (zh) | 2018-05-18 | 2018-05-18 | 一种主从式can总线应用层通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810481362.5A CN110505131B (zh) | 2018-05-18 | 2018-05-18 | 一种主从式can总线应用层通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505131A CN110505131A (zh) | 2019-11-26 |
CN110505131B true CN110505131B (zh) | 2020-12-01 |
Family
ID=68584605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810481362.5A Active CN110505131B (zh) | 2018-05-18 | 2018-05-18 | 一种主从式can总线应用层通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505131B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113291355B (zh) * | 2020-02-24 | 2023-05-23 | 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) | 超高速列车牵引驱动设备通信方法及系统 |
CN111638687B (zh) * | 2020-05-12 | 2022-01-21 | 牧星机器人(江苏)有限公司 | 一种基于精简通讯协议的agv用通讯方法 |
CN113766548A (zh) * | 2020-06-03 | 2021-12-07 | 株洲信通智能科技有限公司 | 矿用通信网络维护协议、系统及其设计方法 |
CN112532497B (zh) * | 2020-12-04 | 2022-09-20 | 中国航空工业集团公司成都飞机设计研究所 | 一种飞机起落架系统的can总线构架 |
CN112583683B (zh) * | 2020-12-29 | 2021-10-15 | 中国科学院声学研究所 | 一种主从式can fd总线应用层通信方法及系统、电子设备 |
CN114826816B (zh) * | 2022-04-27 | 2023-03-21 | 中国科学院声学研究所 | 一种can fd总线通信方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664231A (zh) * | 2014-06-03 | 2017-05-10 | 罗伯特·博世有限公司 | 具有检验功能的传输单元 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626333B (zh) * | 2009-08-07 | 2011-11-23 | 北京和利时电机技术有限公司 | 一种can总线系统及其中的应用层通讯方法 |
CN101808132A (zh) * | 2010-03-23 | 2010-08-18 | 武汉若比特机器人有限公司 | 一种can总线系统中的应用层通讯方法 |
WO2014039035A1 (en) * | 2012-09-05 | 2014-03-13 | GM Global Technology Operations LLC | New approach for controller area network bus off handling |
CN103281321B (zh) * | 2013-05-24 | 2016-02-10 | 航天东方红卫星有限公司 | 一种星载FlexRay总线动态段通信方法 |
CN104780086A (zh) * | 2015-05-08 | 2015-07-15 | 中国电子科技集团公司第四十七研究所 | 用于监测环境的can总线通信的方法及系统 |
-
2018
- 2018-05-18 CN CN201810481362.5A patent/CN110505131B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664231A (zh) * | 2014-06-03 | 2017-05-10 | 罗伯特·博世有限公司 | 具有检验功能的传输单元 |
Also Published As
Publication number | Publication date |
---|---|
CN110505131A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505131B (zh) | 一种主从式can总线应用层通信方法 | |
CN103634150B (zh) | 一种冗余的高安全性can总线通信方法 | |
CN110489365B (zh) | 交换设备、外围部件互连高速系统及其初始化方法 | |
CN101981554B (zh) | 用于将pcie sr-iov功能转换成表现为传统功能的系统和方法 | |
CN104169905A (zh) | 可配置和容错的基板管理控制器安排 | |
CN103201724A (zh) | 在高可用性虚拟机环境中提供高可用性应用程序 | |
EP3011461B1 (en) | Encapsulation enabled pcie virtualisation | |
CN101631057A (zh) | 一种双余度can总线的网络控制方法 | |
JP2003505984A (ja) | フィールドバスに接続されたステーションのコンフィギュレーション実施方法 | |
US9830295B2 (en) | Resource domain partioning in a data processing system | |
US11995019B2 (en) | PCIe device with changeable function types and operating method thereof | |
CN103649923B (zh) | 一种numa系统内存镜像配置方法、解除方法、系统和主节点 | |
US20190079887A1 (en) | Remote Host Management Using Socket-Direct Network Interface Controllers | |
CN112583683B (zh) | 一种主从式can fd总线应用层通信方法及系统、电子设备 | |
US10318312B2 (en) | Support of Option-ROM in socket-direct network adapters | |
EP3414669A1 (en) | Distributed input/output virtualization | |
CN105302766B (zh) | 嵌入式控制器可重新配置的处理器间通信的机构和装置 | |
CN115208752A (zh) | 基于从设备类型的网络设备配置 | |
CN108491337B (zh) | 一种实现群组控制的方法 | |
CN103412838A (zh) | 一种扩展系统、通信方法、地址配置方法、设备及装置 | |
US11502991B2 (en) | Efficiently collecting and distributing multicast data | |
US20220365893A1 (en) | Method and Apparatus for Embedded Processor to Perform Fast Data Communication, and Storage Medium | |
CN110489713A (zh) | 用于为控制器区域网络控制器配置过滤器对象的方法和系统 | |
CN103488505B (zh) | 补丁方法、设备及系统 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 |
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 |