CN109992549A - 基于二总线的低功耗数据同步方法及系统 - Google Patents
基于二总线的低功耗数据同步方法及系统 Download PDFInfo
- Publication number
- CN109992549A CN109992549A CN201910238250.1A CN201910238250A CN109992549A CN 109992549 A CN109992549 A CN 109992549A CN 201910238250 A CN201910238250 A CN 201910238250A CN 109992549 A CN109992549 A CN 109992549A
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- main equipment
- lines bus
- address
- 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.)
- Pending
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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了基于二总线的低功耗数据同步方法及系统,该方法应用于基于二总线的低功耗数据同步系统,该系统包括主设备、至少一个从设备以及连接主设备和各从设备的二总线通信电路,各从设备定时进入休眠状态;该方法包括:从设备结束休眠状态后执行数据检测;从设备判断是否有主设备的下发数据请求,若是,则从设备接收下发数据并处理;若否,从设备判断是否有数据需要突发,若是,则从设备进行数据突发处理,若否,则定时休眠。本发明提供的方法及系统,基于总线仲裁机制,一方面,使二总线上的从设备可以通过上报数据上传请求从而主动向主设备发送数据信息,有效地降低通信时延;另一方面,从设备无需一直处于工作状态,有效的节省能耗。
Description
技术领域
本申请涉及总线通信领域,尤其涉及一种基于二总线的低功耗数据同步方法及系统。
背景技术
目前,在布置电网电力监控、电能计量管理、能源管理、消防电子设备、电气保护设备、消防设备电源监控、防火门监控等系统时,通常使用二总线的通信方式。二总线通信是指通信总线上只有两根导线,不需要额外的电源线的一种通信方式。所有的通信节点(从设备)都通过这两根导线从通信主节点(主设备)取电和与主节点通信。在二总线的类型中,M-BUS(symphonic mbus:远程抄表系统,其中mbus为Meter-Bus:计数器总线)是国际通行标准,其能够同时完成提供电源与数据通信的功能,并且在连接时不用区分极性,可以按照任意拓补结构布线施工,并且具有良好的开放性。
M-BUS的工作原理是在只有通信主节点(主设备)发出询问的情况下,通信节点(从设备)才会执行数据交换,这就导致当通信节点(从设备)状态发生改变想给通信主节点(主设备)发送数据时,不能及时的发送,存在较长的时延。
为克服以上缺陷,申请号为201710134467.9的中国专利申请《基于二总线的数据同步方法及系统》,提出了一种基于二总线的数据同步方法及系统,采用总线仲裁机制,使二总线上的通信节点(从设备)不需要等到通信主节点(主设备)巡检到本身就可以通过上报数据上传请求而主动向通信主节点(主设备)发送数据信息,有效降低了通信时延,从设备的状态改变得到及时更新。
而在以上所述的两种二总线系统中,通信节点(从设备)需要一直处于工作状态,无法实现低功耗处理。
发明内容
为了解决现有技术中的二总线通信的从设备需要一直处于工作状态,无法实现低耗能的问题,第一方面,本发明实施例提供一种基于二总线的低功耗数据同步方法,该方法应用于一种基于二总线的低功耗数据同步系统,该系统包括主设备、至少一个从设备以及连接主设备和各从设备的二总线通信电路,各从设备定时进入休眠状态;该方法包括:
从设备结束休眠状态后执行数据检测;
从设备判断是否有主设备的下发数据请求;
若从设备检测到主设备的下发数据请求,则从设备接收下发数据并处理;
若从设备未检测到主设备的下发数据请求,则从设备检测是否有数据需要突发;
若从设备检测到从设备有数据需要突发,则从设备进行数据突发处理;
若从设备未检测到从设备有数据需要突发,则从设备定时休眠。
第二方面,本发明实施例提供一种基于二总线的低功耗数据同步系统,包括主设备、至少一个从设备和连接主设备和各从设备的二总线通信电路,
其中从设备包括:
定时休眠控制程序模块,用于控制从设备定时进入或结束休眠状态;
数据检测程序模块,用于检测是否有主设备的下发数据请求或从设备自身是否有数据突发;
数据接收处理程序模块,用于接收主设备的下发数据并处理;
数据突发处理程序模块,用于处理从设备需要向主设备发送的数据。
第三方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项基于二总线的低功耗数据同步方法。
第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项基于二总线的低功耗数据同步方法。
第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项基于二总线的低功耗数据同步方法。
本发明提供的方法及系统,基于总线仲裁机制,一方面,使二总线上的从设备可以通过上报数据上传请求从而主动向主设备发送数据信息,有效地降低通信时延;另一方面,从设备无需一直处于工作状态,有效的节省能耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于二总线的低功耗数据同步方法的流程图;
图2A是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备的编码示意图;
图2B是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的从设备的编码示意图;
图3是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备向从设备发送数据的流程图;
图4是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的从设备向主设备发送数据的流程图;
图5是本申请另一实施例提供的一种基于二总线的低功耗数据同步方法中的从设备向主设备发送数据的流程图;
图6A是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备仲裁数据0的时序图;
图6B是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备仲裁数据1的时序图;
图7是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的从设备突发请求仲裁数据帧格式;
图8是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的从设备注册请求仲裁数据帧格式;
图9是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的在二总线空闲状态下的同步信号的示意图;
图10是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备向从设备发送数据的时序图;
图11是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的从设备向主设备发送数据的时序图;
图12是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备向从设备发送数据帧;
图13是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备读从设备数据帧;
图14是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写从设备单播数据帧;
图15是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写从设备广播数据帧;
图16是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写从设备组播数据帧;
图17是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写从设备组播地址;
图18是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写请求数据帧;
图19是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写控制命令单播控制命令帧;
图20是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写控制命令广播控制命令帧;
图21是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备写控制命令组播控制命令帧;
图22是本申请一实施例提供的一种基于二总线的低功耗数据同步方法中的主设备仲裁流程图;
图23是本申请一实施例提供的一种基于二总线的低功耗数据同步系统的结构示意图;
图24是本申请一实施例提供的一种基于二总线的低功耗数据同步系统的设备地址确定单元的结构示意图;
图25是本申请一实施例提供的一种基于二总线的低功耗数据同步系统的仲裁指令生成单元的结构示意图;
图26是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种基于二总线的低功耗数据同步方法,该方法包括:
S11:从设备结束休眠状态后执行数据检测;
S12:从设备判断是否检测到主设备的下发数据请求;
S13:若检测到主设备的下发数据请求,则从设备接收下发数据并处理;
S14:若未检测到主设备的下发数据请求,则从设备检测是否有数据需要突发;
S15:若检测到从设备有数据需要突发,则从设备进行数据突发处理;
S16:若未检测到从设备有数据需要突发,则从设备定时休眠。
在本实施方式中,该方法可以应用于基于二总线的低功耗数据同步系统,该系统包括主设备、至少一个从设备以及连接主设备和各从设备的二总线通信电路,各从设备定时进入休眠状态。在可选的实施例中,例如,从设备每2s结束休眠状态唤醒一次,唤醒时间为100ms,其余时间处于休眠状态(低功耗模式)。
在本实施方式中,从设备每次上电时,进行一次注册。注册前,从设备不允许与主设备通信;注册请求使用从设备出厂时的物理地址进行仲裁;注册时主设备给从设备分配一个逻辑地址,从设备注册成功后,使用逻辑地址与主机进行通信。
在该系统中,通过两条导线(即,二总线)连接主设备与多个从设备,主设备通过该两条导线可以为从设备供电以及与各从设备通信,不需要再布设电源线,节省了施工和线缆成本。而且,该两条导线无极性连接,可以灵活布线。通过根据接收到的地址位确定优先级最高的从设备,减少了确定从设备优先级的计算量,提升了系统的响应效率。
本发明提供的方法及系统,基于总线仲裁机制,一方面,使二总线上的从设备可以通过上报数据上传请求从而主动向主设备发送数据信息,有效地降低通信时延;另一方面,从设备无需一直处于工作状态,有效的节省能耗。
在本实施方式中,由主设备控制二总线上的输出电压,如下表1所示该二总线有三种电平信号,其中,VH>VM>VL。
表1:
在本实施方式中,如图2A所示,主设备向从设备发送数据信息时,使用电平信号,其中,T1表示主设备向从设备传输一位数据所用的时间即,主设备向从设备传输数据时的波特率的倒数。
在本实施方式中,如图2B所示,从设备向主设备发送数据信息时,使用电流信号,其中,T2表示从设备向主设备传输一位数据所用的时间即,从设备向主设备传输数据时的波特率的倒数。
在可选的实施例中,例如,VH可以是24伏,VM可以是7伏,VL可以是0伏。然而,这仅仅是一种电平信号的示例,本发明的实施例对此并不限制。
在可选的实施例中,例如,I1表示当前从设备通过该二总线向主设备传输的数据位为1,I0表示当前从设备通过该二总线向主设备传输的数据位为0,作为具体的示例,I1=0mA,I2=15mA。
作为一个具体的示例,在数据链路层,主设备与从设备以字节为单位进行数据传输,每个字节包含:1个起始位,8个数据位,最低有效位先发送,1个偶校验位,1个停止位。
主设备向从设备发送数据帧(指令)的帧头如下表2,主设备向从设备发送数据帧如图12所示,主设备读从设备时从设备的返回数据帧如下表3所示,主设备读从设备数据帧如图13所示:
表2:
表3:
Data1 | Data2 | … | DataN | CRC |
其中,Data1~DataN(N<=31)均为1字节,CRC为2字节。
在读时序中,Data1~DataN(N<=63)为从设备发送给主设备的数据信息;
CRC为Data1~DataN的校验,校验使用CRC-16。
在本实施方式中,对于步骤S12和S13,如图3所示,具体包括以下步骤:
S21:主设备持续发送下发数据请求;
S22:从设备检测到主设备的下发数据请求,并发出应答信号;
S23:主设备接收到应答信号;
S24:主设备下发数据;
S25:从设备接收数据并处理。
在本实施方式中,对于步骤S21,主设备在需要下发数据时,由于从设备可能处于休眠状态(低功耗模式),主设备将连续发送下发数据请求命令(即发送写请求命令),直到接收到应答信号,其中,主设备写请求数据帧如图18所示。
在本实施方式中,对于步骤S24,主设备与从设备建立连接后,主设备向从设备发送数据。作为一个具体的示例,同步信号每5ms发送一次,每个同步信号持续180us,在每个同步信号后主设备发送一个字节的数据,发送时序如图10所示。
主设备向从设备下发数据(即写从设备数据)时,数据帧(单播)如图14所示,主设备每次向一个从设备写数据,指定设备地址的从设备将接收到数据写入相应该设备的存储装置中并进行响应。
若为广播写数据,从设备无应答,主设备连续发送3s的广播命令,确保所有节点都能接收到广播命令,数据帧(广播)如图15所示,从设备收到广播指令后,将接收到的数据写入其存储装置中。
若为组播写数据,从设备无应答,主设备连续发送3s的组播命令,确保所有节点都能接收到广播命令,组播命令里包含组播地址,组播地址共25个字节,每一位代表一个节点是否需要处理该组播命令,1代表需要处理该组播命令,0代表忽略该组播命令,组播地址定义如图17所示,每个节点的组播地址占用一位,数据帧(组播)如图16所示,从设备收到组播指令后,若指令中的设备地址与该从设备的设备地址相同,则把接收到的数据写入该从设备的存储装置中并进行响应。
主设备向从设备写控制命令时,控制命令帧(单播)如图19所示。
若为广播写控制命令,为了避免从设备连续执行该命令,每个命令有一个编号,此时,地址用作命令的编号。控制命令帧(广播)如图20所示。
若为组播写控制命令,地址同样用作命令的编号。控制命令帧(组播)如图21所示。
在本实施方式中,对于步骤S14和S15,如图4所示,具体包括以下步骤:
S31:主设备发送持续预定时长的同步信号至二总线;
S32:当主设备在同步信号持续时间内接收到自多个从设备中的至少一个从设备通过二总线发送的数据上传请求时,生成仲裁指令并发送至二总线;
S33:主设备接收至少一个从设备响应于在接收到仲裁指令之后发送至二总线的至少一个从设备的地址位;
S34:主设备根据接收到的至少一个从设备的地址位确定优先级最高的从设备的设备地址;
S35:主设备根据设备地址读取优先级最高的从设备的数据信息。
在本实施方式中,对于步骤S31,由于只有当二总线上的电压为VM时,才允许从设备通过该二总线向主设备发送数据(例如发生故障或从故障返回时),则主设备可以控制二总线上的电压为VM来允许从设备向主设备发送数据。令从设备向主设备传输数据时的波特率为A,则每一位的传输时间T2=1/A,则二总线上的电压VM至少要保持T2秒,主设备才能接收到从设备发送的一位数据。例如,令A=9600bps,则T2=104us,那么主设备可以控制二总线线上的电压VM保持104us或者104的其他整数倍。
在可选的实施方式中,可以将主设备控制同步信号持续的时间分为第一时间段和第二时间段,其中第一时间段和第二时间段均为T2的整数倍。在同步信号持续的第一时间段内,主设备可以检测二总线是否短路,当检测到二总线短路时,将二总线电压置零;在同步信号持续的第二时间段内,检测从设备是否有数据上传,即是否收到从设备发送的数据上传请求。
在可选的实施方式中,同步信号持续的时间还可以包括信号稳定延时部分。例如,在图9中,同步信号持续的时间为284us,将其分为76us、前104us和后104us,其中,76us为信号稳定延时,前104us内主设备可以检测二总线是否短路;在后104us内检测从设备是否有数据上传。
本发明实施例提供的方法可以在二总线发生短路时进入总线短路保护状态,可以及时的反应故障,以便快速解决线路问题,避免因故障没有及时维护而造成损失。
在本实施方式中,主设备在空闲状态时,每5ms发送一个持续预定时长同步信号,同步信号持续时间为284us,电平为VM,其余时间二总线保持为VH的电平。
在本实施方式中,对于步骤S32,从设备接收到二总线上的同步信号后,则在同步信号持续的时间段内通过二总线向主设备发送数据上传请求。其中,向主设备发送数据上传请求的从设备可以是一个也可以是多个,当发送数据上传请求的从设备是多个时,多个从设备的电流可以进行叠加,例如,当有3个从设备向主设备发送0时(3个从设备同时上传15mA的电流信号),则主设备接收到的电流信号为45mA。为保护线路硬件设施,从设备向主设备传输数据时电路有电流限制,例如预设电流限制为80mA,6个以上的从设备同时向主设备传输数据位0时,此时二总线上电流输出为最大电流限制80mA。
在本实施例中,总线空闲时,从设备可发送数据上传请求;若从设备在唤醒时间内,总线一直处于忙状态,从设备定时进入休眠,并在下一个唤醒时间,重新检测总线状态。
在可选的实施方式中,从设备按以下依据进行总线空闲的判断:
从设备10S内占用过总线,连续接收到3个同步位,确认总线空闲;
从设备40S内占用过总线,连续接收到2个同步位,确认总线空闲;
从设备40S内没有占用过总线,接收到1个同步位,确认总线空闲。
对于步骤S33和步骤S34,当主设备接收到从设备发送的数据上传请求时,主设备并不知道是哪个从设备发送的请求,因此可以通过总线仲裁的方式确定从设备的设备地址。当主设备将仲裁指令发送至二总线上时,连接在二总线上的所有从设备都可以读取到该仲裁指令,但是,只有向主设备发送了数据上传请求的从设备才去响应该仲裁指令将自己的地址位发送至总线上。当只有一个从设备发送了数据上传请求时,则该设备发送自己的一个地址位至二总线;当有多个从设备发送了数据上传请求时,则该多个设备同时将自己的一个地址位发送至二总线。在应用中,每个从设备的地址可以有多位,例如8位或16位等,在发送地址位时,可以先发送设备地址的最高有效位。
当只有一个从设备发送数据请求时,主设备根据接收到的地址位可以确定该从设备的设备地址;当有多个从设备发送数据请求时,主设备根据接收到的地址位确定该多个从设备中优先级最高的从设备的设备地址,例如可以是设备地址值最小的从设备。
对于步骤S35,当主设备确定了优先级最高的从设备的设备地址之后,主设备生成读节点数据指令并发送至二总线,该优先级最高的从设备进行响应将其数据信息发送至二总线。
如图11所示为从设备向主设备发送数据信息的时序图,其中,在从设备向主设备传输数据时,主设备是二总线保持为VM直至数据传输结束,数据传输结束之后,主设备控制二总线电压为VH以向从设备供电。主设备向从设备供电的时间约为3/4。
如图5所示,在本发明一实施方式提供的基于二总线的数据同步方法中,主设备根据接收到的至少一个从设备的地址位确定优先级最高的从设备的设备地址包括:
S41:对接收到的地址位进行线与,并将线与结果发送至所述二总线;
S42:接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
S43:重复上述步骤,直到确定出所述优先级最高的从设备的设备地址。
在可选的实施例中,在步骤S31发送持续预定时长的同步信号至二总线包括:
当二总线处于空闲状态时按照预定周期发送同步信号至二总线;和/或
在主设备发送读从设备数据指令之后,并且在主设备开始读从设备发送至二总线的数据信息之前,发送同步信号至二总线。
在本实施方式中,主设备为从设备分配逻辑地址或从设备主动向主设备上传数据时,需要进行仲裁处理。主设备仲裁处理流程图如图22所示。其中:
仲裁第一位,也称开始仲裁位,在可选的实施例中,从设备抢占总线时,该位发送0;
仲裁第二位,该位用于判断仲裁请求是注册请求还是突发请求,在可选的实施例中,该位为0时,为注册请求,使用物理地址进行仲裁,该位为1时,为突发请求,可以使用逻辑地址或物理地址进行仲裁,本实施例中使用逻辑地址位,这样可以缩短传输地址占用的时间,提高通信效率。
作为具体的示例,在从设备主动向主设备上传数据之前,主设备要进行总线仲裁。仲裁时,发送数据上传请求的从设备先向主设备发送一位地址位,例如可以是设备地址的最高有效位,然后主设备把接收到的一位地址位返回至从设备,从设备读取到的地址位与其之前发送的地址位相同时,则该从设备继续向二总线发送次级地址位;否则该从设备不再向二总线发送地址位。重复上述步骤(从设备的设备地址有N位,则重复N次),直到确定出优先级最高的从设备的设备地址。在本实施方式中,优先级最高的从设备为发送数据上传请求的从设备中设备地址值最小的从设备。
在本实施方式中,从设备向二总线发送地址位的顺序是从最高地址位到最低地址位顺序发送的。从而结合主设备对接收到的地址位进行线与运算,并反馈线与结果至总线,由于线与结果必然是:当接收的所有地址位都为1时,线与结果为1;当接收的所有地址位中既有1,又有0时,线与结果为0;当接收的所有地址位都为0时,线与结果为0。从而每一次反馈的线与结果都是优先反馈小的结果,进而每一次响应主设备反馈至二总线的线与结果的都是设备地址值较小的从设备。因此,依据上述方法最终确定的自然就是设备地址值最小的从设备,也就是优先级最高的从设备,无需单独通过计算比较所有从设备的地址值的大小来确定最小地址值以确定优先级最高的从设备。
此外,在上述实施例中,由于在线与并反馈线与结果的过程中,不断的淘汰地址值较高的设备,从而也省去了不符合优先级要求的从设备盲目上传地址位造成的资源浪费(总线资源、主设备接收并存储冗余地址位的存储资源与管理资源)。
在本实施方式中,从设备30s内没有与主设备进行通信,则进行一次数据突发处理,此时,从设备突发请求仲裁帧格式如图7所示。从设备突发请求仲裁成功后,依次上传1个字节的逻辑地址,1个字节的状态,2个字节的CRC,主设备接收到正确的响应帧后,发送一个确认字符(若主设备需要读取该从设备的其他数据,则不用发送该确认字符),从设备接收到确认字符请求成功,清除该请求信号。
在本实施方式中,从设备发送数据时,只要有一个从设备返回的数据为0,则主机接收到的数据即为0,所以0的优先级高于1的优先级。每一位的仲裁占用3个位的传输时间,仲裁数据位传输过程时序图如图6A和图6B所示。
作为具体的示例,在主设备为从设备分配逻辑地址时,主设备要进行总线仲裁。每个从设备在出厂前写入一个唯一的32位的物理地址,每个从设备的物理地址均不相同,大约有42亿个地址,物理地址的范围为:00000001H~FFFFFFFEH,在主设备与多个从设备连接至二总线时,主设备可以初始化从设备,得到各从设备的物理地址,通过各物理地址可以为各从设备分配逻辑地址。
在本实施方式中,主设备为从设备分配逻辑地址的过程(也可以称之为自动编码)如下:
步骤S51:主设备生成自动编码指令至二总线,其中自动编码指令中的节点地址字段指定了允许参与分配的最小地址;
步骤S52:各从设备将其物理地址的最高位发送至二总线;
步骤S53:主设备将二总线上的地址位进行线与,并将线与结果返回至二总线;
步骤S54:只有接收到的物理地址的最高位与发送的物理地址的最高位相同的从设备继续将次级地址位发送至二总线;
步骤S55:重复上述步骤S53-S54,直至32位物理地址发送完,主设备得到一个从设备的物理地址,根据该物理地址为该从设备分配一个逻辑地址。
然后继续步骤S51-55,其中,已经分配到逻辑地址的从设备不再响应主设备的自动编码指令。当主设备得到的地址为0xFFFFFF时,逻辑地址分配完毕。
进一步地,主设备可以通过物理地址读取从设备的属性,若该从设备为中继节点,则向该从设备发送自动编码指令,为子节点分配逻辑地址(中继节点不占用逻辑地址,所以不为中继节点分配逻辑地址);若该从设备不是中继节点,则可以为该从设备分配逻辑地址。
进一步地,从设备复位后,需要重新进行注册,此时,从设备注册请求仲裁帧如图8所示。
在可选的实施例中,每个主设备最多可以连接254个从设备,则逻辑地址可以是8位,范围为1~254。
如图23所示为本申请一实施例提供的一种基于二总线的低功耗数据同步系统的结构示意图,该系统包括主设备100、至少一个从设备200和连接所述主设备和各所述从设备的二总线通信电路,图23中以一个从设备为例。
其中,主设备100包括:
同步信号发送程序模块110,用于发送持续预定时长的同步信号至二总线;
仲裁指令生成程序模块120,用于当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
地址位接收程序模块130,用于接收所述至少一个从设备响应于在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
设备地址确定程序模块140,用于根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
数据信息读取程序模块150,用于根据所述设备地址读取所述优先级最高的从设备的数据信息。
数据信息发送程序模块160,用于向从设备发送数据信息。
其中,从设备200包括:
定时休眠控制程序模块210,用于控制所述从设备定时进入或结束休眠状态;
数据检测程序模块220,用于检测是否有所述主设备的下发数据请求或所述从设备自身是否有数据突发;
数据接收处理程序模块230,用于接收所述主设备的下发数据并处理;
数据突发处理程序模块240,用于处理所述从设备需要向所述主设备发送的数据。
在一些可选的实施例中,如图24所示,所述设备地址确定程序模块140包括:
地址位线与结果确定程序单元1410,用于对接收到的地址位进行线与,并将线与结果发送至所述二总线;
次级地址位接收程序单元1420,用于接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
功能调用程序单元1430,用于循环调用所述地址位线与结果确定程序单元和次级地址位接收单元,直到确定出所述优先级最高的从设备的设备地址。
在一些可选的实施例中,如图25所示,所述同步信号发送程序模块120包括:
第一同步信号发送程序单元1210,用于当所述总线处于空闲状态时按照预定周期发送所述同步信号至所述二总线;和/或
第二同步信号发送程序单元1220,用于在所述主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
上述本发明实施例的基于二总线的数据同步系统可用于执行本发明实施例的基于二总线的数据同步方法,并相应的达到上述本发明实施例的数据同步方法所达到的技术效果。
另一方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行上述方法实施例中的相关步骤。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项方法实施例提供的基于二总线的低功耗数据同步方法。
图26是本申请另一实施例提供的执行基于二总线的低功耗数据同步方法的电子设备的硬件结构示意图,如图26所示,该设备包括:
一个或多个处理器310以及存储器320,图26中以一个处理器310为例。
执行数据同步方法的设备还可以包括:输入装置330和输出装置340。
处理器310、存储器320、输入装置330和输出装置340可以通过总线或者其他方式连接,图26中以通过总线连接为例。
存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据同步方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的低功耗数据同步方法。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据同步装置的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至数据同步装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可接收输入的数字或字符信息,以及产生与数据同步装置的用户设置以及功能控制有关的按键信号输入。输出装置340可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器320中,当被所述一个或者多个处理器310执行时,执行上述任意方法实施例中的低功耗数据同步方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.基于二总线的低功耗数据同步方法,所述方法应用于基于二总线的低功耗同步数据系统,所述系统包括主设备、至少一个从设备以及连接所述主设备和各所述从设备的二总线通信电路,各所述从设备定时进入休眠状态;所述方法包括:
所述从设备结束休眠状态后执行数据检测;
所述从设备判断是否有主设备的下发数据请求;
若所述从设备检测到主设备的下发数据请求,则所述从设备接收下发数据并处理;
若所述从设备未检测到主设备的下发数据请求,则所述从设备检测是否有数据需要突发;
若所述从设备检测到从设备有数据需要突发,则所述从设备进行数据突发处理;
若所述从设备未检测到从设备有数据需要突发,则所述从设备定时休眠。
2.根据权利要求1所述的方法,其中,所述从设备判断是否有主设备的下发数据请求,若是,则所述从设备接收下发数据并处理,包括:
所述主设备持续发送下发数据请求;
所述从设备检测到所述主设备的下发数据请求,并发出应答信号;
所述主设备接收到应答信号;
所述主设备下发数据;
所述从设备接收数据并处理。
3.根据权利要求1所述的方法,其中,所述从设备判断是否有数据需要突发,若是,则所述从设备进行数据突发处理,包括:
所述主设备发送持续预定时长的同步信号至二总线;
所述主设备在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至二总线;
所述主设备接收所述至少一个从设备在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
所述主设备根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
所述主设备根据所述设备地址读取所述优先级最高的从设备的数据信息。
4.根据权利要求3所述的方法,其中,所述主设备根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址包括:
对接收到的地址位进行线与,并将线与结果发送至所述二总线;
接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
重复上述步骤,直到确定出所述优先级最高的从设备的设备地址。
5.根据权利要求3所述的方法,其中,所述主设备发送持续预定时长的同步信号包括:
当所述总线处于空闲状态时所述主设备按照预定周期发送所述同步信号至所述二总线;和/或
在所述主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
6.基于二总线的低功耗数据同步系统,包括主设备、至少一个从设备和连接所述主设备和各所述从设备的二总线通信电路,
其中所述从设备包括:
定时休眠控制程序模块,用于控制所述从设备定时进入或结束休眠状态;
数据检测程序模块,用于检测是否有所述主设备的下发数据请求或所述从设备自身是否有数据突发;
数据接收处理程序模块,用于接收所述主设备的下发数据并处理;
数据突发处理程序模块,用于处理所述从设备需要向所述主设备发送的数据。
7.根据权利要求6所述的系统,其中,所述主设备包括:
数据信息发送程序模块,用于向所述从设备发送数据。
8.根据权利要求6所述的系统,其中,所述主设备还包括:
同步信号发送程序模块,用于发送持续预定时长的同步信号至二总线;
仲裁指令生成程序模块,用于当在所述同步信号持续时间内接收到自所述多个从设备中的至少一个从设备通过所述二总线发送的数据上传请求时,生成仲裁指令并发送至所述二总线;
地址位接收程序模块,用于接收所述至少一个从设备在接收到所述仲裁指令之后发送至所述二总线的所述至少一个从设备的地址位;
设备地址确定程序模块,用于根据接收到的所述至少一个从设备的地址位确定优先级最高的从设备的设备地址;
数据信息读取程序模块,用于根据所述设备地址读取所述优先级最高的从设备的数据信息。
9.根据权利要求8所述的系统,所述设备地址确定程序模块包括:
地址位线与结果确定程序单元,用于对接收到的地址位进行线与,并将线与结果发送至所述二总线;
次级地址位接收程序单元,用于接收所述至少一个从设备中响应与所述线与结果的从设备反馈至所述二总线的从设备的次级地址位,所述响应与所述线与结果的从设备至少为一个;
功能调用程序单元,用于循环调用所述地址位线与结果确定程序单元和次级地址位接收程序单元,直到确定出所述优先级最高的从设备的设备地址。
10.根据权利要求8所述的系统,所述同步信号发送程序模块包括:
第一同步信号发送程序单元,用于当所述总线处于空闲状态时按照预定周期发送所述同步信号至所述二总线;和/或
第二同步信号发送程序单元,用于在所述主设备发送读从设备数据指令之后,并且在所述主设备开始读所述从设备发送至所述二总线的数据信息之前,发送所述同步信号至所述二总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910238250.1A CN109992549A (zh) | 2019-03-27 | 2019-03-27 | 基于二总线的低功耗数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910238250.1A CN109992549A (zh) | 2019-03-27 | 2019-03-27 | 基于二总线的低功耗数据同步方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992549A true CN109992549A (zh) | 2019-07-09 |
Family
ID=67131603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910238250.1A Pending CN109992549A (zh) | 2019-03-27 | 2019-03-27 | 基于二总线的低功耗数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992549A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614535A (zh) * | 2020-05-26 | 2020-09-01 | 青岛大学 | 二总线消防系统通讯方法、系统及装置 |
CN112650089A (zh) * | 2020-09-03 | 2021-04-13 | 上海明厦物联网科技有限公司 | 集二总线短路检测及隔离于一体的设计电路和检测方法 |
CN114598690A (zh) * | 2022-02-24 | 2022-06-07 | 深圳市海洋王照明工程有限公司 | 级联设备系统的通信方法、装置及电子设备 |
CN115191105A (zh) * | 2022-06-07 | 2022-10-14 | 广东逸动科技有限公司 | 抢占总线的方法、装置、电子设备、控制系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101776931A (zh) * | 2009-12-18 | 2010-07-14 | 云南大学 | 仪表总线从机的低功耗电源电路 |
CN106874237A (zh) * | 2017-03-08 | 2017-06-20 | 上海冉能自动化科技有限公司 | 基于二总线的数据同步方法及系统 |
CN107590987A (zh) * | 2017-10-23 | 2018-01-16 | 天津云拓网络科技有限公司 | 一种基于低功耗物联网的远程抄表系统 |
CN108955802A (zh) * | 2018-08-29 | 2018-12-07 | 江阴市立信智能设备有限公司 | 一种智能水表系统采集用水量的方法 |
-
2019
- 2019-03-27 CN CN201910238250.1A patent/CN109992549A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101776931A (zh) * | 2009-12-18 | 2010-07-14 | 云南大学 | 仪表总线从机的低功耗电源电路 |
CN106874237A (zh) * | 2017-03-08 | 2017-06-20 | 上海冉能自动化科技有限公司 | 基于二总线的数据同步方法及系统 |
CN107590987A (zh) * | 2017-10-23 | 2018-01-16 | 天津云拓网络科技有限公司 | 一种基于低功耗物联网的远程抄表系统 |
CN108955802A (zh) * | 2018-08-29 | 2018-12-07 | 江阴市立信智能设备有限公司 | 一种智能水表系统采集用水量的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614535A (zh) * | 2020-05-26 | 2020-09-01 | 青岛大学 | 二总线消防系统通讯方法、系统及装置 |
CN112650089A (zh) * | 2020-09-03 | 2021-04-13 | 上海明厦物联网科技有限公司 | 集二总线短路检测及隔离于一体的设计电路和检测方法 |
CN114598690A (zh) * | 2022-02-24 | 2022-06-07 | 深圳市海洋王照明工程有限公司 | 级联设备系统的通信方法、装置及电子设备 |
CN115191105A (zh) * | 2022-06-07 | 2022-10-14 | 广东逸动科技有限公司 | 抢占总线的方法、装置、电子设备、控制系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874237B (zh) | 基于二总线的数据同步方法及系统 | |
CN109992549A (zh) | 基于二总线的低功耗数据同步方法及系统 | |
CN102571452B (zh) | 多节点管理的方法和系统 | |
US10409251B2 (en) | Automatic inspection and monitoring method based on time domain slotting control | |
US20060282506A1 (en) | Communication master station startup period control method | |
CN105808407B (zh) | 管理设备的方法、设备和设备管理控制器 | |
CN104246733A (zh) | 用于通用串行总线设备的数据重定向 | |
CN111770157B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
CN102088383A (zh) | 一种在线从机查询、应答方法及装置、总线系统 | |
CN105871668B (zh) | 物联网智能家电的互联互通方法及智能家电 | |
CN104639298A (zh) | 一种数据传输方法、装置及系统 | |
US20130145191A1 (en) | Universal serial bus device and method for power management | |
CN109062753A (zh) | 一种硬盘监控系统以及监控方法 | |
CN103186440B (zh) | 检测子卡在位的方法、装置及系统 | |
CN101977429B (zh) | 微功耗无线通信网络系统及其实现方法 | |
CN103995472B (zh) | 一种支持多种通信接口方式的现场维护设备检定装置 | |
US20150220399A1 (en) | Method and system for facilitating one-to-many data transmissions with reduced network overhead | |
CN101630158B (zh) | 一种工业控制系统及其串行通信方法 | |
CN103067034A (zh) | 一种可监控led发布系统的3g模块 | |
CN103841193A (zh) | 一种信息推送方法及系统 | |
CN105471654A (zh) | 一种基于fc网络的配置数据自动加载方法 | |
CN102347878A (zh) | 一种多点通信系统、方法及设备 | |
CN103902472A (zh) | 基于内存芯片互连的内存访问处理方法、内存芯片及系统 | |
CN103376369B (zh) | 通讯负载的测试方法及装置 | |
CN113250944B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |