CN106874237B - 基于二总线的数据同步方法及系统 - Google Patents
基于二总线的数据同步方法及系统 Download PDFInfo
- Publication number
- CN106874237B CN106874237B CN201710134467.9A CN201710134467A CN106874237B CN 106874237 B CN106874237 B CN 106874237B CN 201710134467 A CN201710134467 A CN 201710134467A CN 106874237 B CN106874237 B CN 106874237B
- Authority
- CN
- China
- Prior art keywords
- equipment
- lines bus
- address
- data
- bus
- 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
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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
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
本发明实施例提供一种基于二总线的数据同步方法及系统,该方法包括:发送持续预定时长的同步信号至二总线;当在同步信号持续时间内接收到自多个从设备中的至少一个从设备通过二总线发送的数据上传请求时,生成仲裁指令并发送至二总线;接收至少一个从设备响应于在接收到仲裁指令之后发送至二总线的至少一个从设备的地址位;根据接收到的至少一个从设备的地址位确定优先级最高的从设备的设备地址;读取优先级最高的从设备的数据信息。该方法,采用总线仲裁机制,可以使二总线上的从设备不需要等到主设备巡检到本身就可以通过上报数据上传请求从而主动向主设备发送数据信息,有效地降低了通信时延,从设备状态的改变得到及时更新。
Description
技术领域
本申请涉及总线通信领域,尤其涉及一种基于二总线的数据同步方法及系统。
背景技术
目前,在布置电网电力监控、电能计量管理、能源管理、消防电子设备、电气保护设备、消防设备电源监控、防火门监控等系统时,通常使用二总线的通信方式。二总线通信是指通信总线上只有两根导线,不需要额外的电源线的一种通信方式。所有的通信节点(从设备)都通过这两根导线从通信主节点(主设备)取电和与主节点通信。在二总线的类型中,M-BUS(symphonic mbus:远程抄表系统,其中mbus为Meter-Bus:计数器总线)是国际通行标准,其能够同时完成提供电源与数据通信的功能,并且在连接时不用区分极性,可以按照任意拓补结构布线施工,并且具有良好的开放性。
在实现本发明过程中,发明人发现相关技术中至少存在如下问题:M-BUS的工作原理是在只有通信主节点(主设备)发出询问的情况下,通信节点(从设备)才会执行数据交换,也就是说,所有的通信节点(从设备)在通信主节点(主设备)发出指令后,才可以向通信主节点(主设备)提供数据,这就导致当通信节点(从设备)状态发生改变想给通信主节点(主设备)发送数据时,不能及时的发送,存在较长的时延。
发明内容
为了解决现有技术中的二总线通信存在较长时延的问题,第一方面,本发明实施例提供一种基于二总线的数据同步方法,所述方法应用于一种二总线基于二总线的数据同步系统,所述系统包括主设备和多个从设备,所述方法包括:
发送持续预定时长的同步信号至二总线;
当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
接收所述至少一个从设备在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
根据所述设备地址读取所述优先级最高的从设备的数据信息。
第二方面,本发明实施例提供一种基于二总线的数据同步系统,包括:
同步信号发送程序模块,用于发送持续预定时长的同步信号至二总线;
仲裁指令生成程序模块,用于当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
地址位接收程序模块,用于接收所述至少一个从设备在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
设备地址确定程序模块,用于根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
数据信息读取程序模块,用于根据所述设备地址读取所述优先级最高的从设备的数据信息。
第三方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项基于二总线的数据同步方法。
第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项基于二总线的数据同步方法。
第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项基于二总线的数据同步方法。
本发明实施例提供的基于二总线的数据同步方法及系统,采用总线仲裁机制,可以使二总线上的从设备不需要等到主设备巡检到本身就可以通过上报数据上传请求从而主动向主设备发送数据信息,有效地降低了通信时延,从设备状态的改变得到及时更新。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于二总线的数据同步方法的流程图;
图2A是本申请一实施例提供的基于二总线的数据同步方法中的主设备的编码示意图;;
图2B是本申请一实施例的提供的基于二总线的数据同步方法中的从设备的编码示意图;
图3是本申请另一实施例提供的一种基于二总线的数据同步方法的流程图;
图4是本申请一实施例的提供的基于二总线的数据同步方法中的主设备的为从设备分配物理地址的时序图;
图5是本申请一实施例提供的一种基于二总线的数据同步方法中的使用逻辑地址仲裁总线的时序图;
图6A是本申请一实施例提供的一种基于二总线的数据同步方法中的主设备仲裁数据0的时序图;
图6B是本申请一实施例提供的一种基于二总线的数据同步方法中的主设备仲裁数据1的时序图;
图7是本申请一实施例提供的一种基于二总线的数据同步方法中的在二总线空闲状态下的同步信号的示意图;
图8是本申请一实施例提供的基于二总线的数据同步方法中的主设备向从设备发送数据的时序图;
图9是本申请一实施例提供的基于二总线的数据同步方法中的从设备向主设备发送数据的时序图;
图10是本申请一实施例提供的基于二总线的数据同步方法中的主设备的读时序图;
图11是本申请一实施例提供的基于二总线的数据同步方法中的主设备写从设备单播时序图;
图12是本申请一实施例提供的基于二总线的数据同步方法中的主设备写从设备组播时序图;
图13是本申请一实施例提供的基于二总线的数据同步方法中的主设备写从设备广播时序图;
图14是本申请一实施例提供的一种基于二总线的数据同步系统的结构示意图;
图15是本申请一实施例提供的一种基于二总线的数据同步系统的设备地址确定程序模块的结构示意图;
图16是本申请一实施例提供的一种基于二总线的数据同步系统的仲裁指令生成程序模块的结构示意图;
图17是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种基于二总线的数据同步方法,包括:
S11:发送持续预定时长的同步信号至二总线;
S12:当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
S13:接收所述至少一个从设备响应于在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
S14:根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
S15:根据所述设备地址读取所述优先级最高的从设备的数据信息。
在本实施方式中,该方法可以应用于基于二总线的数据同步系统,所述系统包括主设备(主机)和多个从设备(节点),该方法可以配置在主设备(主机)中由该主设备执行。在该系统中,通过两条导线(即,二总线)连接主设备与多个从设备,主设备通过该两条导线可以为从设备供电以及与各从设备通信,不需要再布设电源线,节省了施工和线缆成本。而且,该两条导线无极性连接,可以灵活布线。通过根据接收到的地址位确定优先级最高的从设备,减少了确定从设备优先级的计算量,提升了系统的响应效率。
在本实施方式中,由主设备控制二总线上的输出电压,如下表1所示该二总线有三种电平信号,其中,VH>VM>VL。
表1:
在本实施方式中,如图2A所示,主设备向从设备发送数据信息时,使用电平信号,其中,T1表示主设备向从设备传输一位数据所用的时间即,主设备向从设备传输数据时的波特率的倒数。
在可选的实施例中,例如,VH可以是24伏,VM可以是7伏,VL可以是0伏。然而,这仅仅是一种电平信号的示例,本发明的实施例对此并不限制。
在本实施方式中,对于步骤S11,由于只有当二总线上的电压为VM时,才允许从设备通过该二总线向主设备发送数据,则主设备可以控制二总线上的电压为VM来允许从设备向主设备发送数据。令从设备向主设备传输数据时的波特率为A,则每一位的传输时间T2=1/A,则二总线上的电压VM至少要保持T2秒,主设备才能接收到从设备发送的一位数据。例如,令A=9600bps,则T2=104us,那么主设备可以控制二总线线上的电压VM保持104us或者208us或者104的其他整数倍。
因此,在本实施方式中,持续预定时长的同步信号为持续n1T2秒的电平为VM的负脉冲电平信号,其中,n1为大于等于1的整数。
对于步骤S12,当从设备接收到二总线上的同步信号后,若从设备需要主动上传数据信息(例如发生故障或从故障返回时),则在同步信号持续的时间段内通过二总线向主设备发送数据上传请求,在可选的实施例中,如图2B所示,从设备向主设备发送数据时,使用电流信号,例如令I1表示当前从设备通过该二总线向主设备传输的数据位为1,I0表示当前从设备通过该二总线向主设备传输的数据位为0,其中,T2表示从设备向主从设备传输一位数据所用的时间,即,从设备向主设备传输数据时的波特率的倒数。作为具体的示例,I1=0mA,I2=15mA。
同步信号持续的时间为n1T1,因此,从设备可以向二总线上发送n2个位的电流信号(数据上传请求)以表示该从设备需要主动上传数据信息,n2≤n1。其中,向主设备发送数据上传请求的从设备可以是一个也可以是多个,当发送数据上传请求的从设备是多个时,多个从设备的电流可以进行叠加,例如,当有3个从设备向主设备发送0时(3个从设备同时上传15mA的电流信号),则主设备接收到的电流信号为45mA。为保护线路硬件设施,从设备向主设备传输数据时电路有电流限制,例如预设电流限制为80mA,6个以上的从设备同时向主设备传输数据位0时,此时二总线上电流输出为最大电流限制80mA。
作为一个具体的示例,在数据链路层,主设备与从设备以字节为单位进行数据传输,每个字节包含:1个起始位,8个数据位,最低有效位先发送,1个校验位,1个停止位。
主设备向从设备发送数据帧(指令)的帧头如下表2及表3所示,数据帧的数据部分如下表4所示:
表2:
表3:
当主设备接收到从设备发送的电流信号时,主设备在数据帧的功能码部分写“5”从而生成仲裁指令并发送至所述二总线。
表4:
Data1 | Data2 | … | Data2 | CRC | 反码Data2 | 反码Data2 | … | 反码Data2 | 反码CRC |
其中,Data1~DataN(N<=63)以及反码Data1~反码DataN(N<=63)均为1字节,CRC以及反码CRC均为2字节。
在读时序中,Data1~DataN(N<=63)为从设备发送给主设备的数据信息;
在写时序中,Data1~DataN(N<=63)为主机发送给指定节点的写入数据,该数据紧接着写数据帧的帧头发送;
是否开启反码传输,由帧头的反码控制字段决定;
CRC为Data1~DataN的校验,校验使用CRC-16。
对于步骤S13和步骤S14,当主设备接收到从设备发送的数据上传请求时,主设备并不知道是哪个从设备发送的请求,因此可以通过总线仲裁的方式确定从设备的设备地址。当主设备将仲裁指令发送至二总线上时,连接在二总线上的所有从设备都可以读取到该仲裁指令,但是,只有向主设备发送了数据上传请求的从设备才去响应该仲裁指令将自己的地址位发送至总线上。当只有一个从设备发送了数据上传请求时,则该设备发送自己的一个地址位至二总线;当有多个从设备发送了数据上传请求时,则该多个设备同时将自己的一个地址位发送至二总线。在应用中,每个从设备的地址可以有多位,例如8位或16位等,在发送地址位时,可以先发送设备地址的最高有效位。
当只有一个从设备发送数据请求时,主设备根据接收到的地址位可以确定该从设备的设备地址;当有多个从设备发送数据请求时,主设备根据接收到的地址位确定该多个从设备中优先级最高的从设备的设备地址,例如可以是设备地址值最小的从设备。
对于步骤S15,当主设备确定了优先级最高的从设备的设备地址之后,主设备生成读节点数据指令并发送至二总线,该优先级最高的从设备进行响应将其数据信息发送至二总线。
本发明实施例提供的基于二总线的数据同步方法,采用总线仲裁机制,可以使二总线上的从设备不需要等到主设备巡检到本身就可以通过上报数据上传请求从而主动向主设备发送数据信息,有效地降低了通信时延,从设备状态得改变得到及时更新。
如图3所示,在本发明一实施方式提供的基于二总线的数据同步方法中,根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址包括:
S21:对接收到的地址位进行线与,并将线与结果发送至所述二总线;
S22:接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
S23:重复上述步骤,直到确定出所述优先级最高的从设备的设备地址。
在本实施方式中,在从设备主动上传数据之前,主设备要进行总线仲裁,具体而言,当多个从设备中有一个从设备向二总线发送数据0时,主设备接收到的数据就是0,向二总线返回的数据也是0。仲裁时,发送数据上传请求的从设备先向主设备发送一位地址位,例如可以是设备地址的最高有效位,然后主设备把接收到的一位地址位返回至二总线,发送地址位的从设备读取二总线上的地址位,当读取到的地址位与其之前发送的地址位相同时,则该从设备继续向二总线发送次级地址位;当读取到的地址位与其之前发送的地址位不同时,则该从设备不再向二总线发送地址位。重复上述步骤(从设备的设备地址有N位,则重复N次),直到确定出优先级最高的从设备的设备地址。在本实施方式中,优先级最高的从设备为发送数据上传请求的从设备中设备地址值最小的从设备。
上述实施例中,从设备向二总线发送地址位的顺序是从最高地址位到最低地址位顺序发送的。从而结合主设备对接收到的地址位进行线与运算,并反馈线与结果至总线,由于线与结果必然是:当接收的所有地址位都为1时,线与结果为1;当接收的所有地址位中既有1,又有0时,线与结果为0;当接收的所有地址位都为0时,线与结果为0。从而每一次反馈的线与结果都是优先反馈小的结果,进而每一次响应主设备反馈至二总线的线与结果的都是设备地址值较小的从设备。因此,依据上述方法最终确定的自然就是设备地址值最小的从设备,也就是优先级最高的从设备,无需单独通过计算比较所有从设备的地址值的大小来确定最小地址值以确定优先级最高的从设备。
此外,在上述实施例中,由于在线与并反馈线与结果的过程中,不断的淘汰地址值较高的设备,从而也省去了不符合优先级要求的从设备盲目上传地址位造成的资源浪费(总线资源、主设备接收并存储冗余地址位的存储资源与管理资源)。
继续上述实施例,每一位地址位的仲裁过程如图6A和6B所示,其中,每一位地址位的仲裁占用3个位的传输时间。
作为具体的示例,每个从设备在出厂前写入一个唯一的24位的物理地址,每个从设备的物理地址均不相同,物理地址的范围为:000001H~FFFFFEH,在主设备与多个从设备连接至二总线时,主设备可以初始化从设备,得到各从设备的物理地址,通过各物理地址可以为各从设备分配逻辑地址。如图4所示,主设备为从设备分配逻辑地址的过程(也可以称之为自动编码)可以如下:
步骤S31:主设备生成自动编码指令至二总线,其中自动编码指令中的节点地址字段指定了允许参与分配的最小地址;
步骤S32:各从设备将其物理地址的最高位发送至二总线;
步骤S33:主设备将二总线上的地址位进行线与,并将线与结果返回至二总线;
步骤S34:只有接收到的物理地址的最高位与发送的物理地址的最高位相同的从设备继续将次级地址位发送至二总线;
步骤S35:重复上述步骤S33-S34,直至24位物理地址发送完,主设备得到一个从设备的物理地址,根据该物理地址为该从设备分配一个逻辑地址。
然后继续步骤S31-35,其中,已经分配到逻辑地址的从设备不再响应主设备的自动编码指令。当主设备得到的地址为0xFFFFFF时,逻辑地址分配完毕。
在本实施方式中,每个从设备有一个24位的物理地址,24位有1600万个地址,地址范围为000001H~FFFFFEH,可以保证在同一个网络内各从设备的物理地址唯一。
进一步,主设备可以通过物理地址读取从设备的属性,若该从设备为中继节点,则向该从设备发送自动编码指令,为子节点分配逻辑地址(中继节点不占用逻辑地址,所以不为中继节点分配逻辑地址);若该从设备不是中继节点,则可以为该从设备分配逻辑地址。
在可选的实施例中,每个主设备最多可以连接254个从设备,则逻辑地址可以是8位,范围为01H~FEH。
因此,在步骤S13中,从设备向主设备传输的地址位可以是物理地址位,也可以是逻辑地址位,优选为逻辑地址位,这样可以缩短传输地址占用的时间,提高通信效率。
作为具体的示例,如表5及图5所示,假设有3个从设备在同步信号持续的时间内向主设备发送了数据上传请求,其逻辑地址如下表所示,最高有效位为第7位:
表5:
由表5可知,从设备A、B、C的逻辑地址的第7位、第6位和第5位相同,在仲裁第4位地址位时,由于从设备A和C上传的是0,则主设备接收到的地址位为0,主设备将0返回至二总线,由于从设备B上传的地址位与接收到的地址位不同,那么从设备B退出后续地址位的仲裁;在仲裁第3位地址位时,由于从设备C上传的是0,则主设备返回的地址位为0,那么从设备A退出后续地址位的仲裁。从设备C继续上传后续的地址位直至第0位。至此,主设备可以确定优先级最高的从设备的逻辑地址,即逻辑地址值最小的从设备的逻辑地址。
在可选的实施例中,在步骤S11发送持续预定时长的同步信号至二总线包括:
当所述二总线处于空闲状态时按照预定周期发送所述同步信号至所述二总线;和/或
在所述主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
如图7所示,当主设备与从设备之间没有通信时(二总线处于空闲状态),主设备可以周期性的发送同步信号至二总线,使得主设备既可以向从设备供电,又可以及时检测从设备是否有数据要上传。
由于主设备周期性(例如周期为T)的发送同步信号,则主设备向从设备发送数据时的波特率应为从设备向主设备发送数据时的波特率的T倍,例如,令从设备向主设备发送数据时的波特率为9600bps,T=4ms,则主设备向从设备发送数据时的波特率为2400bps。
如图8所示为主设备向从设备发送数据时的时序图,其中,同步信号每5ms发送一次。
如图9所示为从设备向主设备发送数据信息的时序图,其中,在从设备向主设备传输数据时,主设备是二总线保持为VM直至数据传输结束,数据传输结束之后,主设备控制二总线电压为VH以向从设备供电。主设备向从设备供电的时间约为3/4。
继续上述实施例,当有多个从设备在同步信号持续的时间内发送了数据上传请求时,在步骤S15中,主设备只读取了优先级最高的从设备的数据信息。在本实施方式中,在主设备发送读该优先级最高的从设备数据指令之后,并且在主设备开始读所述从设备发送至所述二总线的数据信息之前,该主设备可以再次发送同步信号以检测是否还有从设备要主动上传数据,若接收到其他从设备上传的数据上传请求,主设备可以在读取了优先级最高的从设备的数据信息之后再次发送仲裁指令以使其他从设备的数据信息得到及时更新。参考图9和图10所示,在主设备发送读从设备n的指令之后,主设备发送同步信号(第一次同步信号,该同步信号为主设备发送读从设备指令之后的持续2T2的7v的电平信号,在该2T2内只允许从设备发送数据上传请求,不允许从设备向主设备发送数据),在该同步信号持续的时间内,主设备接收到从设备m发送的数据上传请求,之后,主设备发送同步信号,在该同步信号持续的时间内(第二次同步信号,该同步信号为在第一次同步信号之后又过了(4ms-2T2)的24v电平之后的持续2T2的7v的电平信号),主设备接收到从设备n上传的起始位,则主设备控制二总线的电平保持在7V直至接受完从设备n上传的数据(该数据为一个字节);然后,在主设备读取从设备n的数据之后,主设备发送地址仲裁指令,从设备m响应该地址仲裁指令,地址仲裁结束之后主设备获得从设备m的逻辑地址并发送读取从设备m的指令;在主设备发送读从设备m的指令之后,发送同步信号(第一次同步信号),在该同步信号持续的时间内,未收到从设备的数据上传请求,在第二次同步信号持续的时间内,主设备接收到从设备m上传的起始位,则主设备控制二总线的电平保持在7V直至接受完从设备m上传的数据(该数据为一个字节)。
在可选的实施方式中,可以将主设备控制所述同步信号持续的时间n1T2分为第一时间段和第二时间段,其中第一时间段和第二时间段均为T2的整数倍。在所述同步信号持续的第一时间段内,主设备可以检测二总线是否短路,当检测到所述二总线短路时,将所述二总线电压置零;在所述同步信号持续的第二时间段内,检测从设备是否有数据上传,即是否收到从设备发送的数据上传请求。例如,在图10中,同步信号持续的时间为208us,将其分为前104us和后104us,前104us内主设备可以检测二总线是否短路;在后104us内检测从设备是否有数据上传。
本发明实施例提供的方法可以在二总线发生短路时进入总线短路保护状态,可以及时的反应故障,以便快速解决线路问题,避免因故障没有及时维护而造成损失。
在本发明实施例中,如表4所示的在主设备向从设备发送数据的功能码字段包括向从设备写数据的三种方式:单播、组播及广播,其中单播的时序图如图11所示,组播的时序图如图12所示,广播的时序图如图13所示。在写从设备数据单播时,主设备每次向一个从设备写数据,指定设备地址的从设备将接收到数据写入相应该设备的存储装置中并进行响应;在写从设备数据组播时,从设备收到组播指令后,若指令中的设备地址与该从设备的设备地址相同,则把接收到的数据写入该从设备的存储装置中并进行响应,在发送所有要写入的从设备后,发送一个0xFF作为一次组播的结束;在写从设备广播时,从设备收到广播指令后,将接收到的数据写入其存储装置中。
如图14所示为本发明实施例提供的一种基于二总线的数据同步系统的框图,该系统包括:
同步信号发送程序模块110,用于发送持续预定时长的同步信号至二总线;
仲裁指令生成程序模块120,用于当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
地址位接收程序模块130,用于接收所述至少一个从设备响应于在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
设备地址确定程序模块140,用于根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
数据信息读取程序模块150,用于根据所述设备地址读取所述优先级最高的从设备的数据信息。
在一些可选的实施例中,如图15所示,所述设备地址确定程序模块140包括:
地址位线与结果确定程序单元1410,用于对接收到的地址位进行线与,并将线与结果发送至所述二总线;
次级地址位接收程序单元1420,用于接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
功能调用程序单元1430,用于循环调用所述地址位线与结果确定程序单元和次级地址位接收单元,直到确定出所述优先级最高的从设备的设备地址。
在一些可选的实施例中,如图16所示,所述同步信号发送程序模块120包括:
第一同步信号发送程序单元1210,用于当所述总线处于空闲状态时按照预定周期发送所述同步信号至所述二总线;和/或
第二同步信号发送程序单元1220,用于在所述主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
在一些可选的实施例中,所述系统还包括短路保护模块,用于在所述同步信号持续时间内,当检测到所述二总线短路时,将所述二总线电压置零。
在一些可选的实施例中,所述地址位为所述从设备的物理地址位或者逻辑地址位。
上述本发明实施例的基于二总线的数据同步系统可用于执行本发明实施例的基于二总线的数据同步方法,并相应的达到上述本发明实施例的数据同步方法所达到的技术效果,这里不再赘述。
另一方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行上述方法实施例中的相关步骤,例如:
发送持续预定时长的同步信号至二总线;
当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
接收所述至少一个从设备响应于在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
根据所述设备地址读取所述优先级最高的从设备的数据信息。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项方法实施例提供的基于二总线的数据同步方法。
图17是本申请另一实施例提供的执行基于二总线的数据同步方法的电子设备的硬件结构示意图,如图17所示,该设备包括:
一个或多个处理器310以及存储器320,图17中以一个处理器310为例。
执行数据同步方法的设备还可以包括:输入装置330和输出装置340。
处理器310、存储器320、输入装置330和输出装置340可以通过总线或者其他方式连接,图17中以通过总线连接为例。
存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据同步方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的数据同步方法。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据同步装置的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至数据同步装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可接收输入的数字或字符信息,以及产生与数据同步装置的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器320中,当被所述一个或者多个处理器310执行时,执行上述任意方法实施例中的数据同步方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于二总线的数据同步方法,所述方法应用于一种二总线基于二总线的数据同步系统,所述系统包括主设备和多个从设备,所述方法包括:
发送持续预定时长的同步信号至二总线;
当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
接收所述至少一个从设备在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
根据所述设备地址读取所述优先级最高的从设备的数据信息。
2.根据权利要求1所述的方法,其中,所述根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址包括:
对接收到的地址位进行线与,并将线与结果发送至所述二总线;
接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
重复上述步骤,直到确定出所述优先级最高的从设备的设备地址。
3.根据权利要求1所述的方法,其中,所述发送持续预定时长的同步信号至二总线包括:
当所述总线处于空闲状态时按照预定周期发送所述同步信号至所述二总线;和/或
在所述主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
4.根据权利要求1所述的方法,其中,在所述同步信号持续时间内,当检测到所述二总线短路时,将所述二总线电压置零。
5.根据权利要求1所述的方法,其中,所述地址位为所述从设备的物理地址位或者逻辑地址位。
6.一种基于二总线的数据同步系统,包括:
同步信号发送程序模块,用于发送持续预定时长的同步信号至二总线;
仲裁指令生成程序模块,用于当在所述同步信号持续时间内接收到自多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
地址位接收程序模块,用于接收所述至少一个从设备在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
设备地址确定程序模块,用于根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
数据信息读取程序模块,用于根据所述设备地址读取所述优先级最高的从设备的数据信息。
7.根据权利要求6所述的系统,其中,所述设备地址确定程序模块包括:
地址位线与结果确定程序单元,用于对接收到的地址位进行线与,并将线与结果发送至所述二总线;
次级地址位接收程序单元,用于接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
功能调用程序单元,用于循环调用所述地址位线与结果确定程序单元和次级地址位接收程序单元,直到确定出所述优先级最高的从设备的设备地址。
8.根据权利要求6所述的系统,其中,所述同步信号发送程序模块包括:
第一同步信号发送程序单元,用于当所述总线处于空闲状态时按照预定周期发送所述同步信号至所述二总线;和/或
第二同步信号发送程序单元,用于在主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
9.根据权利要求6所述的系统,其中,所述系统还包括短路保护程序模块,用于在所述同步信号持续时间内,当检测到所述二总线短路时,将所述二总线电压置零。
10.根据权利要求6所述的系统,其中,所述地址位为所述从设备的物理地址位或者逻辑地址位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710134467.9A CN106874237B (zh) | 2017-03-08 | 2017-03-08 | 基于二总线的数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710134467.9A CN106874237B (zh) | 2017-03-08 | 2017-03-08 | 基于二总线的数据同步方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874237A CN106874237A (zh) | 2017-06-20 |
CN106874237B true CN106874237B (zh) | 2019-08-27 |
Family
ID=59170473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710134467.9A Active CN106874237B (zh) | 2017-03-08 | 2017-03-08 | 基于二总线的数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874237B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368432A (zh) * | 2017-07-14 | 2017-11-21 | 上海冉能自动化科技有限公司 | 逻辑地址分配方法 |
CN109426623A (zh) * | 2017-08-29 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 一种读取数据的方法及装置 |
CN108304333B (zh) * | 2017-12-26 | 2021-04-13 | 中国科学院长春光学精密机械与物理研究所 | 一种一主多从式总线 |
CN108833056B (zh) * | 2018-05-23 | 2021-02-23 | 江苏格澜得智能电气有限公司 | 一种消防两总线优先通信的编码方法 |
CN109981433B (zh) * | 2019-03-15 | 2021-09-07 | 中煤科工集团重庆研究院有限公司 | 不定期总线仲裁机制的rs485主动数据传输方法 |
CN109992549A (zh) * | 2019-03-27 | 2019-07-09 | 上海冉能自动化科技有限公司 | 基于二总线的低功耗数据同步方法及系统 |
CN110412957B (zh) * | 2019-07-31 | 2022-08-02 | 广州市佛达信号设备有限公司 | 一种多机自同步警示灯控制方法 |
CN110457232A (zh) * | 2019-07-31 | 2019-11-15 | 联想(北京)有限公司 | 数据处理方法、装置、计算设备及介质 |
DE102019128651A1 (de) | 2019-10-23 | 2021-04-29 | Infineon Technologies Ag | Vorrichtung für einen digitalen Eindraht-Bus, Master-Vorrichtung, Sensor und Verfahren zum Zuweisen von Adressen an mehrere Vorrichtungen auf einem digitalen Eindraht-Bus |
CN111614535A (zh) * | 2020-05-26 | 2020-09-01 | 青岛大学 | 二总线消防系统通讯方法、系统及装置 |
CN112230093B (zh) * | 2020-11-02 | 2023-05-16 | 上海星秒光电科技有限公司 | 一种并发模式同步测量系统及其使用方法 |
CN113111018B (zh) * | 2021-04-08 | 2024-07-23 | 深圳力维智联技术有限公司 | 总线设备编址方法及计算机可读存储介质 |
CN113285859B (zh) * | 2021-05-19 | 2022-04-19 | 珠海格力电器股份有限公司 | 二总线系统、控制方法和设备及传感器和接入方法 |
CN113672540B (zh) * | 2021-07-07 | 2024-01-26 | 上海松江飞繁电子有限公司 | 二总线系统 |
CN114422290A (zh) * | 2022-01-21 | 2022-04-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输装置及通信系统 |
CN116032451B (zh) * | 2023-01-11 | 2023-06-06 | 深圳市深视智能科技有限公司 | 一种三线半双工多机通信系统及三线半双工多机通信方法 |
CN116938631B (zh) * | 2023-09-19 | 2023-12-29 | 芯原科技(上海)有限公司 | 配置总线生成方法、系统、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452330A (en) * | 1992-07-06 | 1995-09-19 | Digital Equipment Corporation | Bus-oriented switching system for asynchronous transfer mode |
DK0724796T3 (da) * | 1993-09-20 | 2003-03-31 | Transwitch Corp | System til asynkron dataoverførsel og styring af kildetrafikken |
CN105656591B (zh) * | 2015-12-30 | 2018-09-11 | 杭州娃哈哈精密机械有限公司 | 在伺服系统中的串行编码器通信时数据采集同步的方法 |
-
2017
- 2017-03-08 CN CN201710134467.9A patent/CN106874237B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106874237A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874237B (zh) | 基于二总线的数据同步方法及系统 | |
CN109992549A (zh) | 基于二总线的低功耗数据同步方法及系统 | |
CN102571452B (zh) | 多节点管理的方法和系统 | |
CN111082949B (zh) | 一种类脑计算机中脉冲数据包高效传输方法 | |
US11595474B2 (en) | Accelerating data replication using multicast and non-volatile memory enabled nodes | |
CN110635982B (zh) | 通讯总线上双主机通讯方法、系统、工控网关及储存介质 | |
US10554497B2 (en) | Method for the exchange of data between nodes of a server cluster, and server cluster implementing said method | |
CN106357542A (zh) | 提供组播业务的方法和软件定义网络控制器 | |
CN104518891A (zh) | 胖树网络中的组播组建立方法、装置及胖树网络 | |
CN107211550A (zh) | 用于无线机架管理控制器通信的系统和方法 | |
CN105095037A (zh) | 线卡、线卡的背板以及线卡测试方法 | |
CN106201715A (zh) | 一种任务调度方法和装置 | |
CN105807722A (zh) | 具备内部寄存器自复位功能的数值控制系统 | |
US20110154108A1 (en) | System and process for simulation or test exploiting data from monitoring ports | |
CN107004003B (zh) | 模型参数融合方法及装置 | |
CN105991315A (zh) | 一种sdn中的链路保护方法、交换设备及网络控制器 | |
CN107368432A (zh) | 逻辑地址分配方法 | |
CN103532866A (zh) | 虚拟机的流量控制方法和系统 | |
US20120210016A1 (en) | Method and system for facilitating one-to-many data transmissions with reduced network overhead | |
CN109309671A (zh) | 一种基于区块链的通信设备数据管理方法和装置 | |
CN104639384B (zh) | 测试命令发送方法、装置及系统 | |
CN104348641A (zh) | 一种故障的检测方法和故障检测装置 | |
CN102984160A (zh) | 分布式网络扫描任务处理方法和系统 | |
CN103825767B (zh) | 服务质量的实现方法和网桥 | |
CN202615389U (zh) | 一种能够对设备进行地址分配的总线系统 |
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 |