CN112231260A - 一种基于动态优先级的抢占式多主rs485总线通讯方法 - Google Patents

一种基于动态优先级的抢占式多主rs485总线通讯方法 Download PDF

Info

Publication number
CN112231260A
CN112231260A CN202011142100.XA CN202011142100A CN112231260A CN 112231260 A CN112231260 A CN 112231260A CN 202011142100 A CN202011142100 A CN 202011142100A CN 112231260 A CN112231260 A CN 112231260A
Authority
CN
China
Prior art keywords
bus
priority
frame
node
sending
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
Application number
CN202011142100.XA
Other languages
English (en)
Other versions
CN112231260B (zh
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.)
CCTEG Chongqing Research Institute Co Ltd
Original Assignee
CCTEG Chongqing Research Institute Co Ltd
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 CCTEG Chongqing Research Institute Co Ltd filed Critical CCTEG Chongqing Research Institute Co Ltd
Priority to CN202011142100.XA priority Critical patent/CN112231260B/zh
Publication of CN112231260A publication Critical patent/CN112231260A/zh
Application granted granted Critical
Publication of CN112231260B publication Critical patent/CN112231260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种基于动态优先级的抢占式多主RS485总线通讯方法,属于煤矿安全监控监测领域,包括以下步骤:S1:总线为半双工模式,连接多个相同帧格式的节点,且在占用总线发送数据同时能监听总线;S2:所有节点均为“主设备”,具备唯一的ID号和可变的总线使用优先级;S3:节点在发送数据前,先侦听总线状态,若总线繁忙,则比较帧优先级;S4:节点在发送数据时监听总线上的数据,如果总线上的帧与本节点发送的帧不一致则立即停止发送,并延时发送;S5:通信节点正在发送的帧被抢占后,节点按照优先级动态调整算法调节下一次发送的优先级。本发明提高了总线节点数量,充分提高总线使用效率。

Description

