CN113094321B - 一种基于群呼和时隙分配的rs485总线通信方法 - Google Patents

一种基于群呼和时隙分配的rs485总线通信方法 Download PDF

Info

Publication number
CN113094321B
CN113094321B CN202110499403.5A CN202110499403A CN113094321B CN 113094321 B CN113094321 B CN 113094321B CN 202110499403 A CN202110499403 A CN 202110499403A CN 113094321 B CN113094321 B CN 113094321B
Authority
CN
China
Prior art keywords
time slot
slave
host
queue
group call
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
Application number
CN202110499403.5A
Other languages
English (en)
Other versions
CN113094321A (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 CN202110499403.5A priority Critical patent/CN113094321B/zh
Publication of CN113094321A publication Critical patent/CN113094321A/zh
Application granted granted Critical
Publication of CN113094321B publication Critical patent/CN113094321B/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/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
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种基于群呼和时隙分配的RS485总线通信方法,属于通讯技术领域,包括:主机通过一条RS485总线连接n台从机,主机和不同从机点对点轮询完成初始化过程,主机根据收到的所有从机的地址建立一个地址链表;主机发出群呼命令;从机应答时隙分配;从机优先队列回发;从机正常队列回发。本发明直接利用已有的RS485总线,硬件无任何变化,采用群呼和顺序应答的方式缩短总线轮询周期,采用优先权管理机制,保证重要和紧急数据优先传输。

Description

一种基于群呼和时隙分配的RS485总线通信方法
技术领域
本发明属于通讯技术领域,涉及一种基于群呼和时隙分配的RS485总线通信方法。
背景技术
随着技术的发展和生活水平的提高,越来越多的工业控制、医疗、通讯、消费等电子产品日趋智能化,以微处理器为核心的嵌入式系统得到日益广泛的应用,对这些智能化设备进行管理也成为嵌入式应用的一个重点。对多个嵌入式设备进行组网监控时,由于RS485总线具有主从组网所具备的独特优势:一主多从,可驱动高达32~256个从节点;半双工通讯、简单方便;差分传输,高抗干扰、高速、远距离;传输线最少,只有两根线,成本最低;因此,RS485依旧是目前最常用的总线。现在RS485总线通讯采取的是主机呼叫从机应答,点对点逐一轮询,造成了从机有重要和紧急信息不能快速传输给主机。一个可行的方法是每个设备另外增加一个输入信号线——片选或者仲裁信号线,从机通过主动申请或者抢占的方式获得优先权,实现快速传输自身信息,方法简单,但是增加了信号线,失去了通用性,丧失了RS485的优势。
发明内容
有鉴于此,本发明的目的在于提供一种基于群呼和时隙分配的RS485总线通信方法,每条RS485总线上所有设备在不改变任何硬件的条件下,采用群呼和顺序应答的方式缩短主机和沿线所有从机的总线轮询周期,增加了优先权管理机制,保证重要和紧急数据优先传输,所有从机数据高效、快速传输。
为达到上述目的,本发明提供如下技术方案:
一种基于群呼和时隙分配的RS485总线通信方法,包括以下步骤:
S1:主机通过一条RS485总线连接n台从机E1~En,主机和不同从机点对点轮询完成初始化过程,主机根据收到的所有从机E1~En的地址建立一个地址链表A1~An
S2:主机发出群呼命令;
S3:从机应答时隙分配:主机群呼帧发送完毕后,按时间先后顺序分为优先队列时隙X1~Xn和正常队列时隙T1~Tn,每个队列都先有一个等待时隙;
S4:从机优先队列回发:从机根据回发信息的重要性选择回发,需要优先发送的信息在优先应答队列对应时隙回发,发送完毕后增加一个等待时隙,后续优先队列向后顺延;
S5:从机正常队列回发:优先队列时隙结束后经过一个正常等待时隙,按照主机群呼的地址链表顺序依次回发,在优先队列中已经回发的正常队列时隙空操作等待。
进一步,步骤S2中所述主机发出的呼叫信息包括地址链表A1~An和每个时隙对应时长Δτ。
进一步,所述步骤S5中,正常回发自身信息无变化时,采用短帧数据回发。
进一步,所述短帧数据回发为:回发数据帧只包含地址和校验。
进一步,步骤S5中,优先队列已经回发过的从机在正常队列中轮空操作。
进一步,还包括以下步骤:
S6:主机根据实时数值变化情况,自动调整地址链表;
S7:从机根据自身信息状态,自动调整回发数据帧长度。
本发明的有益效果在于:
1)直接利用已有的RS485总线,硬件无任何变化;
2)采用群呼和顺序应答的方式缩短总线轮询周期;多台从机采用一呼一答,全部用长帧通信的方式,轮询周期大约需要800ms,采用群呼、多台短帧回发的方式,轮询周期最短可减少到200ms;
3)采用优先权管理机制,保证重要和紧急数据优先传输;主机点对点逐一轮询,最后一台从机的信息需要一个完整周期800ms才能发送给主机;采用优先队列的方式,最高优先级的从机在100ms时就可以发送给主机。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为群呼和时隙分配原理框图;
图2为从机优先队列回发原理框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
请参阅图1~图2,为一种基于群呼和时隙分配的RS485总线通信方法,每条RS485总线上所有设备在不改变任何硬件的条件下,采用群呼和顺序应答的方式缩短主机和沿线所有从机的总线轮询周期,增加了优先权管理机制,保证重要和紧急数据优先传输,所有从机数据高效、快速传输。
本发明在RS485总线通信过程中,主机采用群呼方式,呼叫信息中携带当前总线所有从机地址组成的地址链表和应答时隙时长,从设备应答分为优先应答和正常应答两个队列,从机根据自身应答信息的重要性选择回发,信息重要需要优先发送就在优先应答队列对应时隙回发,否则在正常应答队列对应时隙回发,所有从设备都在线监听,优先应答和正常应答两个队列中根据地址链表中的逐一回发,已经在优先队列中回发的从机正常应答队列不再回发,实现重要和紧急信息及时传递。
发明要点:
(1)主机针对沿线所有从机进行群呼,但不是广播,通知所有从机应答顺序和单个时隙时长,每个从设备按照顺序逐一回发;
(2)从设备回发顺序采用两个队列方式,优先队列用于重要和紧急信息回发,正常队列回发时间靠后,每个队列内部通过地址链表动态排列优先顺序;
(3)主机每个轮询周期只群呼一次,从机接收主机群呼信息和监听其它从机回发,按顺序回发信息;
从机自身信息无变化的时候,采用短帧数据回发。
(1)如图1所示,预备阶段:主机通过一条RS485总线在不同位置处连接N台从机,主机和不同从机点对点轮询完成初始化过程,主机根据收到的所有从机E1~En的地址建立一个地址链表A1~An
(2)主机群呼:主机发出群呼命令,呼叫信息包括地址链表A1~An和每个时隙对应时长Δτ;
(3)从机应答时隙分配:主机群呼帧发送完毕后,按时间先后顺序分为两个队列,优先队列时隙X1~Xn和正常队列时隙T1~Tn,每个队列都先有一个等待时隙;
(4)从机优先队列回发:从机根据回发信息的重要性选择回发,信息重要需要优先发送就在优先应答队列对应时隙回发,例如从机A2优先应答队列中对应时隙发送,发送完毕后增加一个等待时隙,后续优先队列向后顺延,另外还有从机需要优先应答如图2所示循环操作,直到最后一个优先队列时隙结束;
(5)从机正常队列回发:优先队列时隙结束后经过一个正常等待时隙,按照主机群呼的地址链表顺序依次回发,在优先队列中已经回发的正常队列时隙空操作等待,正常回发自身信息无变化的时候可采用短帧数据回发(例如只含地址和校验),缩短整体轮询周期。
具体实施例:
一种基于群呼和时隙分配的RS485总线通信方法的实施例,该实施例中包括主机E0例如矿用本安型分站,RS485总线连接的从机E1~En例如4台总线型传感器E1~E4(不限于4台)对应地址1~4,通信波特率为2400bps,时隙时长Δτ(大约时长10ms),具体工作过程如下:
(1)准备阶段:上电初始化,主机完成对所有从机点对点轮询,4台从机都正常通信,地址分别为1~4,默认地址链表A1~An对应1~4;
(2)主机群呼:群呼信息包括地址链表1~4和时隙时长10ms;
(3)从机应答时隙分配:主机发送完毕后共分配10个时隙,每个时隙10ms,依次为等待时隙、优先队列时隙X1~X4、等待时隙和正常队列时隙T1~T4
(4)从机优先队列回发:例如从机2和从机3中有数值突然增大或减小都需要及时发送给主机,在主机群呼结束后,等待时隙10ms和优先队列地址链表X1对应10ms后面的时隙中心5ms(即群呼结束后等待25ms)时刻从机2回发数据;从机2回发结束后,等待时隙10ms后面的时隙中心5ms(即从机2回发结束后等待15ms)时刻从机3回发数据,再经过一个等待时隙10ms和优先队列地址链表X4对应10ms结束;
(5)从机正常队列回发:优先队列时隙结束后,经过一个等待时隙10ms正常队列开始回发,优先队列已经回发过的从机在正常队列中轮空操作,从机1在正常队列时隙T1中心5ms(即优先队列结束后等待15ms)时刻从机1回发数据;从机2和3已经在优先队列中回发,对应时隙T2~T3轮空等待,从机4在正常队列时隙T4中心5ms(即正常队列从机1发送结束后等待25ms)时刻从机4回发数据,整个轮询周期结束,下一轮重新开始;
(6)主机根据实时数值变化情况,自动调整地址链表A1/A2/A3/A4,例如从机2和3数值变化频繁,地址链表A1/A2/A3/A4对应2/3/1/4。
(7)从机根据自身信息状态,自动调整回发数据帧长度,例如数据有变化时回发13字节,数据无变化时回发4字节,采用短帧应答缩短轮询周期。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (6)

