双芯智能电表的通信方法和系统
技术领域
本申请涉及电能计量技术领域,特别是涉及一种双芯智能电表的通信方法和系统。
背景技术
目前,电能表软硬件为一体式设计,即计量部分和非计量部分不做独立工作要求。按照IR46标准的要求,电能表的管理芯和计量芯应相互分离,管理单元需要支持高级应用的灵活扩展,同时为支持高级应用的灵活扩展引入了嵌入式操作系统。多样化的高级应用需求和万物互联的应用场景带来大量异构数据高频度、硬实时的传输处理需求,电能表需要支持多种通信协议实现电表与计量系统的高效信息交互,实现现有通信协议的完全兼容、新通信协议的灵活扩展。
然而,目前的电能表软件和硬件高度耦合,软件一旦固化到硬件内部就无法再进行升级扩展。因此,现有电能表无法满足通信协议的兼容和扩展要求。
发明内容
基于此,有必要针对上述技术问题,提供一种双芯智能电表的通信方法和系统。
一种双芯智能电表的通信方法,应用于双芯智能电表的管理单元,所述管理单元包括:第一模块和第二模块,以及分别与所述第一模块和第二模块通信连接的通信管理模块;所述方法包括:
所述第一模块从所述双芯智能电表的通信信道接收请求数据;
所述通信管理模块监听并从所述第一模块接收所述请求数据,提取所述请求数据中符合预设电表通信协议的第一请求数据帧,对所述第一请求数据帧添加帧头数据,得到第二请求数据帧,将所述第二请求数据帧发送至所述第二模块;其中,所述帧头数据用于所述通信管理模块与所述第二模块的数据交互;
所述第二模块接收所述第二请求数据帧,响应于所述第二请求数据帧,获取应答数据,将所述应答数据发送至所述通信管理模块;
所述通信管理模块接收所述应答数据,提取所述应答数据中符合所述预设电表通信协议的第一应答数据帧,摘除所述第一应答数据帧中的所述帧头数据,得到第二应答数据帧,将所述第二应答数据帧发送至所述第一模块;
所述第一模块接收所述第二应答数据帧,将所述第二应答数据帧发送至所述双芯智能电表的通信信道,以对所述请求数据进行应答。
在一个实施例中,所述对所述第一请求数据帧添加帧头数据,得到第二请求数据帧,包括:所述通信管理模块对所述第一请求数据帧进行帧格式验证以及有效性验证;若所述第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则所述通信管理模块对所述第一请求数据帧添加帧头数据,得到所述第二请求数据帧;所述摘除所述第一应答数据帧中的所述帧头数据,得到第二应答数据帧,包括:所述通信管理模块对所述第一应答数据帧进行帧格式验证以及有效性验证;若所述第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则所述通信管理模块摘除所述第一应答数据帧中的所述帧头数据,得到所述第二应答数据帧。
在一个实施例中,所述通信管理模块对所述第一请求数据帧进行帧格式验证以及有效性验证,包括:所述通信管理模块按照所述预设电表通信协议验证所述第一请求数据帧的地址域是否正确;所述通信管理模块验证所述第一请求数据帧的控制码和校验和是否正确;若所述第一请求数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则所述通信管理模块确定所述第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过;所述通信管理模块对所述第一应答数据帧进行帧格式验证以及有效性验证,包括;所述通信管理模块按照所述预设的电表通信协议验证所述第一应答数据帧的地址域是否正确;所述通信管理模块验证所述第一应答数据帧的控制码和校验和是否正确;若所述第一应答数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则所述通信管理模块确定所述第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过。
在一个实施例中,所述通信管理模块对所述第一请求数据帧添加帧头数据,得到所述第二请求数据帧之前,还包括:所述通信管理模块基于所述第一请求数据帧的控制码,确定所述第一请求数据帧的解密需求;若所述第一请求数据帧的解密需求为需要解密,则所述通信管理模块调用加密模块对所述第一请求数据帧进行解密,并重新获取解密后的第一请求数据帧的校验和;所述通信管理模块摘除所述第一应答数据帧中的所述帧头数据,得到所述第二应答数据帧之前,还包括:所述通信管理模块基于所述第一应答数据帧的控制码,确定所述第一应答数据帧的加密需求;若所述第一应答数据帧的加密需求为需要加密,则所述通信管理模块调用加密模块对所述第一应答数据帧进行加密,并重新获取加密后的第一应答数据帧的校验和。
在一个实施例中,所述通信管理模块接收所述应答数据,提取所述应答数据中符合所述预设电表通信协议的第一应答数据帧,包括:所述通信管理模块接收所述应答数据,对所述应答数据按照预设电表通信协议采用规约接收函数完成完整性验证以及合法性验证;若完整性验证以及合法性验证的验证结果为验证通过,所述通信管理模块将所述应答数据作为所述第一应答数据帧。
在一个实施例中,所述预设电表通信协议包括:DL/T645-2007协议、IEC62056协议或者MODBUS协议中的至少一种。
在一个实施例中,所述第一模块从所述双芯智能电表的通信信道接收请求数据,包括:所述第一模块通过电力线载波HPLC通信从所述双芯智能电表的通信信道中读取请求数据。
一种双芯智能电表的通信系统,所述系统包括:第一模块和第二模块,以及分别与所述第一模块和第二模块通信连接的通信管理模块;其中,
所述第一模块,用于所述双芯智能电表的通信信道接收请求数据;
所述通信管理模块,用于监听并从所述第一模块接收所述请求数据,提取所述请求数据中符合预设电表通信协议的第一请求数据帧,对所述第一请求数据帧添加帧头数据,得到第二请求数据帧,将所述第二请求数据帧发送至所述第二模块;其中,所述帧头数据用于所述通信管理模块与所述第二模块的数据交互;
所述第二模块,用于接收所述第二请求数据帧,响应于所述第二请求数据帧,获取应答数据,将所述应答数据发送至所述通信管理模块;
所述通信管理模块,用于接收所述应答数据,提取所述应答数据中符合所述预设电表通信协议的第一应答数据帧,摘除所述第一应答数据帧中的所述帧头数据,得到第二应答数据帧,将所述第二应答数据帧发送至所述第一模块;
所述第一模块,用于接收所述第二应答数据帧,将所述第二应答数据帧发送至所述双芯智能电表的通信信道,以对所述请求数据进行应答。
在一个实施例中,所述通信管理模块,进一步用于若所述第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则对所述第一请求数据帧添加帧头数据,得到所述第二请求数据帧;所述通信管理模块,进一步用于若所述第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则摘除所述第一应答数据帧中的所述帧头数据,得到所述第二应答数据帧。
在一个实施例中,所述通信管理模块,进一步用于按照所述预设电表通信协议验证所述第一请求数据帧的地址域是否正确;验证所述第一请求数据帧的控制码和校验和是否正确;若所述第一请求数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则确定所述第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过;所述通信管理模块,进一步用于按照所述预设的电表通信协议验证所述第一应答数据帧的地址域是否正确;验证所述第一应答数据帧的控制码和校验和是否正确;若所述第一应答数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则确定所述第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过。
上述双芯智能电表的通信方法和系统,应用于双芯智能电表的管理单元,管理单元包括:第一模块和第二模块,以及分别与第一模块和第二模块通信连接的通信管理模块;第一模块从双芯智能电表的通信信道接收请求数据;通信管理模块监听并从第一模块接收请求数据,提取请求数据中符合预设电表通信协议的第一请求数据帧,对第一请求数据帧添加帧头数据,得到第二请求数据帧,将第二请求数据帧发送至第二模块;其中,帧头数据用于通信管理模块与第二模块的数据交互;第二模块接收第二请求数据帧,响应于第二请求数据帧,获取应答数据,将应答数据发送至通信管理模块;通信管理模块接收应答数据,提取应答数据中符合预设电表通信协议的第一应答数据帧,摘除第一应答数据帧中的帧头数据,得到第二应答数据帧;将第二应答数据帧发送至第一模块;第一模块接收第二应答数据帧,将第二应答数据帧发送至双芯智能电表的通信信道,以对请求数据进行应答。本申请提供的双芯智能电表的通信方法,可以通过管理单元完成请求数据与应答数据的数据交互,管理单元可以兼容多种通信协议,实现了通信管理功能的解耦,因此可以支持电能表通信协议的灵活扩展升级。
附图说明
图1为一个实施例中双芯智能电表的通信方法的应用环境图;
图2为一个实施例中双芯智能电表的通信方法的流程示意图;
图3为另一个实施例中双芯智能电表的通信方法的流程示意图;
图4为一个应用实例中双芯智能电表管理单元通信管理数据组件交互流程示意图;
图5为一个应用实例中双芯智能电表管理单元通信管理组件结构示意图;
图6为一个实施例中双芯智能电表的通信系统的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的双芯智能电表的通信方法,可以应用于如图1所示的应用环境中。其中,通信管理模块102与双芯智能电表的第一模块101以及第二模块进行通信连接。其中,第一模块101可以从上行通道或者下行通道中读取请求数据,通信管理模块102可以监听并从第一模块101中得到该请求数据,并对请求数据进行加工处理,发送至第二模块103,第二模块103可以对请求数据进行响应并获取应答数据,返回至通信管理模块102,通信管理模块102再对得到的应答数据进行处理,并返回第一模块101,第一模块101最后通过上行通道或者下行通道发送出去,从而完成对请求数据的应答。第一模块101、通信管理模块102以及第二模块103都可以通过计算机芯片以及磁盘等方式实现。
在一个实施例中,如图2所示,提供了一种双芯智能电表的通信方法,以该方法应用于图1中的双芯智能电表的管理单元为例进行说明,管理单元包括:第一模块101和第二模块103,以及分别与第一模块101和第二模块103通信连接的通信管理模块102,该包括以下步骤:
步骤S201,第一模块101从双芯智能电表的通信信道接收请求数据。
其中,请求数据是由第一模块101读取上行/下行通信信道中发送的串口数据,可以是包含多个数据字节的数据帧组成,用于发起数据处理请求,第一模块101可以是双芯智能电表的操作系统模块。第一模块101得到请求数据并存储。
步骤S202,通信管理模块102监听并从第一模块101接收请求数据,提取请求数据中符合预设电表通信协议的第一请求数据帧,对第一请求数据帧添加帧头数据,得到第二请求数据帧,将第二请求数据帧发送至第二模块103;其中,帧头数据用于通信管理模块102与第二模块103的数据交互。
其中,预设电表通信协议可以包括多种,例如645协议等等,第二模块103则可以是双芯智能电表的虚拟总线模块。通信管理模块102可以监听第一模块101的数据接收情况,在第一模块101接收到请求数据后,首先可以从第一模块101中获取请求数据,并从请求数据中包含的数据帧中提取出符合预设电表通信协议的第一请求数据帧,例如可以从请求数据中提取出符合645协议的数据帧作为第一请求数据帧,并在此基础上对第一请求数据帧进行加工,可以在第一请求数据帧的基础上添加一部分用于通信管理模块102与第二模块103进行数据交互的帧头数据,形成第二请求数据帧,并发送至第二模块103。
步骤S203,第二模块103接收第二请求数据帧,响应于第二请求数据帧,获取应答数据,将应答数据发送至通信管理模块102。
其中,应答数据由第二模块103根据通信管理模块102发送的第二请求数据帧进行相应的响应得到,第二模块103得到应答数据后,可以通过虚拟总线管道将应答数据发送至通信管理模块102。
步骤S204,通信管理模块102接收应答数据,提取应答数据中符合预设电表通信协议的第一应答数据帧,摘除第一应答数据帧中的帧头数据,得到第二应答数据帧;将第二应答数据帧发送至第一模块101。
具体地,通信管理模块102接收到第二模块103发送的应答数据后,首先按照电表通信协议从应答数据中提取一段完整的数据帧,作为第一应答数据帧,若没有接收到符合电表通信协议的完整的数据帧,则继续从虚拟总线管道读取应答数据,直到满足要求。得到完整的第一应答数据帧后,可以将第一应答数据帧携带有的用于通信管理模块102与第二模块103的数据交互的帧头数据进行摘除,作为第二应答数据帧并发送至第一模块101。
步骤S205,第一模块101接收第二应答数据帧,将第二应答数据帧发送至双芯智能电表的通信信道,以对请求数据进行应答。
第一模块101接收到第二应答数据帧后,可以将第二应答数据帧通过对应的上行/下行通信信道对请求数据进行相应应答。
上述双芯智能电表的通信方法中,可以应用于双芯智能电表的管理单元,管理单元包括:第一模块和第二模块,以及分别与第一模块和第二模块通信连接的通信管理模块;其中,第一模块从双芯智能电表的通信信道接收请求数据;通信管理模块监听并从第一模块接收请求数据,提取请求数据中符合预设电表通信协议的第一请求数据帧,对第一请求数据帧添加帧头数据,得到第二请求数据帧,将第二请求数据帧发送至第二模块;其中,帧头数据用于通信管理模块与第二模块的数据交互;第二模块接收第二请求数据帧,响应于第二请求数据帧,获取应答数据,将应答数据发送至通信管理模块;通信管理模块接收应答数据,提取应答数据中符合预设电表通信协议的第一应答数据帧,摘除第一应答数据帧中的帧头数据,得到第二应答数据帧;将第二应答数据帧发送至第一模块;第一模块接收第二应答数据帧,将第二应答数据帧发送至双芯智能电表的通信信道,以对请求数据进行应答。本申请提供的双芯智能电表的通信方法,可以通过管理单元完成请求数据与应答数据的数据交互,管理单元可以兼容多种通信协议,实现了通信管理功能的解耦,因此可以支持电能表通信协议的灵活扩展升级。
在一个实施例中,通信管理模块102对第一请求数据帧添加帧头数据,得到第二请求数据帧,包括:通信管理模块102对第一请求数据帧进行帧格式验证以及有效性验证;若第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则对第一请求数据帧添加帧头数据,得到所述第二请求数据帧;通信管理模块102摘除第一应答数据帧中的帧头数据,得到第二应答数据帧,包括:通信管理模块102对第一应答数据帧进行帧格式验证以及有效性验证;若第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则摘除第一应答数据帧中的帧头数据,得到第二应答数据帧。
进一步地,通信管理模块102对第一请求数据帧进行帧格式验证以及有效性验证,包括:通信管理模块102按照预设电表通信协议验证第一请求数据帧的地址域是否正确;通信管理模块102验证第一请求数据帧的控制码和校验和是否正确;若第一请求数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则通信管理模块102确定第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过;通信管理模块102对第一应答数据帧进行帧格式验证以及有效性验证,包括;通信管理模块102按照预设电表通信协议验证第一应答数据帧的地址域是否正确;通信管理模块102验证第一应答数据帧的控制码和校验和是否正确;若第一应答数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则通信管理模块102确定第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过。
具体地,通信管理模块102对第一请求数据帧添加帧头数据,得到第二请求数据帧之前,为了保证第一请求数据帧的有效性,首先需要对第一请求数据帧进行帧格式验证,例如:可以从第一请求数据帧中提取出地址域,并判断地址域是否正确,之后,再对第一请求数据帧进行有效性验证,例如可以通过判断第一请求数据帧的控制码和校验和是否正确,若第一请求数据帧的地址域正确并且控制码和校验和都为正确,则确认此时的第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过,验证通过后,才对第一请求数据帧添加帧头数据,得到第二请求数据帧。
另外,通信管理模块102摘除第一应答数据帧中的帧头数据,得到第二应答数据帧之前,也可以验证第一应答数据帧的地址域是否正确,以及第一应答数据帧的控制码和校验和是否正确,只有当第一应答数据帧的地址域正确并且控制码和校验和都为正确,才确定第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过,验证通过后,才摘除第一应答数据帧的帧头数据,得到第二应答数据帧。
进一步地,为了保证在上行/下行通信信道中数据传输的安全性,往往会对该数据进行加密处理,因此,在一个实施例中,通信管理模块102对第一请求数据帧添加帧头数据,得到第二请求数据帧之前,还包括:通信管理模块102基于第一请求数据帧的控制码,确定第一请求数据帧的解密需求;若第一请求数据帧的解密需求为需要解密,则通信管理模块102调用加密模块对第一请求数据帧进行解密,并重新获取解密后的第一请求数据帧的校验和;通信管理模块102摘除第一应答数据帧中的帧头数据,得到第二应答数据帧之前,还包括:通信管理模块102基于第一应答数据帧的控制码,确定第一应答数据帧的加密需求;若第一应答数据帧的加密需求为需要加密,则调用加密模块对第一应答数据帧进行加密,并重新获取加密后的第一应答数据帧的校验和。
其中,加密模块可以用于对通信管理模块102接收到的数据进行加密或者解密处理,具体地,通信管理模块102对第一请求数据帧添加帧头数据,得到第二请求数据帧之前,可以根据第一请求数据帧中的控制码的值,判断是否需要对第一请求数据帧进行解密处理,若需要解密,则可以调用加密模块的函数对第一请求数据帧进行解密,并对解密后的数据重新计算校验和。
另外,通信管理模块102摘除第一应答数据帧中的帧头数据,得到第二应答数据帧之前,也可以根据第一应答数据帧中的控制码的数值,判断是否需要对第一应答数据帧进行加密处理,若需要加密,则可以调用加密模块的函数对第一应答数据帧进行加密,并对加密后的数据重新计算校验和。
上述实施例中,通信管理模块102得到第二请求数据帧以及第二应答数据帧之前,都对接收到的第一请求数据帧以及第一应答数据帧进行帧格式验证以及有效性验证,保证了数据来源的有效性,在这基础上,还通过加密模块保证了数据在上行/下行通信信道中数据传输的安全性,进一步保证了数据来源的有效性。
在一个实施例中,通信管理模块102接收应答数据,提取应答数据中符合预设电表通信协议的第一应答数据帧,包括:通信管理模块102接收应答数据,对应答数据按照预设电表通信协议采用规约接收函数完成完整性验证以及合法性验证;若完整性验证以及合法性验证的验证结果为验证通过,将应答数据作为第一应答数据帧。
具体地,通信管理模块102收到第二模块103发送的应答数据后,需要通过规约接收函数进行帧完整性判断,接收到完整一帧后,再通过规约接收函数进行数据合法性判断;如果没有收到符合完整性要求的数据帧时,则继续读取虚拟总线管道数据,直到接收完整。
上述实施例中,通信管理模块102接收应答数据之后,对其进行完整性验证以及合法性验证,可以保证接收到的应答数据的完整度,另外,通过规约接收函数完成数据帧完整性验证和合法性验证,可以有效提高完整性验证和合法性验证的准确性。
在一个实施例中,预设电表通信协议可以包括:DL/T645-2007协议、IEC62056协议或者MODBUS协议中的至少一种,因此本申请提供的双芯智能电表的通信方法可以支持多种电能表协议和泛在物联网通信协议的应用场景。
在一个实施例中,第一模块101从双芯智能电表的通信信道中读取请求数据,可以包括:第一模块101通过电力线载波HPLC通信从双芯智能电表的通信信道中读取请求数据。
本实施例中,第一模块101通过电力线载波HPLC通信从双芯智能电表的通信信道中读取请求数据,可以在保证数据传输准确性的同时,有效提高数据传输的效率。
在一个实施例中,如图3所示,还提供了一种双芯智能电表的通信方法,该方法可以应用于图1中的双芯智能电表的管理单元,该管理单元可以包括:第一模块101和第二模块103,以及分别与第一模块101和第二模块103通信连接的通信管理模块102,该方法可以包括如下步骤:
步骤S301,第一模块101通过电力线载波HPLC通信从双芯智能电表的通信信道中读取请求数据;
步骤S302,通信管理模块102监听并从第一模块101接收请求数据,提取请求数据中符合预设电表通信协议的第一请求数据帧;
步骤S303,通信管理模块102对第一请求数据帧进行帧格式验证,验证第一请求数据帧的地址域是否正确;对第一请求数据帧进行有效性验证,验证第一请求数据帧的控制码和校验和是否正确;
步骤S304,若第一请求数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,通信管理模块102则对第一请求数据帧添加帧头数据,得到第二请求数据帧,将第二请求数据帧发送至第二模块103;
步骤S305,第二模块103接收第二请求数据帧,响应于第二请求数据帧,获取应答数据,将应答数据发送至通信管理模块102;
步骤S306,通信管理模块102接收应答数据,提取应答数据中符合预设电表通信协议的第一应答数据帧;
步骤S307,通信管理模块102对第一应答数据帧进行帧格式验证,验证第一应答数据帧的地址域是否正确;对第一应答数据帧进行有效性验证,验证第一应答数据帧的控制码和校验和是否正确;
步骤S308,若第一应答数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,通信管理模块102则摘除第一应答数据帧中的帧头数据,得到第二应答数据帧;将第二应答数据帧发送至第一模块101;
步骤S309,第一模块101接收第二应答数据帧,将第二应答数据帧发送至双芯智能电表的通信信道,以对请求数据进行应答。
上述实施例提供的双芯智能电表的通信方法,可以通过管理单元完成请求数据与应答数据的数据交互,管理单元可以兼容多种通信协议,实现了通信管理功能的解耦,因此可以支持电能表通信协议的灵活扩展升级,并且在保证数据来源有效性的同时,还提高了数据传输的效率。
在一个应用实例中,提供一种双芯智能电表管理单元通信管理组件的实现方法,如图4所示,该方法可以应用于如图5所示的双芯智能电表管理单元通信管理组件,该方法包括上/下行通信模块请求处理和虚拟总线组件交互应答处理,其中,上/下行通信模块请求处理可以包括如下步骤:
步骤1,通信管理组件收到上/下行通信模块的请求数据后,通信管理组件读取串口数据,示例如下所示:04 18 FE FE FE FE 68 11 11 FE FE FE FE 68 11 11 11 11 1111 68 11 04 34 34 33 37 1D 16 99 76 AD;
步骤2,如果串口缓存区数据长度满足要求,则从接收数据中提取符合645协议格式的主站数据(黑色粗体),示例如下所示:04 18 FE FE FE FE 68 11 11 FE FE FE FE 6811 11 11 11 11 11 68 11 04 34 34 33 37 1D 16 99 76 AD;
步骤3,按照指定协议进行帧格式判断地址域是否正确,示例如下所示:68 11 1111 11 11 11 68,两个68之间的6个字节为数据域;
步骤4,当接收到完整的一帧数据后,判断控制码和校验和是否正确(加粗部分)。示例如下所示:68 11 11 11 11 11 11 68 11 04 34 34 33 37 1D 16;
步骤5,判断数据域是否需要解密,如若需要解密,调用加密组件接口函数进行解密,并对解密后数据重新计算校验和。
步骤6,对于符合指定协议格式的数据帧,添加模块间交互所需的帧头数据(如黑体加粗部分),并转发给虚拟总线,把更新后的数据帧写入虚拟总线组件管道,完成请求命令的处理任务。示例如下所示:68 11 00 00 00 01 00 00 00 10 68 11 11 11 11 11 1168 11 04 34 34 33 37 1D 16。
而虚拟总线组件交互应答处理则是上/下行通信模块请求处理的逆过程,可以包括如下过程:
通信管理组件收到虚拟总线的应答数据后,首先,进行帧完整性判断,接收到完整一帧后,进行数据合法性判断;如果没有收到符合完整性要求的数据帧时,则继续读取虚拟总线管道数据,直到接收完整;
其次,判断应答数据是否需要安全加密模块进行加密处理;
最后,丢弃内部交互的帧头数据,通过对应的通信信道应答请求命令。
相比于现有技术,本申请所提供的一种双芯智能电表管理单元通信管理组件的实现方法,通信管理组件支持多种电能表协议和泛在物联网通信协议的应用场景,包括DL/T645-2007、面向对象IEC62056协议以及支撑新一代下行通信的MODBUS协议等;通信管理组件支持上行电力线载波HPLC通信和下行蓝牙通信;通信管理组件采用规约接收函数实现数据帧完整性检查和合法性检查;通信管理方法与加密模块进行数据交互实现数据帧加解密处理。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种双芯智能电表的通信系统,包括:第一模块601和第二模块603,以及分别与第一模块601和第二模块603通信连接的通信管理模块602,其中:
第一模块601,用于从双芯智能电表的通信信道接收请求数据;
通信管理模块602,用于监听并从第一模块101接收请求数据,提取请求数据中符合预设电表通信协议的第一请求数据帧,对第一请求数据帧添加帧头数据,得到第二请求数据帧,将第二请求数据帧发送至第二模块603;其中,帧头数据用于通信管理模块602与第二模块603的数据交互;
第二模块603,用于接收第二请求数据帧,响应于第二请求数据帧,获取应答数据,将应答数据发送至通信管理模块602;
通信管理模块602,还用于接收应答数据,提取应答数据中符合预设电表通信协议的第一应答数据帧,摘除第一应答数据帧中的帧头数据,得到第二应答数据帧;将第二应答数据帧发送至第一模块601;
第一模块601,还用于接收第二应答数据帧,将第二应答数据帧发送至双芯智能电表的通信信道,以对请求数据进行应答。
在一个实施例中,通信管理模块602,进一步用于对第一请求数据帧进行帧格式验证以及有效性验证;若第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则对第一请求数据帧添加帧头数据,得到第二请求数据帧;通信管理模块602,还用于对第一应答数据帧进行帧格式验证以及有效性验证;若第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过,则摘除第一应答数据帧中的所述帧头数据,得到第二应答数据帧。
在一个实施例中,通信管理模块602,进一步用于验证第一请求数据帧的地址域是否正确;验证第一请求数据帧的控制码和校验和是否正确;若第一请求数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则确定第一请求数据帧的帧格式验证以及有效性验证的验证结果为验证通过;通信管理模块602,进一步用于按照预设电表通信协议验证第一应答数据帧的地址域是否正确;验证第一应答数据帧的控制码和校验和是否正确;若第一应答数据帧的地址域、控制码和校验和的验证结果为地址域正确,并且控制码和校验和都正确,则确定第一应答数据帧的帧格式验证以及有效性验证的验证结果为验证通过。
在一个实施例中,通信管理模块602,还用于基于第一请求数据帧的控制码,确定第一请求数据帧的解密需求;若第一请求数据帧的解密需求为需要解密,则调用加密模块对第一请求数据帧进行解密,并重新获取解密后的第一请求数据帧的校验和;通信管理模块602,还用于基于第一应答数据帧的控制码,确定第一应答数据帧的加密需求;若第一应答数据帧的加密需求为需要加密,则调用加密模块对第一应答数据帧进行加密,并重新获取加密后的第一应答数据帧的校验和。
在一个实施例中,通信管理模块602,进一步用于接收应答数据,对应答数据按照预设电表通信协议采用规约接收函数完成完整性验证以及合法性验证;若完整性验证以及合法性验证的验证结果为验证通过,将应答数据作为第一应答数据帧。
在一个实施例中,第一模块601,进一步用于通过电力线载波HPLC通信从双芯智能电表的通信信道中读取请求数据。
关于双芯智能电表的通信系统的具体限定可以参见上文中对于双芯智能电表的通信方法的限定,在此不再赘述。上述双芯智能电表的通信系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于通信管理设备中的处理器中,也可以以软件形式存储于通信管理设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。