CN116032451A - 一种三线半双工多机通信系统及三线半双工多机通信方法 - Google Patents
一种三线半双工多机通信系统及三线半双工多机通信方法 Download PDFInfo
- Publication number
- CN116032451A CN116032451A CN202310039957.6A CN202310039957A CN116032451A CN 116032451 A CN116032451 A CN 116032451A CN 202310039957 A CN202310039957 A CN 202310039957A CN 116032451 A CN116032451 A CN 116032451A
- Authority
- CN
- China
- Prior art keywords
- slave
- slaves
- machine
- address
- data
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明涉及通信技术领域,提供了一种三线半双工多机通信系统及方法,包括主机、至少两个从机、同步信号线及通信线,至少两个从机通过通信线串联,主机通过通信线与至少两个从机中的首位从机连接以及通过同步信号线与至少两个从机连接。主机基于同步信号线及通信线为至少两个从机分配各自对应的地址,当主机与至少两个从机通信时,主机通过通信线发送控制命令至至少两个从机,以使至少两个从机根据地址响应控制命令;至少两个从机分别获取各自对应的待上传数据,并依次将待上传数据通过通信线传输至上一从机,直至将所有待上传数据传输至主机。基于此,即可通过同步信号线来控制信号采集的频率,从而实现任意数量的从机与主机之间的高速通信。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种三线半双工多机通信系统及三线半双工多机通信方法。
背景技术
传统的串行通信,如RS232,RS485,RS422等串行通信手段,多用于点对点通信,并且不能够实现非常高的通信速率。很难满足日益增长的工业自动化需求,对于多点通信、多机通信并且要求通信速度达到1Mbps以上的应用条件,急需一种新的通信方式。
发明内容
本发明实施例主要提供了一种三线半双工多机通信系统及三线半双工多机通信方法,旨在解决现有技术中串行通信速率慢、无法级联的技术问题。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种三线半双工多机通信系统,所述三线半双工多机通信系统包括主机、至少两个从机、同步信号线及通信线,所述至少两个从机通过所述通信线串联,所述主机通过所述通信线与串联后的所述至少两个从机中的首位从机连接,所述主机还通过所述同步信号线分别与所述至少两个从机连接;
所述三线半双工多机通信系统用于:
控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址;
当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令;
当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据;以及
控制所述至少两个从机中的末尾从机基于所述通信线将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机。
可选的,所述通信线包括接收总线和发送总线,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,包括:
所述主机通过所述同步信号线发送第一预设时间的同步信号至所述至少两个从机;
当所述至少两个从机接收到所述同步信号后,所述主机基于预设地址设置预设周期的第一电平信号,并通过所述发送总线将所述第一电平信号发送至所述至少两个从机中的首位从机,以使所述首位从机根据所述第一电平信号获得第一计数值,其中,所述第一计数值为所述首位从机在所述发送总线上的发送地址;
当所述首位从机获得其对应的发送地址后,所述首位从机基于第一预设阈值对所述第一电平信号的周期进行延长处理,并将周期延长后的所述第一电平信号通过所述发送总线发送至所述首位从机的下一从机,以使所述下一从机获取其对应的发送地址,以此类推,直至所述至少两个从机中的末尾从机获得其对应的发送地址。
可选的,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,还包括:
获取所述至少两个从机中的末尾从机,并定义所述末尾从机在所述接收总线上的接收地址,其中,所述末尾从机为在所述同步信号的第二预设时间内,未通过所述接收总线接收到任何信号的从机;
在确定所述末尾从机后,所述末尾从机在所述同步信号的第一预设时间内,基于所述末尾从机的接收地址设置预设周期的第二电平信号,并将所述第二电平信号发送至所述末尾从机的上一从机,以使所述上一从机根据所述第二电平信号获取其对应的接收地址;
当所述末尾从机的上一从机获得其对应的接收地址后,所述末尾从机的上一从机基于第二预设阈值对所述第二电平信号的周期进行延长处理,并将周期延长后的所述第二电平信号通过所述接收总线发送至其对应的上一从机,以使所述末尾从机的上一从机所对应的上一从机确定其在所述接收总线上的接收地址,以此类推,直至所述至少两个从机中的首位从机获得其对应的接收地址。
可选的,所述主机用于:
接收所述首位从机发送的所述第二电平信号,其中,所述第二电平信号是基于所述第二预设阈值延长N-1次周期的第二电平信号,所述N为所述至少两个从机的数量;
对延长N-1次周期后的所述第二电平信号进行计数,以获取第二计数值,并根据所述第二计数值确定所述至少两个从机的数量;
在确定所述至少两个从机的数量后,根据所述预设地址获取所述至少两个从机在所述发送总线上的发送地址,以及根据所述末尾从机的接收地址获取所述至少两个从机在所述接收总线上的接收地址。
可选的,所述三线半双工多机通信系统还包括自校验功能,所述当所述主机与所述至少两个从机通信时,所述控制所述主机发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令,包括:
在所述主机与所述至少两个从机通信时,确定与所述主机通信的第一从机;
获取所述主机需要传输的控制命令,并根据所述控制命令,获取校验值;
所述主机通过所述发送总线发送通信数据至所述至少两个从机,其中所述通信数据包括所述控制命令、所述校验值及所述第一从机的发送地址;
当所述至少两个从机接收到所述通信数据后,对所述通信数据行进计算,并将计算结果与所述校验值进行比对,当所述校验值与所述计算结果一致时,获取所述通信数据中的发送地址;
当所述至少两个从机获取到所述发送地址后,所述至少两个从机将自身的发送地址与所述发送地址进行比对,若所述发送地址与所述至少两个从机自身的发送地址一致,则确认与所述发送地址一致的从机为第一从机,并控制所述第一从机接收并执行所述主机下发的控制命令;
当所述校验值与所述计算结果不一致,或不存在与所述发送地址一致的从机时,则确定所述通信数据为无效数据,丢弃所述通信数据。
可选的,所述三线半双工多机通信系统还包括广播地址,所述当所述主机与所述至少两个从机通信时,控制所述主机发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令还包括:
当所述主机发送的通信数据中的地址为广播地址时,所述至少两个从机都需要执行所述通信数据中的控制命令。
可选的,所述三线半双工多机通信系统还用于:
在所述至少两个从机通过所述接收总线上传数据至所述主机的过程中,若所述主机通过发送总线发送控制命令至所述至少两个从机,则所述接收总线停止上传数据,直至所述至少两个从机执行完所述主机发送的控制命令后,所述接收总线继续上传数据。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种三线半双工多机通信方法,应用于如上所述的三线半双工多机通信系统,所述方法包括:
控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址;
当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令,以使所述至少两个从机根据所述地址响应所述控制命令;
当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据;以及
控制所述至少两个从机中的末尾从机基于所述通信线和所述地址将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次待上传数据直至将叠加后的待上传数据传输至所述主机。
可选的,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,包括:
控制所述主机通过所述同步信号线发送第一预设时间的同步信号至所述至少两个从机;
当所述至少两个从机接收到所述同步信号后,控制所述主机基于预设地址设置预设周期的第一电平信号,并通过所述发送总线将所述第一电平信号发送至所述至少两个从机中的首位从机,以使所述首位从机根据所述第一电平信号获得第一计数值,其中,所述第一计数值为所述首位从机在所述发送总线上的发送地址;
当所述首位从机获得其对应的发送地址后,控制所述首位从机基于第一预设阈值对所述第一电平信号的周期进行延长处理,并将周期延长后的所述第一电平信号通过所述发送总线发送至所述首位从机的下一从机,以使所述下一从机获取其对应的发送地址,以此类推,直至所述至少两个从机中的末尾从机获得其对应的发送地址。
可选的,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,还包括:
获取所述至少两个从机中的末尾从机,并定义所述末尾从机在所述接收总线上的接收地址,其中,所述末尾从机为在所述同步信号的预设时间内,未通过所述接收总线接收到任何信号的从机;
在确定所述末尾从机后,控制所述末尾从机在所述同步信号的预设时间内,基于所述末尾从机的接收地址设置预设周期的第二电平信号,并将所述第二电平信号发送至所述末尾从机的上一从机,以使所述上一从机根据所述第二电平信号获取其对应的接收地址;
当所述末尾从机的上一从机获得其对应的接收地址后,控制所述末尾从机的上一从机基于第二预设阈值对所述第二电平信号的周期进行延长处理,并将周期延长后的所述第二电平信号通过所述接收总线发送至其对应的上一从机,以使所述末尾从机的上一从机所对应的上一从机确定其在所述接收总线上的接收地址,以此类推,直至所述至少两个从机中的首位从机获得其对应的接收地址。
区别于相关技术的情况,本发明提供一种三线半双工多机通信系统及三线半双工多机通信方法,所述三线半双工多机通信系统包括主机、至少两个从机、同步信号线及通信线,所述至少两个从机通过所述通信线串联,所述主机通过所述通信线与串联后的所述至少两个从机中的首位从机连接,所述主机还通过所述同步信号线分别与所述至少两个从机连接;所述三线半双工多机通信系统用于:控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址;当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令;当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据;以及控制所述至少两个从机中的末尾从机基于所述通信线将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机。基于此,上述三线半双工多机通信系统能够随意的对从机进行拓展,并可以通过同步信号线及通信线来控制信号采集的频率,从而可以实现多个从机与主机之间的高速通信。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种三线半双工多机通信系统的结构框图;
图2是本发明实施例提供的一种三线半双工多机通信方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互组合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,图1是本发明实施例提供的一种三线半双工多机通信系统的结构框图,如图1所示,所述三线半双工多机通信系统100包括主机10、至少另两个从机20、同步信号线30及通信线40(图未示);其中,所述通信线40包括发送总线41和接收总线42;所述至少两个从机20通过所述发送总线41和接收总线42相互串联,所述主机10通过所述发送总线41和接收总线42与串联后的所述至少两个从机20中的首位从机A1连接,所述主机10还通过所述同步信号线30分别与所述至少两个从机20连接。所述三线半双工多机通信系统100会控制所述主机10基于同步信号线30及所述通信线40为所述至少两个从机20分配其各自对应的地址,以基于所述地址实现所述主机10与所述至少两个从机20的数据交互。其中,所述地址包括在所述发送总线41上的发送地址和在所述接收总线42上的接收地址。所述发送总线41用于将所述主机10需要传输的数据发送至所述至少两个从机20,所述接收总线42用于将所述至少两个从机20的数据上传至所述主机10。所述同步信号线30用于初始化所述至少两个从机20在所述发送总线41和所述接收总线42上的发送地址及接收地址。
具体的,当所述三线半双工多机通信系统100开始进行数据交互时,所述主机会基于所述同步信号线30发送第一预设时间的同步信号至所述至少两个从机20,当所述至少两个从机20接收到所述同步信号后,所述主机10还会基于预设地址设置预设周期的第一电平信号,并通过所述发送总线41将所述第一电平信号发送至所述至少两个从机20的首位从机A1,以使所述首位从机A1在所述同步信号的第一预设时间内,对所述第一电平信号进行计数,从而得到第一计数值。在所述首位从机A1得到所述第一计数值后,所述首位从机A1会将所述第一计数值设置为所述首位从机A1在所述发送总线41上的发送地址,并将所述发送地址存储在所述首位从机A1中。其中,所述第一电平信号可以是高电平信号或低电平信号,若所述至少两个从机20为高电平有效时,则所述第一电平信号为高电平信号,所述主机10即可基于所述高电平信号使所述至少两个从机20开始计数。需要说明的是,所述预设地址用于使所述主机10确定所述至少两个从机20在所述发送总线41上的地址。所述预设周期是根据所述预设地址来设置的,通过所述预设周期,即可控制所述至少两个从机20的计数值。例如,若所述预设地址为1,且所述主机10根据所述预设地址设置所述第一电平信号的预设周期为10s时,所述首位从机A1会基于所述第一电平信号开始计数,在计数时长维持10s后,所述首位从机A1停止计数,此时,所述首位从机A1的计数值刚好与所述预设地址一致。
当所述首位从机A1获得对应的发送地址后,所述首位从机A1会基于第一预设阈值来延长所述第一电平信号的预设周期,并将延长后的第一电平信号通过所述发送总线41发送至所述首位从机A1的下一从机A2,此时,所述下一从机A2会在所述同步信号的第一预设时间内,基于所述延长后的第一电平信号进行计数,并将计数结果作为所述下一从机A2的发送地址。在所述下一从机A2得到对应的发送地址后,会将所述延长后的第一电平信号按照所述第一预设阈值继续延长,以使所述下一从机A2的下一从机A3获取对应的发送地址,以此类推,直至所述至少两个从机20中的末尾从机AN获得其对应的发送地址。其中,所述第一预设阈值为固定数值,所述第一预设阈值用于延长所述第一电平信号的预设周期,从而使得所述至少两个从机20的发送地址以预设增幅增加。例如,所述至少两个从机20包括3个从机,所述第一预设阈值为10s;当通过所述预设地址确定从机1的发送地址为0后,所述从机1会将所述第一电平信号的预设周期延长至20s,并将延长后的第一电平信号发送至从机2,所述从机2在接收到延长后的第一电平信号后,会对所述第一电平信号计数,并在所述计数时长维持20s后停止计数,此时,所述从机2的计数值为1,也即所述从机2的发送地址为1;基于此,所述从机3会对所述第一电平信号计数30s,在计数30s后,得到的计数值则为所述从机3的发送地址,其中,所述发送地址为2。
在所述至少两个从机20获得其对应的发送地址后,所述至少两个从机还需要根据所述接收总线42获取其对应的接收地址。具体的,获取所述至少两个从机20中的末尾从机AN,并定义所述末尾从机AN在所述接收总线42上的接收地址,其中,所述末尾从机AN为在所述同步信号的第二预设时间内,未通过所述接收总线42接收到任何信号的从机。需要说明的是,通过设置所述同步信号的维持时间,能够节约所述至少两个从机20获取各自对应的地址的时间。具体的,若在所述主机10发送所述同步信号时,未设置所述同步信号的维持时间,则当所述至少两个从机20中某一从机出现故障而导致下一从机为接收到对应的第一电平信号时,所述至少两个从机20并不会结束等待,基于此,通过设置所述第一预设时间,即可设定所述至少两个从机20初始化地址的时间,从而节约了获取地址的时间。其中,所述第一预设时间能够使所述至少两个从机20完成发送地址和接收地址的确定,所述第二预设时间小于所述第一预设时间。需要说明的是,在所述第一预设时间内,若所述主机10没有接收到所述接收总线41传输的数据,则认为通信出现问题,此时,所述主机10会通过所述同步信号线30重新发送同步信号,以重新搜索所述至少两个从机20,从而实现所述三线半双工多机通信系统100的自恢复。
当确定所述至少两个从机20中的末尾从机AN后,所述末尾从机AN还会在所述同步信号的第一预设时间内,基于所述末尾从机AN的接收地址设置预设周期的第二电平信号,并将所述第二电平信号发送至所述末尾从机AN的上一从机AN-1,以使所述上一从机AN-1根据所述第二电平信号获取其对应的接收地址。其中,所述第二电平信号可以是高电平信号,也可以是低电平信号。当所述末尾从机AN的上一从机AN-1获得其对应的接收地址后,所述末尾从机AN的上一从机AN-1会基于第二预设阈值对所述第二电平信号的周期进行延长处理,并将周期延长后的所述第二电平信号通过所述接收总线42发送至其对应的上一从机AN-2,以使所述末尾从机AN的上一从机AN-1所对应的上一从机AN-2确定其在所述接收总线42上的接收地址,以此类推,直至所述至少两个从机20中的首位从机A1获得其对应的接收地址。其中,所述第二预设阈值用于延长所述第二电平信号的预设周期,以使所述至少两个从机20的接收地址按照预设增幅增加。需要说明的是,所述第二预设阈值与所述第一预设阈值可以是同一数值,也可以是不同数值。
当所述至少两个从机20确定各自的接收地址后,所述主机10还会接收所述首位从机A1发送的所述第二电平信号,其中,所述第二电平信号是基于所述预设阈值延长N-1次周期的第二电平信号,所述N为所述至少两个从机20的个数。例如,当所述N为3时,从机3在确定自己为末尾从机后,会发送预设周期的第二电平信号至从机2,从机2在接收所述第二电平信号后,会将所述第二电平信号的预设周期进行延长发送给从机1,从机1也会将所述第二电平信号延长后发送至所述主机10,此时,所述第二电平信号经过2次延长后发送至所述主机10。当所述主机10接收到延长2次周期的所述第二电平信号后,所述主机10会对所述第二电平信号进行计数,以得到第二计数值,并确定所述至少两个从机20的数量。其中,所述至少两个从机的数量为1-16。在确定所述至少两个从机20的数量后,所述主机10还会根据所述预设地址获取所述至少两个从机20在所述发送总线41上的发送地址,以及根据所述末尾从机AN的接收地址获取所述至少两个从机20在所述接收总线42上的接收地址。例如,当所述主机10确定从机的数量为6个后,若所述预设地址为1,则所述从机1-6在所述发送总线41上的发送地址分别是1-6;若所述末尾从机AN的接收地址为0,则所述从机1-6在所述接收总线42上的接收地址分别是0-5。
当所述主机10及所述至少两个从机20都确定所述至少两个从机20的发送地址和接收地址后,所述三线半双工多机通信系统100还会基于所述发送地址与所述接收地址,控制所述主机10和所述至少两个从机20之间的通信。
具体的,所述三线半双工多机通信系统100还包括自校验功能;在所述主机10与所述至少两个从机20通信时,所述主机10会首先获取需要通信的第一从机,以及需要发送至所述第一从机的控制命令,然后基于所述控制命令获取检验值。并在确定所述校验值后,控制所述主机10通过所述发送总线41发送通信数据至所述至少两个从机20,其中,所述通信数据包括所述控制命令、所述校验值及所述第一从机的发送地址。进一步的,在发送所述通信数据之前,所述主机10还会基于所述校验值对所述通信数据进行校验,以确定所传输的通信数据的正确性。
当所述至少两个从机20接收到所述通信数据后,由于所述通信数据是基于所述发送总线41传输的,故所述首位从机A1会首先获得所述通信数据,当所述首位从机A1获得所述通信数据后,会对所述通信数据行进计算,并将计算结果与所述校验值进行比对,若所述校验值与所述计算结果不一致,则确定所述通信数据为无效数据,丢弃所述通信数据。若所述校验值与所述计算结果一致,则获取所述通信数据中的发送地址,并将所述发送地址与首位从机A1的发送地址进行比对,若所述发送地址与所述首位从机A1的发送地址一致,则确认所述首位从机A1为所述第一从机,并控制所述首位从机A1执行该控制命令。若所述首位从机A1的发送地址与所述发送地址不一致,则将所述通信数据通过所述发送总线41发送至所述首位从机A1的下一从机A2,此时,所述下一从机A2会将自身的发送地址与所述发送地址进行比对,以判断所述下一从机A2的发送地址与所述发送地址是否一致,若一致,则控制所述下一从机A2执行该控制命令,若不一致,则继续将所述发送地址发送至所述下一从机A2的下一从机A3,以此类推,直至获取与所述发送地址一致的从机。其中,若不存在与所述发送地址一致的从机时,则确定所述通信数据为无效数据,丢弃所述通信数据。需要说明的是,所述校验的计算方式包括但不限于和校验、异或校验及CRC检验。
在一些实施例中,所述三线半双工多机通信系统100还包括广播地址,所述广播地址用于当所述主机10发送的通信数据中的地址为广播地址时,所述至少两个从机20都需要执行所述通信数据中的控制命令。具体的,若所述主机10发送的控制命令需要所述至少两个从机20都相应,所述主机10则会将所述广播地址与所述控制命令一起打包发送至所述至少两个从机20。当所述至少两个从机20在接收到所述通信数据后,所述至少两个从机20都会基于所述广播地址,执行所述控制命令。
当所述至少两个从机20需要上传数据至所述主机10时,所述至少两个从机20会分别获取各自对应的待上传数据,其中,所述待上传数据包括接收地址、数据及校验值。在传输数据的过程中,所述至少两个从机20的末尾从机AN会基于所述通信线40(图未示)将其对应的待上传数据传输至所述末尾从机AN的上一个从机AN-1,所述上一个从机AN-1在所述末尾从机AN传输的所述待上传数据上叠加所述上一个从机AN-1的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机AN-2,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机10。需要说明的是,所述至少两个从机20在接收到下游从机传输的待上传数据后,会将所述待上传数据传输至所述主机10,所述主机10接收到所述至少两个从机20的所有待上传数据后,还会获取所述待上传数据中的校验值,以及所述待上传数据中的数据,并基于所述数据进行计算,以获取数据的计算结果。将所述计算结果与所述校验值进行比对,以判断所述待上传数据中的校验值与所述计算结果是否一致,若一致,则认为所述待上传数据为有效数据,并获取所述待上传数据中的接收地址,基于所述接收地址,判断所述待上传数据是所述至少两个从机20中哪一从机;若不一致,则丢弃所述待上传数据。
在一些实施例中,所述三线半双工多机通信系统100还用于在所述至少两个从机20通过所述接收总线42上传数据至所述主机10的过程中,若所述主机10通过发送总线41发送控制命令至所述至少两个从机20,则所述接收总线42停止上传数据,直至所述至少两个从机20执行完所述主机10发送的控制命令后,所述接收总线42继续上传数据。
本发明实施例提供一种三线半双工多机通信系统,所述三线半双工多机通信系统包括主机、至少两个从机、同步信号线及通信线,所述至少两个从机通过所述通信线串联,所述主机通过所述通信线与串联后的所述至少两个从机中的首位从机连接,所述主机还通过所述同步信号线分别与所述至少两个从机连接;所述三线半双工多机通信系统用于:控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址;当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令;当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据;以及控制所述至少两个从机中的末尾从机基于所述通信线将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机。基于此,上述三线半双工多机通信系统能够随意的对从机进行拓展,并可以通过同步信号线及通信线来控制信号采集的频率,从而可以实现多个从机与主机之间的高速三线半双工多机通信。
请参阅图2,图2是本发明实施例提供的一种三线半双工多机通信方法的流程图,如图2所示,所述方法包括:
S01、控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址。
所述地址包括所述至少两个从机的发送地址和接收地址,具体的,首先控制所述主机通过所述同步信号线发送第一预设时间的同步信号至所述至少两个从机,当所述至少两个从机接收到所述同步信号后,控制所述主机基于预设地址设置预设周期的第一电平信号,并通过所述发送总线将所述第一电平信号发送至所述至少两个从机中的首位从机,以使所述首位从机根据所述第一电平信号获得第一计数值,其中,所述第一计数值为所述首位从机在所述发送总线上的发送地址,当所述首位从机获得其对应的发送地址后,控制所述首位从机基于第一预设阈值对所述第一电平信号的周期进行延长处理,并将周期延长后的所述第一电平信号通过所述发送总线发送至所述首位从机的下一从机,以使所述下一从机获取其对应的发送地址,以此类推,直至所述至少两个从机中的末尾从机获得其对应的发送地址。
当确定所述至少两个从机的发送地址后,还需要确定所述至少两个从机的接收地址。具体的,首先获取所述至少两个从机中的末尾从机,并定义所述末尾从机在所述接收总线上的接收地址,其中,所述末尾从机为在所述同步信号的预设时间内,未通过所述接收总线接收到任何信号的从机;
在确定所述末尾从机后,控制所述末尾从机在所述同步信号的预设时间内,基于所述末尾从机的接收地址设置预设周期的第二电平信号,并将所述第二电平信号发送至所述末尾从机的上一从机,以使所述上一从机根据所述第二电平信号获取其对应的接收地址;
当所述末尾从机的上一从机获得其对应的接收地址后,控制所述末尾从机的上一从机基于第二预设阈值对所述第二电平信号的周期进行延长处理,并将周期延长后的所述第二电平信号通过所述接收总线发送至其对应的上一从机,以使所述末尾从机的上一从机所对应的上一从机确定其在所述接收总线上的接收地址,以此类推,直至所述至少两个从机中的首位从机获得其对应的接收地址。
S02、当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令,以使所述至少两个从机根据所述地址响应所述控制命令。
S03、当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据,并控制所述至少两个从机中的末尾从机基于所述通信线和所述地址将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机。
需要说明的是,上述三线半双工多机通信方法应用于本发明实施例所提供的三线半双工多机通信系统,具备三线半双工多机通信系统相应的功能和有益效果。未在三线半双工多机通信方法实施例中详尽描述的技术细节,可参见本发明实施例所提供的三线半双工多机通信系统。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过纯硬件(如FPGA)。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来控制相关的硬件完成的,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种三线半双工多机通信系统,其特征在于,所述三线半双工多机通信系统包括主机、至少两个从机、同步信号线及通信线,所述至少两个从机通过所述通信线串联,所述主机通过所述通信线与串联后的所述至少两个从机中的首位从机连接,所述主机还通过所述同步信号线分别与所述至少两个从机连接;
所述三线半双工多机通信系统用于:
控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址;
当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令;
当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据;以及
控制所述至少两个从机中的末尾从机基于所述通信线将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机。
2.根据权利要求1所述的三线半双工多机通信系统,其特征在于,所述通信线包括接收总线和发送总线,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,包括:
所述主机通过所述同步信号线发送第一预设时间的同步信号至所述至少两个从机;
当所述至少两个从机接收到所述同步信号后,所述主机基于预设地址设置预设周期的第一电平信号,并通过所述发送总线将所述第一电平信号发送至所述至少两个从机中的首位从机,以使所述首位从机根据所述第一电平信号获得第一计数值,其中,所述第一计数值为所述首位从机在所述发送总线上的发送地址;
当所述首位从机获得其对应的发送地址后,所述首位从机基于第一预设阈值对所述第一电平信号的周期进行延长处理,并将周期延长后的所述第一电平信号通过所述发送总线发送至所述首位从机的下一从机,以使所述下一从机获取其对应的发送地址,以此类推,直至所述至少两个从机中的末尾从机获得其对应的发送地址。
3.根据权利要求2所述的三线半双工多机通信系统,其特征在于,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,还包括:
获取所述至少两个从机中的末尾从机,并定义所述末尾从机在所述接收总线上的接收地址,其中,所述末尾从机为在所述同步信号的第二预设时间内,未通过所述接收总线接收到任何信号的从机;
在确定所述末尾从机后,所述末尾从机在所述同步信号的第一预设时间内,基于所述末尾从机的接收地址设置预设周期的第二电平信号,并将所述第二电平信号发送至所述末尾从机的上一从机,以使所述上一从机根据所述第二电平信号获取其对应的接收地址;
当所述末尾从机的上一从机获得其对应的接收地址后,所述末尾从机的上一从机基于第二预设阈值对所述第二电平信号的周期进行延长处理,并将周期延长后的所述第二电平信号通过所述接收总线发送至其对应的上一从机,以使所述末尾从机的上一从机所对应的上一从机确定其在所述接收总线上的接收地址,以此类推,直至所述至少两个从机中的首位从机获得其对应的接收地址。
4.根据权利要求3所述的三线半双工多机通信系统,其特征在于,所述主机用于:
接收所述首位从机发送的所述第二电平信号,其中,所述第二电平信号是基于所述第二预设阈值延长N-1次周期的第二电平信号,所述N为所述至少两个从机的个数;
对延长N-1次周期后的所述第二电平信号进行计数,以获取第二计数值,并根据所述第二计数值确定所述至少两个从机的数量;
在确定所述至少两个从机的数量后,根据所述预设地址获取所述至少两个从机在所述发送总线上的发送地址,以及根据所述末尾从机的接收地址获取所述至少两个从机在所述接收总线上的接收地址。
5.根据权利要求4所述的三线半双工多机通信系统,其特征在于,所述三线半双工多机通信系统还包括自校验功能,所述当所述主机与所述至少两个从机通信时,所述控制所述主机发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令,包括:
在所述主机与所述至少两个从机通信时,确定与所述主机通信的第一从机;
获取所述主机需要传输的控制命令,并根据所述控制命令,获取校验值;
所述主机通过所述发送总线发送通信数据至所述至少两个从机,其中所述通信数据包括所述控制命令、所述校验值及所述第一从机的发送地址;
当所述至少两个从机接收到所述通信数据后,对所述通信数据行进计算,并将计算结果与所述校验值进行比对,当所述校验值与所述计算结果一致时,获取所述通信数据中的发送地址;
当所述至少两个从机获取到所述发送地址后,所述至少两个从机将自身的发送地址与所述发送地址进行比对,若所述发送地址与所述至少两个从机自身的发送地址一致,则确认与所述发送地址一致的从机为第一从机,并控制所述第一从机接收并执行所述主机下发的控制命令;
当所述校验值与所述计算结果不一致,或不存在与所述发送地址一致的从机时,则确定所述通信数据为无效数据,丢弃所述通信数据。
6.根据权利要求5所述的三线半双工多机通信系统,其特征在于,所述三线半双工多机通信系统还包括广播地址,所述当所述主机与所述至少两个从机通信时,控制所述主机发送控制命令至所述至少两个从机,以使所述至少两个从机根据所述地址响应所述控制命令还包括:
当所述主机发送的通信数据中的地址为广播地址时,所述至少两个从机都需要执行所述通信数据中的控制命令。
7.根据权利要求1-6任一项所述的三线半双工多机通信系统,其特征在于,所述三线半双工多机通信系统还用于:
在所述至少两个从机通过接收总线上传数据至所述主机的过程中,若所述主机通过发送总线发送控制命令至所述至少两个从机,则所述接收总线停止上传数据,直至所述至少两个从机执行完所述主机发送的控制命令后,所述接收总线继续上传数据。
8.一种三线半双工多机通信方法,其特征在于,应用于权利要求1-7任一项所述的三线半双工多机通信系统,所述方法包括:
控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址;
当所述主机与所述至少两个从机通信时,控制所述主机通过所述通信线发送控制命令,以使所述至少两个从机根据所述地址响应所述控制命令;
当所述至少两个从机上传数据至所述主机时,控制所述至少两个从机分别获取各自对应的待上传数据;以及
控制所述至少两个从机中的末尾从机基于所述通信线和所述地址将其对应的待上传数据传输至所述末尾从机的上一个从机,所述上一个从机在所述末尾从机传输的所述待上传数据上叠加所述上一个从机的待上传数据,并将叠加后的待上传数据传输至其对应的上一个从机,并依次叠加待上传数据直至将叠加后的待上传数据传输至所述主机。
9.根据权利要求8所述的三线半双工多机通信方法,其特征在于,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,包括:
控制所述主机通过所述同步信号线发送第一预设时间的同步信号至所述至少两个从机;
当所述至少两个从机接收到所述同步信号后,控制所述主机基于预设地址设置预设周期的第一电平信号,并通过所述发送总线将所述第一电平信号发送至所述至少两个从机中的首位从机,以使所述首位从机根据所述第一电平信号获得第一计数值,其中,所述第一计数值为所述首位从机在所述发送总线上的发送地址;
当所述首位从机获得其对应的发送地址后,控制所述首位从机基于第一预设阈值对所述第一电平信号的周期进行延长处理,并将周期延长后的所述第一电平信号通过所述发送总线发送至所述首位从机的下一从机,以使所述下一从机获取其对应的发送地址,以此类推,直至所述至少两个从机中的末尾从机获得其对应的发送地址。
10.根据权利要求9所述的三线半双工多机通信方法,其特征在于,所述控制所述主机基于所述同步信号线及所述通信线为所述至少两个从机分配其各自对应的地址,还包括:
获取所述至少两个从机中的末尾从机,并定义所述末尾从机在所述接收总线上的接收地址,其中,所述末尾从机为在所述同步信号的预设时间内,未通过所述接收总线接收到任何信号的从机;
在确定所述末尾从机后,控制所述末尾从机在所述同步信号的预设时间内,基于所述末尾从机的接收地址设置预设周期的第二电平信号,并将所述第二电平信号发送至所述末尾从机的上一从机,以使所述上一从机根据所述第二电平信号获取其对应的接收地址;
当所述末尾从机的上一从机获得其对应的接收地址后,控制所述末尾从机的上一从机基于第二预设阈值对所述第二电平信号的周期进行延长处理,并将周期延长后的所述第二电平信号通过所述接收总线发送至其对应的上一从机,以使所述末尾从机的上一从机所对应的上一从机确定其在所述接收总线上的接收地址,以此类推,直至所述至少两个从机中的首位从机获得其对应的接收地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310039957.6A CN116032451B (zh) | 2023-01-11 | 2023-01-11 | 一种三线半双工多机通信系统及三线半双工多机通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310039957.6A CN116032451B (zh) | 2023-01-11 | 2023-01-11 | 一种三线半双工多机通信系统及三线半双工多机通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116032451A true CN116032451A (zh) | 2023-04-28 |
CN116032451B CN116032451B (zh) | 2023-06-06 |
Family
ID=86070353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310039957.6A Active CN116032451B (zh) | 2023-01-11 | 2023-01-11 | 一种三线半双工多机通信系统及三线半双工多机通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032451B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088386A (zh) * | 2011-01-20 | 2011-06-08 | 中北大学 | 一种电路系统主从互联模块的串行总线 |
CN104410547A (zh) * | 2014-12-03 | 2015-03-11 | 合肥工大高科信息科技股份有限公司 | 一种分布式控制系统中的地址冲突检测方法 |
CN106874237A (zh) * | 2017-03-08 | 2017-06-20 | 上海冉能自动化科技有限公司 | 基于二总线的数据同步方法及系统 |
CN115080465A (zh) * | 2021-03-11 | 2022-09-20 | 依必安派特穆尔芬根有限两合公司 | 可寻址的主从系统以及从机单元的寻址方法 |
CN115208856A (zh) * | 2022-07-13 | 2022-10-18 | 珠海格力电器股份有限公司 | 通信地址的分配方法、分配装置、处理器与通信系统 |
CN115543906A (zh) * | 2022-11-23 | 2022-12-30 | 荣耀终端有限公司 | 一种基于i2c总线的数据读写方法和装置 |
CN115587065A (zh) * | 2021-07-05 | 2023-01-10 | 青岛海尔生物医疗科技有限公司 | 一种主从机控制方法、控制系统及血液柜 |
-
2023
- 2023-01-11 CN CN202310039957.6A patent/CN116032451B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088386A (zh) * | 2011-01-20 | 2011-06-08 | 中北大学 | 一种电路系统主从互联模块的串行总线 |
CN104410547A (zh) * | 2014-12-03 | 2015-03-11 | 合肥工大高科信息科技股份有限公司 | 一种分布式控制系统中的地址冲突检测方法 |
CN106874237A (zh) * | 2017-03-08 | 2017-06-20 | 上海冉能自动化科技有限公司 | 基于二总线的数据同步方法及系统 |
CN115080465A (zh) * | 2021-03-11 | 2022-09-20 | 依必安派特穆尔芬根有限两合公司 | 可寻址的主从系统以及从机单元的寻址方法 |
CN115587065A (zh) * | 2021-07-05 | 2023-01-10 | 青岛海尔生物医疗科技有限公司 | 一种主从机控制方法、控制系统及血液柜 |
CN115208856A (zh) * | 2022-07-13 | 2022-10-18 | 珠海格力电器股份有限公司 | 通信地址的分配方法、分配装置、处理器与通信系统 |
CN115543906A (zh) * | 2022-11-23 | 2022-12-30 | 荣耀终端有限公司 | 一种基于i2c总线的数据读写方法和装置 |
Non-Patent Citations (1)
Title |
---|
张垒;杨启帆;: "基于随机数发生器的设备地址自动分配方法", 自动化与仪表, no. 11, pages 95 - 96 * |
Also Published As
Publication number | Publication date |
---|---|
CN116032451B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9880956B2 (en) | Method and apparatus for adapting the data transmission security in a serial bus system | |
US7313716B2 (en) | Method and device for exchanging data between at least two stations connected via a bus system | |
US9513988B2 (en) | Method and device for increasing the data transmission capacity in a serial bus system | |
US20150146742A1 (en) | Data Transmitting and Receiving Method, Data Transmitting and Receiving System, Master Device, and Slave Device | |
US10602530B2 (en) | Access method with access slots and priority resolution | |
CN101788965B (zh) | 多点自动识别和主从同步的串行通讯方法 | |
EP3036647B1 (en) | Method to minimize the number of irq lines from peripherals to one wire | |
CN104035901A (zh) | 一种ttcan总线对时及发送数据的方法 | |
CN110266568B (zh) | 串行总线系统的成员站和串行总线系统中数据传输的方法 | |
CN116032451B (zh) | 一种三线半双工多机通信系统及三线半双工多机通信方法 | |
CN107528798B (zh) | 基于rs485总线系统的优化调度方法 | |
CN116909977A (zh) | 一种多机通信方法及系统 | |
US7539206B2 (en) | Communication apparatus and method for supporting carrier sense multiple access/collision detection | |
CN113722254B (zh) | 一种适用于工业控制现场的多主机通讯总线系统 | |
CN113904762B (zh) | 一种带环形缓冲区的全双工485总线通信系统及方法 | |
US20140105081A1 (en) | Communication network system | |
JP6762546B1 (ja) | シリアル通信方法及びシリアル通信システム | |
CN113067880B (zh) | 分布式控制系统链式分时通信方法和存储介质 | |
US11233514B2 (en) | Semiconductor device including subsystem interfaces and communications method thereof | |
CN210609160U (zh) | 电力隧道监控rs485总线多主机通信装置 | |
CN117614940B (zh) | 一种串行通信设备地址自动配置的方法及系统 | |
CN110995613B (zh) | 一种消除EtherCAT通讯周期抖动的系统及方法 | |
CN117349215A (zh) | 一种扩展单元的超高速串行通信方法及系统 | |
JPH0343657B2 (zh) | ||
JPH08111687A (ja) | 通信システム |
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 |