1.一种基于群呼和时隙分配的RS485总线通信方法,其特征在于:包括以下步骤:
S1:主机通过一条RS485总线连接n台从机E1~En,主机和不同从机点对点轮询完成初始化过程,主机根据收到的所有从机E1~En的地址建立一个地址链表A1~An
S2:主机发出群呼命令;
S3:从机应答时隙分配:主机群呼帧发送完毕后,按时间先后顺序分为优先队列时隙X1~Xn和正常队列时隙T1~Tn,每个队列都先有一个等待时隙;
S4:从机优先队列回发:从机根据回发信息的重要性选择回发,需要优先发送的信息在优先应答队列对应时隙回发,发送完毕后增加一个等待时隙,后续优先队列向后顺延;
S5:从机正常队列回发:优先队列时隙结束后经过一个正常等待时隙,按照主机群呼的地址链表顺序依次回发,在优先队列中已经回发的正常队列时隙空操作等待。
2.根据权利要求1所述的基于群呼和时隙分配的RS485总线通信方法,其特征在于:步骤S2中所述主机发出的呼叫信息包括地址链表A1~An和每个时隙对应时长Δτ。
3.根据权利要求1所述的基于群呼和时隙分配的RS485总线通信方法,其特征在于:所述步骤S5中,正常回发自身信息无变化时,采用短帧数据回发。
4.根据权利要求3所述的基于群呼和时隙分配的RS485总线通信方法,其特征在于:所述短帧数据回发为:回发数据帧只包含地址和校验。
5.根据权利要求4所述的基于群呼和时隙分配的RS485总线通信方法,其特征在于:步骤S5中,优先队列已经回发过的从机在正常队列中轮空操作。
6.根据权利要求1所述的基于群呼和时隙分配的RS485总线通信方法,其特征在于:还包括以下步骤:
S6:主机根据实时数值变化情况,自动调整地址链表;
S7:从机根据自身信息状态,自动调整回发数据帧长度。
CN202110499403.5A 2021-04-30 2021-04-30 一种基于群呼和时隙分配的rs485总线通信方法 Active CN113094321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110499403.5A CN113094321B (zh) 2021-04-30 2021-04-30 一种基于群呼和时隙分配的rs485总线通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110499403.5A CN113094321B (zh) 2021-04-30 2021-04-30 一种基于群呼和时隙分配的rs485总线通信方法

