CN112231260B - 一种基于动态优先级的抢占式多主rs485总线通讯方法 - Google Patents
一种基于动态优先级的抢占式多主rs485总线通讯方法 Download PDFInfo
- Publication number
- CN112231260B CN112231260B CN202011142100.XA CN202011142100A CN112231260B CN 112231260 B CN112231260 B CN 112231260B CN 202011142100 A CN202011142100 A CN 202011142100A CN 112231260 B CN112231260 B CN 112231260B
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000001934 delay Effects 0.000 claims abstract description 3
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 abstract description 11
- 239000003245 coal Substances 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial 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总线通讯方法。
背景技术
目前煤矿安全监控系统已基本实现了数字化升级改造,传感层、传输层、应用层设备均采用了数字化传输。在煤矿安全监控系统中,《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 (3)
1.一种基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:包括以下步骤:
S1:总线为半双工模式,连接多个通信节点,所有通信节点采用相同的帧格式,且所有通信节点在占用总线发送数据的同时能监听总线;
S2:所有通信节点均为“主设备”,并且具备唯一的ID号和可变的总线使用优先级;
S3:通信节点在发送数据前,先侦听总线状态,如果总线空闲则立即发送数据,若总线繁忙,则比较总线上正在传输的帧的优先级与自身当前需要发送帧的优先级,若前者优先级高则等待总线空闲后再发送,否则立即抢占总线;
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次发送优先级。
2.根据权利要求1所述的基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:步骤S2中,所有通信节点采用统一的帧格式且帧的第一个字节为设备ID,第二个字节为帧优先级。
3.根据权利要求1所述的基于动态优先级的抢占式多主RS485总线通讯方法,其特征在于:步骤S3中,通信节点抢占总线是通过发送一个字节0xFF干扰总线,进而抢占总线。
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 CN112231260A (zh) | 2021-01-15 |
CN112231260B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115052251B (zh) * | 2021-03-09 | 2023-08-18 | Oppo广东移动通信有限公司 | 广播信息传输方法、装置、电子设备及存储介质 |
CN113395187B (zh) * | 2021-05-27 | 2022-05-20 | 深圳市常工电子计算机有限公司 | 一种基于485总线的通信增强方法和系统 |
CN114826812B (zh) * | 2022-02-18 | 2024-05-03 | 浪潮工业互联网股份有限公司 | 一种rs485通信多主站的实现方法及系统 |
CN115191105B (zh) * | 2022-06-07 | 2024-05-17 | 广东逸动科技有限公司 | 抢占总线的方法、装置、电子设备、控制系统及存储介质 |
CN116701009B (zh) * | 2022-11-21 | 2024-05-17 | 荣耀终端有限公司 | 数据通信的方法及电子设备 |
CN117872841B (zh) * | 2023-12-12 | 2024-09-24 | 广州里工实业有限公司 | 多总线输入输出电路系统及控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104867A (zh) * | 2017-04-24 | 2017-08-29 | 珠海格力电器股份有限公司 | 主从式系统的通信方法及主从式系统 |
CN107995128A (zh) * | 2017-12-11 | 2018-05-04 | 日立楼宇技术(广州)有限公司 | 综采集控系统的数据访问方法、装置、主机和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8107379B2 (en) * | 2005-05-04 | 2012-01-31 | Cisco Technology, Inc. | Dynamic TE-LSP priority and preemption |
CN101136828B (zh) * | 2007-09-27 | 2010-10-06 | 广州市聚晖电子科技有限公司 | 一种基于rs485多主机有线串行通讯的方法 |
CN101626334B (zh) * | 2009-08-10 | 2013-06-12 | 中兴通讯股份有限公司 | 通讯总线控制方法和装置 |
CN102546141B (zh) * | 2012-02-20 | 2015-02-18 | 杭州海康威视系统技术有限公司 | 485总线系统及其异步半双工通信方法 |
CN105677608B (zh) * | 2015-12-31 | 2019-01-04 | 浙江众合科技股份有限公司 | 一种多主rs485总线仲裁方法及系统 |
CN106982156B (zh) * | 2017-06-08 | 2019-11-15 | 日立楼宇技术(广州)有限公司 | 优先级设置方法、装置、通信系统、设备及可读存储介质 |
-
2020
- 2020-10-21 CN CN202011142100.XA patent/CN112231260B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104867A (zh) * | 2017-04-24 | 2017-08-29 | 珠海格力电器股份有限公司 | 主从式系统的通信方法及主从式系统 |
CN107995128A (zh) * | 2017-12-11 | 2018-05-04 | 日立楼宇技术(广州)有限公司 | 综采集控系统的数据访问方法、装置、主机和存储介质 |
Non-Patent Citations (2)
Title |
---|
"Design and implementation of heterogeneous IOT gateway based on dynamic priority scheduling algorithm";Dong Min等;《Transactions of the Institute of Measurement and Control》;20141231;全文 * |
"RS485总线时分复用主动传输技术在安全监控系统的应用";邵严;《自动化与仪器仪表》;20200831;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112231260A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112231260B (zh) | 一种基于动态优先级的抢占式多主rs485总线通讯方法 | |
CN105677608B (zh) | 一种多主rs485总线仲裁方法及系统 | |
US5247626A (en) | Fddi controller having flexible buffer management | |
CN101741766B (zh) | 一种can网到以太网转换装置 | |
CN108494649B (zh) | 基于轮询与均态时隙相结合的总线系统及数据传输方法 | |
US11233736B2 (en) | Vehicle gateway and method of controlling the same | |
CN102664918B (zh) | 刀片服务器控制方法及控制台 | |
US20040205285A1 (en) | Systems and methods for interfacing legacy equipment to high-speed data buses employing embedded bus controllers | |
CN107766267B (zh) | 一种i2c总线的仲裁方法及系统 | |
CN103257946A (zh) | 一种紧耦合多控存储系统控制器之间的高速互联方法 | |
CN101917318A (zh) | 一种高低速总线系统连接装置及高低速总线系统 | |
CN203590251U (zh) | 基于串行RapidIO总线的FlexRay控制系统 | |
CN104301191A (zh) | 总线系统 | |
CN107659456A (zh) | 一种基于rs485通信的数据冲突传输方法 | |
CN107357756A (zh) | 多设备在主模式下进行iic通信的系统 | |
CN110456705B (zh) | 可动态扩展接口的网络控制装置、楼宇自控系统 | |
EP1003108A1 (en) | Apparatus and method for providing round-robin arbitration | |
CN210324188U (zh) | 一种集成电路总线iic主从竞争自动切换设备及其系统 | |
CN115314070B (zh) | 一种级联式高速长线传输装置 | |
CN101247305A (zh) | 一种总线系统和数据传输方法 | |
CN104834618B (zh) | 一种基于rs485总线通信的多设备扫描方法和电力电子系统 | |
CN210518417U (zh) | 地址分配系统 | |
CN109067631B (zh) | 一种基于实时以太网通信协议架构的多节点汽车电控方法 | |
KR100900980B1 (ko) | 디바이스의 응답 지연을 고려한 데이터 전송 시스템 및방법 | |
US10565157B1 (en) | I2C data communication system and method applied between multiple master devices |
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 |