一种基于动态优先级的抢占式多主RS485总线通讯方法
技术领域
本发明属于煤矿安全监控监测领域,涉及一种基于动态优先级的抢占式多主RS485总线通讯方法。
背景技术
目前煤矿安全监控系统已基本实现了数字化升级改造,传感层、传输层、应用层设备均采用了数字化传输。在煤矿安全监控系统中,《AQ 6201-2019煤矿安全监控系统通用技术要求》5.7.5明确要求“就地控制执行时间不大于2s”。这就要求监控系统中处于传感层的传感器、控制器和执行器之间通信时间小于2s,目前,数字通信中传感层大多采用两线制(半双工)“主从式”RS485总线,总线上所有传感器、控制器和执行器由唯一的总线控制器(监控分站)管理通信。分站一般按地址轮询呼叫其他节点,分站外的任意两节点完成一次信息交互至少需要占用总线2次,这极大的限制了总线的有效利用率,并且限制了在给定的通信速率下总线带载节点的数量。
发明内容
有鉴于此,本发明的目的在于提供一种基于动态优先级的抢占式多主RS485总线通讯方法,解决总线利用率低、设备数量局限、控制响应时间长的问题。
为达到上述目的,本发明提供如下技术方案:
一种基于动态优先级的抢占式多主RS485总线通讯方法,包括以下步骤:
S1:总线为半双工模式,连接多个通信节点,所有通信节点采用相同的帧格式,且所有通信节点在占用总线发送数据的同时能监听总线;
S2:所有通信节点均为“主设备”,并且具备唯一的ID号和可变的总线使用优先级;不同通信节点的优先级可以相同,优先级高的节点可以在任意时刻抢占总线;
S3:通信节点在发送数据前,先侦听总线状态,如果总线空闲则立即发送数据,若总线繁忙,则比较总线上正在传输的帧的优先级与自身当前需要发送帧的优先级,若前者优先级高则等待总线空闲后再发送,否则立即抢占总线;
S4:通信节点在发送数据的同时监听总线上的数据,如果总线上的帧与本节点发送的帧不一致则立即停止发送,并按照延时避让算法计算节点下次启动发送的数据时刻,并延时发送;
S5:通信节点正在发送的帧被抢占后,节点按照优先级动态调整算法调节下一次发送的优先级。
进一步,步骤S2中,所有通信节点采用统一的帧格式且帧的第一个字节为设备ID,第二个字节为帧优先级。
进一步,步骤S3中,通信节点抢占总线是通过发送一个字节0xFF干扰总线,进而抢占总线。
进一步,步骤S4中所述延时避让算法的公式为:
t=(a×id+b×l)t0
其中,a、b为权重因子,范围为(0~1);id为节点ID;l为优先级;t0为总线传输一个字节需要的时间。
进一步,步骤S5中所述优先级动态调整算法公式为:
lk+1=α×k+lk
其中,α为调节因子,不同的通信节点的调节因子不完全相同;k为被抢占次数,k>=0,lk为第k次发送优先级。
本发明的有益效果在于:本发明针对煤矿安全监控通信系统传感层主从式RS485通信总线利用率低、设备数量局限、控制响应时间长等问题,提出一种基于动态优先级的抢占式多主RS485总线通讯方法,减少总线上任意节点之间信息交互需要传输帧的数量,在满足煤矿安全监控系统通用技术要求,最大范围提高总线节点数量,充分提高总线使用效率。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1是本发明的基于动态优先级的抢占式多主RS485总线通讯结构示意图;
图2是本发明的485总线帧格式图;
图3是本发明帧发送流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图1、2、3所示,本实施例的方法包括:
a.总线为半双工模式,包含多个通信节点,所有节点采用相同的帧格式,且均具备占用总线发送数据的同时能监听总线的功能。
b.所有通信节点均为“主设备”,并且具备唯一的ID号和可变的总线使用优先级;不同节点的优先级可以相同,优先级高的节点可以在任意时刻抢占总线。
c.所有通信节点需要发送数据时,均先侦听总线状态,如果总线空闲则立即发送数据,若总线繁忙,则比较总线上正在传输的帧的优先级与自身当前需要发送帧的优先级,若前者优先级高则等待总线空闲后再发送,否则立即抢占总线。
d.所有通信节点在发送数据的同时监听总线上的数据,如果总线上的帧与本节点发送的帧不一致则立即停止发送,并按照延时避让公式计算节点下次启动发送的数据时刻,并延时发送。
e.通信节点正在发送的帧被抢占后,节点按照优先级动态调整算法调节下一次发送的优先级。
本实施例中,步骤a所述将若干通信节点进行正确电气连接,组成RS485半双工通信网络系统。
步骤b所述将总线上的所有节点分别设置互不相同的ID,并根据实际需求赋予不同类型节点的帧初始优先级,优先级可以相同也可以不相同;
步骤c所述节点发送数据时,如果该帧是初次发送,若总线空闲则立即发送数据,若总线繁忙,则比较总线上正在传输的帧的优先级与自身当前需要发送帧的优先级,若前者优先级高则等待总线空闲后再发送,否则立即抢占总线。
步骤d所述节点在发送数据的同时监听到总线上的帧与本节点发送的帧不一致则立即停止发送,并按照t=(a×id+b×l)t0公式计算节点下次启动发送的数据时刻,并延时发送。
步骤e所述节点发送的帧过程中被抢占后,节点按照公式t=(a×id+b×l)t0调节下一次发送的优先级。
本实施例中任何节点实时保持着对总线状态的监听。
本实施例中节点ID是总线上节点识别的唯一标识,同一个总线系统中节点ID不能重复。
本实施例中若相同优先级的多个不同节点同时抢占总线,则按照延时公式t=(a×id+b×l)t0计算出来的总线避让时间不相同,避免了下一次发送过程再次冲突,减少总线的冲突开销。
本实施例中节点优先级大小动态调节,优先级高的优先获得总线的使用权,确保关键数据的实时性,同时,优先级低的节点在多次被抢占后优先级得以提高,依然能够获取总线的使用权,保证了节点之间的公平性。
下面用两个具体数值的实施例进行详细说明:
本实施例中所述的485通信模块在设计总线接口电路时采用2片TI公司的SN65LBC184芯片,分别记为芯片1和芯片2,将芯片1和2的A、B引脚分别相连,芯片1作为模块的帧收发接口,芯片2作为监听接口只接收不发送。设计帧格式为:
地址字段 优先级字段 数据字段 结束字段
1字节 1字节 8字节 2字节
模块支持地址范围1-255,优先级范围0到8,规定优先级数值越小优先级别越高。在某个现场应用案例,存在传感器S1、S2,控制器C1、C2,执行器M1、M2共6个节点。其中,传感器S1、控制器C1、执行器M1组成一个闭环控制系统1,ID分别设置为1、2、3并且具有较高的实时性需求,其他节点组成闭环控制系统2,ID设置为4、5、6并且具有较低的实时性需求。所有节点分散在一条4公里长的煤矿巷道内,为保证可靠通信,通信速率采用4800bps。控制系统1中的所有节点优先级初始化为5,a取值0.5,b取值10,α取值-1;控制系统2中所有节点优先级初始化为8,a取值0.5,b取值15,α取值-0.5.当总线繁忙时,控制系统1的节点将获取更高的总线使用优先权,极端情况下所有帧的优先级都被动态提高到0,所有节点具有相同的优先级,但控制系统1的节点退避时间更短,有限发送。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