Publications (2)

Publication Number Publication Date
CN113094321A CN113094321A (zh) 2021-07-09
CN113094321B true CN113094321B (zh) 2022-04-26

Family

ID=76664186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110499403.5A Active CN113094321B (zh) 2021-04-30 2021-04-30 一种基于群呼和时隙分配的rs485总线通信方法

Country Status (1)

Country Link
CN (1) CN113094321B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886316A (zh) * 2021-09-27 2022-01-04 合肥讯飞数码科技有限公司 数据通信方法及相关装置、设备、系统和存储介质
CN114097588B (zh) * 2021-10-29 2023-10-31 瀚云科技有限公司 一种灌溉装置的组网方法及装置
CN114500461B (zh) * 2021-12-24 2023-05-16 珠海格力电器股份有限公司 通讯方法、装置、存储介质、上位机、下位机和通讯系统
CN115396257A (zh) * 2022-10-31 2022-11-25 永联智慧能源科技(常熟)有限公司 一种降低换电站电池数据上传忙碌度的系统及方法
CN116644012B (zh) * 2023-07-26 2023-12-22 深圳市逸云天电子有限公司 一种总线通信方法、电子设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1485727A (zh) * 2002-09-23 2004-03-31 ��Ϊ�������޹�˾ 一种设备数据轮询调度方法
JP2004104163A (ja) * 2002-09-04 2004-04-02 Fujitsu Ten Ltd データ通信方法およびシステム
CN201945864U (zh) * 2010-11-19 2011-08-24 贵州大森天元信息技术有限公司 一种出矿量的多站监控装置
CN106302032A (zh) * 2016-10-25 2017-01-04 成斌 一种点对多点轮询通讯方法
CN107040284A (zh) * 2017-03-27 2017-08-11 西安电子科技大学 一种提高数据传输的可靠性与稳定性的多址接入方法
CN110034942A (zh) * 2019-04-17 2019-07-19 北京电子工程总体研究所 一种基于半双工电台的组网通信控制方法和系统
CN111147619A (zh) * 2019-12-20 2020-05-12 海丰通航科技有限公司 本地实现rs485从机设备自动分配地址的方法和系统
CN111241019A (zh) * 2019-12-31 2020-06-05 苏州阿德文斯电子科技有限公司 一种rs485总线仲裁及地址自动识别的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2856027A1 (en) * 2014-03-18 2015-09-18 Smartrek Technologies Inc. Mesh network system and techniques

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104163A (ja) * 2002-09-04 2004-04-02 Fujitsu Ten Ltd データ通信方法およびシステム
CN1485727A (zh) * 2002-09-23 2004-03-31 ��Ϊ�������޹�˾ 一种设备数据轮询调度方法
CN201945864U (zh) * 2010-11-19 2011-08-24 贵州大森天元信息技术有限公司 一种出矿量的多站监控装置
CN106302032A (zh) * 2016-10-25 2017-01-04 成斌 一种点对多点轮询通讯方法
CN107040284A (zh) * 2017-03-27 2017-08-11 西安电子科技大学 一种提高数据传输的可靠性与稳定性的多址接入方法
CN110034942A (zh) * 2019-04-17 2019-07-19 北京电子工程总体研究所 一种基于半双工电台的组网通信控制方法和系统
CN111147619A (zh) * 2019-12-20 2020-05-12 海丰通航科技有限公司 本地实现rs485从机设备自动分配地址的方法和系统
CN111241019A (zh) * 2019-12-31 2020-06-05 苏州阿德文斯电子科技有限公司 一种rs485总线仲裁及地址自动识别的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Application of RS485 for communication and synchronization in distributed electromagnetic exploration system";Zhang Wenxiu等;《2011 International Conference on Electric Information and Control Engineering》;20111231;1-4 *
"RS485 总线时分复用 主动传输技术在安全监控系统的应用";邵严;《自动化与仪器仪表》;20200831(第8期);57-63 *