1.一种基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:包括以下步骤:
S1:总线为半双工模式,连接多个通信节点,所有通信节点采用相同的帧格式,且所有通信节点在占用总线发送数据的同时能监听总线;
S2:所有通信节点均为“主设备”,并且具备唯一的ID号和可变的总线使用优先级;
S3:通信节点在发送数据前,先侦听总线状态,如果总线空闲则立即发送数据,若总线繁忙,则比较总线上正在传输的帧的优先级与自身当前需要发送帧的优先级,若前者优先级高则等待总线空闲后再发送,否则立即抢占总线;
S4:通信节点在发送数据的同时监听总线上的数据,如果总线上的帧与本节点发送的帧不一致则立即停止发送,并按照延时避让算法计算节点下次启动发送的数据时刻,并延时发送;
S5:通信节点正在发送的帧被抢占后,节点按照优先级动态调整算法调节下一次发送的优先级。
2.根据权利要求1所述的基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:步骤S2中,所有通信节点采用统一的帧格式且帧的第一个字节为设备ID,第二个字节为帧优先级。
3.根据权利要求1所述的基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:步骤S3中,通信节点抢占总线是通过发送一个字节0xFF干扰总线,进而抢占总线。
4.根据权利要求1所述的基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:步骤S4中所述延时避让算法的公式为:
t=(a×id+b×l)t0
其中,a、b为权重因子,范围为(0~1);id为节点ID;l为优先级;t0为总线传输一个字节需要的时间。
5.根据权利要求1所述的基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:步骤S5中所述优先级动态调整算法公式为:
lk+1=α×k+lk
其中,α为调节因子,不同的通信节点的调节因子不完全相同;k为被抢占次数,k>=0,lk为第k次发送优先级。
CN202011142100.XA 2020-10-21 2020-10-21 一种基于动态优先级的抢占式多主rs485总线通讯方法 Active CN112231260B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011142100.XA CN112231260B (zh) 2020-10-21 2020-10-21 一种基于动态优先级的抢占式多主rs485总线通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011142100.XA CN112231260B (zh) 2020-10-21 2020-10-21 一种基于动态优先级的抢占式多主rs485总线通讯方法

Publications (2)

Publication Number Publication Date
CN112231260A true CN112231260A (zh) 2021-01-15
CN112231260B CN112231260B (zh) 2022-08-02

Family

ID=74110692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011142100.XA Active CN112231260B (zh) 2020-10-21 2020-10-21 一种基于动态优先级的抢占式多主rs485总线通讯方法

Country Status (1)