Also Published As

Publication number Publication date
CN113094321A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN113094321B (zh) 一种基于群呼和时隙分配的rs485总线通信方法
US10204072B2 (en) Method for automatically allocating addresses to similar bus users
CN100496048C (zh) 多主通信系统
CN106255964B (zh) 传感器全局总线
US8060672B2 (en) Event signaling between peripheral modules and a processing unit
CN111241019A (zh) 一种rs485总线仲裁及地址自动识别的方法
US9176914B2 (en) Method for configurating canopen network, method for operating slave device of canopen network and system for controlling PLC device using canopen network
CN106415518A (zh) 具有带内中断的相机控制接口扩展
JPH10508160A (ja) 中央局と複数の無線リモート局との間のデータ交換装置
US10200290B2 (en) Station and method for serial data transmission using dynamic reprioritizing of data frames
CN102035574B (zh) 可降低无线资源耗费的传输方法及其相关装置
CN112398714B (zh) 一种背板总线主站、系统及其数据通信方法
CN115529293B (zh) 一种用于组合电池组的动态编址方法与系统
CN108702314A (zh) 模块化通信框架
US20110295938A1 (en) Multi-master communications in a controller area network
Farsi et al. An introduction to CANopen
CN116644012B (zh) 一种总线通信方法、电子设备及计算机可读存储介质
US6609172B1 (en) Breaking up a bus to determine the connection topology and dynamic addressing
CN113994638A (zh) 用于串行总线系统的用户站和用于在串行总线系统中进行通信的方法
EP1003108A1 (en) Apparatus and method for providing round-robin arbitration
CN108123863B (zh) 家用电器的通信系统、通信方法以及家用电器
CN105207866B (zh) 基于空调控制网络的控制终端的通信方法及空调控制网络
CN108055185B (zh) 家用电器的通信系统、通信方法以及家用电器
JP2003198572A (ja) 確定的フィールドバス及びその種のバスの管理方法
CN113965432B (zh) 一种双通道can总线通信的控制系统

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