Country Link
CN (1) CN112231260B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113395187A (zh) * 2021-05-27 2021-09-14 深圳市常工电子计算机有限公司 一种基于485总线的通信增强方法和系统
CN114826812A (zh) * 2022-02-18 2022-07-29 山东浪潮工业互联网产业股份有限公司 一种rs485通信多主站的实现方法及系统
CN115052251A (zh) * 2021-03-09 2022-09-13 Oppo广东移动通信有限公司 广播信息传输方法、装置、电子设备及存储介质
CN115191105A (zh) * 2022-06-07 2022-10-14 广东逸动科技有限公司 抢占总线的方法、装置、电子设备、控制系统及存储介质
CN116701009A (zh) * 2022-11-21 2023-09-05 荣耀终端有限公司 数据通信的方法及电子设备
CN117872841A (zh) * 2023-12-12 2024-04-12 广州里工实业有限公司 多总线输入输出电路系统及控制方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060250961A1 (en) * 2005-05-04 2006-11-09 Jean-Philippe Vasseur Dynamic TE-LSP priority and preemption
CN101136828A (zh) * 2007-09-27 2008-03-05 广州市聚晖电子科技有限公司 一种基于rs485多主机有线串行通讯的方法
CN101626334A (zh) * 2009-08-10 2010-01-13 中兴通讯股份有限公司 通讯总线控制方法和装置
CN102546141A (zh) * 2012-02-20 2012-07-04 杭州海康威视系统技术有限公司 485总线系统及其异步半双工通信方法
CN105677608A (zh) * 2015-12-31 2016-06-15 浙江众合科技股份有限公司 一种多主rs485总线仲裁方法及系统
CN106982156A (zh) * 2017-06-08 2017-07-25 广州日滨科技发展有限公司 优先级设置方法、装置、通信系统、设备及可读存储介质
CN107104867A (zh) * 2017-04-24 2017-08-29 珠海格力电器股份有限公司 主从式系统的通信方法及主从式系统
CN107995128A (zh) * 2017-12-11 2018-05-04 日立楼宇技术(广州)有限公司 综采集控系统的数据访问方法、装置、主机和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060250961A1 (en) * 2005-05-04 2006-11-09 Jean-Philippe Vasseur Dynamic TE-LSP priority and preemption
CN101136828A (zh) * 2007-09-27 2008-03-05 广州市聚晖电子科技有限公司 一种基于rs485多主机有线串行通讯的方法
CN101626334A (zh) * 2009-08-10 2010-01-13 中兴通讯股份有限公司 通讯总线控制方法和装置
CN102546141A (zh) * 2012-02-20 2012-07-04 杭州海康威视系统技术有限公司 485总线系统及其异步半双工通信方法
CN105677608A (zh) * 2015-12-31 2016-06-15 浙江众合科技股份有限公司 一种多主rs485总线仲裁方法及系统
CN107104867A (zh) * 2017-04-24 2017-08-29 珠海格力电器股份有限公司 主从式系统的通信方法及主从式系统
CN106982156A (zh) * 2017-06-08 2017-07-25 广州日滨科技发展有限公司 优先级设置方法、装置、通信系统、设备及可读存储介质
CN107995128A (zh) * 2017-12-11 2018-05-04 日立楼宇技术(广州)有限公司 综采集控系统的数据访问方法、装置、主机和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONG MIN等: ""Design and implementation of heterogeneous IOT gateway based on dynamic priority scheduling algorithm"", 《TRANSACTIONS OF THE INSTITUTE OF MEASUREMENT AND CONTROL》 *
邵严: ""RS485总线时分复用主动传输技术在安全监控系统的应用"", 《自动化与仪器仪表》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115052251A (zh) * 2021-03-09 2022-09-13 Oppo广东移动通信有限公司 广播信息传输方法、装置、电子设备及存储介质
CN115052251B (zh) * 2021-03-09 2023-08-18 Oppo广东移动通信有限公司 广播信息传输方法、装置、电子设备及存储介质
CN113395187A (zh) * 2021-05-27 2021-09-14 深圳市常工电子计算机有限公司 一种基于485总线的通信增强方法和系统
CN114826812A (zh) * 2022-02-18 2022-07-29 山东浪潮工业互联网产业股份有限公司 一种rs485通信多主站的实现方法及系统
CN114826812B (zh) * 2022-02-18 2024-05-03 浪潮工业互联网股份有限公司 一种rs485通信多主站的实现方法及系统
CN115191105A (zh) * 2022-06-07 2022-10-14 广东逸动科技有限公司 抢占总线的方法、装置、电子设备、控制系统及存储介质
CN115191105B (zh) * 2022-06-07 2024-05-17 广东逸动科技有限公司 抢占总线的方法、装置、电子设备、控制系统及存储介质
CN116701009A (zh) * 2022-11-21 2023-09-05 荣耀终端有限公司 数据通信的方法及电子设备
CN116701009B (zh) * 2022-11-21 2024-05-17 荣耀终端有限公司 数据通信的方法及电子设备
CN117872841A (zh) * 2023-12-12 2024-04-12 广州里工实业有限公司 多总线输入输出电路系统及控制方法

Also Published As

Publication number Publication date
CN112231260B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN112231260B (zh) 一种基于动态优先级的抢占式多主rs485总线通讯方法
CN105677608B (zh) 一种多主rs485总线仲裁方法及系统
CN101741766B (zh) 一种can网到以太网转换装置
CN108494649B (zh) 基于轮询与均态时隙相结合的总线系统及数据传输方法
US11233736B2 (en) Vehicle gateway and method of controlling the same
US7152134B2 (en) Interfacing a legacy data bus with a wideband data bus utilizing an embedded bus controller
CN102664918B (zh) 刀片服务器控制方法及控制台
CN103257946A (zh) 一种紧耦合多控存储系统控制器之间的高速互联方法
CN104301191A (zh) 总线系统
CN107766267A (zh) 一种i2c总线的仲裁方法及系统
CN101917318A (zh) 一种高低速总线系统连接装置及高低速总线系统
CN107659456A (zh) 一种基于rs485通信的数据冲突传输方法
US7120713B2 (en) Systems and methods for interfacing legacy equipment to high-speed data buses
CN210324188U (zh) 一种集成电路总线iic主从竞争自动切换设备及其系统
EP1003108A1 (en) Apparatus and method for providing round-robin arbitration
CN107357756A (zh) 多设备在主模式下进行iic通信的系统
CN210518417U (zh) 地址分配系统
CN105141483A (zh) 基于can总线的多节点网络最小通信间隔测定方法
CN104834618B (zh) 一种基于rs485总线通信的多设备扫描方法和电力电子系统
CN109067631B (zh) 一种基于实时以太网通信协议架构的多节点汽车电控方法
US10565157B1 (en) I2C data communication system and method applied between multiple master devices
CN110519145B (zh) 一种基于双向环网的多主485路由通信方法和系统
KR20090007846A (ko) 디바이스의 응답 지연을 고려한 데이터 전송 시스템 및방법
CN115314070B (zh) 一种级联式高速长线传输装置
CN104216863B (zh) 多个arm间的通信电路及其通信方法

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