一种兼容645和698通信协议的电能表及通信方法与流程

文档序号:18475257发布日期:2019-08-20 20:56阅读:6153来源:国知局
一种兼容645和698通信协议的电能表及通信方法与流程

本发明涉及电能表技术领域,特别是一种兼容645和698通信协议的电能表及通信方法。



背景技术:

现有方案中,电能表内部每个通信接收口只有一个波特率发生器来解析物理层字节数据,必然造成同一时刻只能解析一种通信协议。所以安装前需要在实验室对电能表再次通电和人工设置,或安装后通过采集系统加密设置。两种设置均涉及大量关联软件的修改。将来645旧协议采集系统升级为698新协议时,还要将已安装的电能表修改回9600波特率。另外,电能表全寿命周期管理大部分环节都要依靠通信读取电能表内部信息,若存在两种速率的波特率配置的电能表,则需要修改很多管理软件来适应,带来了不可预知的管理混乱。

另外在实验室测试时,修改645协议波特率后,698协议波特率也被修改,造成原先698协议测试软件正常运行,但使用645协议后698测试软件通信错误。反过来修改698波特率也会导致原来的645测试软件通信错误,造成了混乱。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明的目的就是提供一种兼容645和698通信协议的电能表及通信方法,实现无需设置即可兼容645和698两种协议,并且完全解耦两种协议的波特率,解决混乱的问题。

本发明的目的之一是通过这样的技术方案实现的,一种兼容645和698通信协议的电能表,所述电能表包含通信接收口,第一uart接收器和第二uart接收器,协议处理单元,通信发送单元;

所述第一uart接收器和第二uart接收器的接收脚并联之后连接至所述通信接收口,所述第一uart接收器和第二uart接收器的输出端分别连接至协议处理单元;

所述第一uart接收器和第二uart接收器分别用于正确接收不同协议的通信数据;

所述协议处理单元用于处理所述第一uart接收器或第二uart接收器传来的通信数据,并将所述通信数据通过所述通信发送单元输出通信数据。

可选的,所述协议处理单元包含第一协议接收解析单元,第二协议接收解析单元,第一数据处理单元,第二数据处理单元,第一协议组帧单元,第二协议组帧单元;

所述第一协议接收解析单元、第一数据处理单元、第一协议组帧单元依次连接;

所述第二协议接收解析单元、第二数据处理单元、第二协议组帧单元依次连接;

所述第一uart接收器的输出端连接至所述第一协议接收解析单元;

所述第二uart接收器的输出端连接至所述第二协议接收解析单元。

可选的,所述通信发送单元包含第一uart发送器和通信发送口;

所述第一协议发送单元和第二协议发送单元的输出端均连接至所述第一uart发送器的输入端,所述第一uart发送器的输出端连接至所述通信发送口;

所述通信发送口用于输出通信数据。

可选的,所述电能表还包含,第一uart波特率发生器和第二uart波特率发生器;

所述第一uart波特率发生器用于为所述第一uart接收器产生第一波特率,以及为所述第一uart发送器产生第一波特率或第二波特率;

所述第二uart波特率发生器用于为所述第二uart接收器产生第二波特率。

本发明的目的之二是通过这样的技术方案实现的,一种兼容645和698通信协议的通信方法,该方法包含:

通过通信接收口接收通信协议帧;

分别通过第一uart接收器和第二uart接收器判断接收到的通信协议帧是否正确;

通过正确接收到所述通信协议帧的uart接收器将帧数据输出到对应的协议处理单元处理之后将帧数据通过通信发送单元输出。

可选的,所述通过第一uart接收器和第二uart接收器判断接收到的通信协议帧是否正确,包含如下步骤:

若任一uart接收器所接收到的通信协议帧出现字节接收错误,则该uart接收器接收数据流程结束,通过另一uart接收器接收到的通信协议帧输出给协议处理单元,以及;

在任一uart接收器所接收到的通信协议帧均未出现字节接收错误的情况下,第一uart接收器和第二uart接收器将接收到的通信协议帧输出给协议处理单元,若协议处理单元解析任一uart接收器传来的通信协议帧出现解析错误,则该uart接收器的接收数据流程结束,协议处理单元对另一uart接收器传来的通信协议帧进行处理。

可选的,所述通过正确接收到所述通信协议帧的uart接收器将帧数据输出到对应的协议处理单元处理,包含如下步骤:

通过协议接收解析单元对通信协议帧进行解析;

通过数据处理单元根据解析之后的通信协议帧进行处理获得回应数据;

通过协议组帧单元将回应数据进行组帧后通过通信发送单元输出。

可选的,所述通过通信发送单元输出,包含如下步骤:

判断组帧后的数据的波特率;

若组帧后的数据的波特率为第一波特率则直接组帧后的数据通过第一uart发送器发送到通信发送口,结束本次通信;

若组帧后的数据的波特率为第二波特率,则通过第一uart波特率发生器将第一uart发送器的波特率设置为第二波特率,将组帧后的数据通过第一uart发送器发送到通信发送口;

待数据发送完后,通过第一uart波特率发生器将第一uart发送器的波特率设置回第一波特率,结束本次通信。

可选的,所述第一波特率为9600bps,所述第二波特率为2400bps。

由于采用了上述技术方案,本发明具有如下的优点:本发明电能表及方法改变传统的uart口和通信接收口一对一的方法,采用双uart口并行解析单个通信接收口数据的方法,不但无需设置即可兼容645和698两种协议,而且完全解耦了两种协议的波特率,解决了混乱问题。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。

附图说明

本发明的附图说明如下:

图1为本发明的电能表框图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

电能表通信接口包括rs485接口、载波模块接口和无线模块通信接口。存在通信接口协议由645旧协议过渡到698新协议不能兼容的问题。

645要求通信口波特率为2400bps,而698要求9600bps。用来采集电能表数据的采集系统也按新旧协议分为两种波特率。645协议的采集系统不能采集9600bps的电能表,698协议的采集系统不能采集2400bps的电能表。电能表在出厂时,因为不能确定其将安装的采集系统而不能确定波特率。

因此本发明提出一种兼容645和698通信协议的电能表,如图1所示,该电能表包含通信接收口,第一uart接收器和第二uart接收器,协议处理单元,通信发送单元;

所述第一uart接收器和第二uart接收器的接收脚并联之后连接至所述通信接收口,所述第一uart接收器和第二uart接收器的输出端分别连接至协议处理单元;

所述第一uart接收器和第二uart接收器分别用于正确接收不同协议的通信数据;

所述协议处理单元用于处理所述第一uart接收器或第二uart接收器传来的通信数据,并将所述通信数据通过所述通信发送单元输出通信数据。

可选的,所述协议处理单元包含第一协议接收解析单元,第二协议接收解析单元,第一数据处理单元,第二数据处理单元,第一协议组帧单元,第二协议组帧单元;

所述第一协议接收解析单元、第一数据处理单元、第一协议组帧单元依次连接;

所述第二协议接收解析单元、第二数据处理单元、第二协议组帧单元依次连接;

所述第一uart接收器的输出端连接至所述第一协议接收解析单元;

所述第二uart接收器的输出端连接至所述第二协议接收解析单元。

可选的,所述通信发送单元包含第一uart发送器和通信发送口;

所述第一协议发送单元和第二协议发送单元的输出端均连接至所述第一uart发送器的输入端,所述第一uart发送器的输出端连接至所述通信发送口;

所述通信发送口用于输出通信数据。

可选的,所述电能表还包含,第一uart波特率发生器和第二uart波特率发生器;

所述第一uart波特率发生器用于为所述第一uart接收器产生第一波特率,以及为所述第一uart发送器产生第一波特率或第二波特率;

所述第二uart波特率发生器用于为所述第二uart接收器产生第二波特率。

本发明第二实施例在前述实施例的基础上提出一种兼容645和698通信协议的通信方法,该方法包含:

通过通信接收口接收通信协议帧;

分别通过第一uart接收器和第二uart接收器判断接收到的通信协议帧是否正确;

通过正确接收到所述通信协议帧的uart接收器将帧数据输出到对应的协议处理单元处理之后将帧数据通过通信发送单元输出。

可选的,所述通过第一uart接收器和第二uart接收器判断接收到的通信协议帧是否正确,包含如下步骤:

若任一uart接收器所接收到的通信协议帧出现字节接收错误,则该uart接收器接收数据流程结束,通过另一uart接收器接收到的通信协议帧输出给协议处理单元,以及;

在任一uart接收器所接收到的通信协议帧均未出现字节接收错误的情况下,第一uart接收器和第二uart接收器将接收到的通信协议帧输出给协议处理单元,若协议处理单元解析任一uart接收器传来的通信协议帧出现解析错误,则该uart接收器的接收数据流程结束,协议处理单元对另一uart接收器传来的通信协议帧进行处理。

可选的,所述通过正确接收到所述通信协议帧的uart接收器将帧数据输出到对应的协议处理单元处理,包含如下步骤:

通过协议接收解析单元对通信协议帧进行解析;

通过数据处理单元根据解析之后的通信协议帧进行处理获得回应数据;

通过协议组帧单元将回应数据进行组帧后通过通信发送单元输出。

可选的,所述通过通信发送单元输出,包含如下步骤:

判断组帧后的数据的波特率;

若组帧后的数据的波特率为第一波特率则直接组帧后的数据通过第一uart发送器发送到通信发送口,结束本次通信;

若组帧后的数据的波特率为第二波特率,则通过第一uart波特率发生器将第一uart发送器的波特率设置为第二波特率,将组帧后的数据通过第一uart发送器发送到通信发送口;

待数据发送完后,通过第一uart波特率发生器将第一uart发送器的波特率设置回第一波特率,结束本次通信。

可选的,所述第一波特率为9600bps,所述第二波特率为2400bps。

本发明第三实施例提出利用本发明电能表及方法进行通信的具体流程:

将单片机uart1接收脚和uart2接收脚并起来作为通信接收口,该通信接收口连接rs485接收口。单片机的uart1的发送脚直接连接rs485发送口,uart2发送脚与本设计无关,可以用于其他功能。若上述rs485通信口为载波或无线模块通信口时,则通信接收口和发送口连接对应模块的接收和发送口。

当通信接收口接收到2400bps的645协议帧时通信过程如下:

1、uart1和uart2接收脚同时收到位流,送入单片机内部对应的uart接收器。uart2接收器收到正确的字节数据。而uart1为9600波特率,所以大概率出现字节接收错误而未能收到字节数据。

2、若uart1接收器在上一步偶然出现2400波特率的字节码对于9600波特率来说也是正确的,则将该字节数据交由698协议接收帧解析软件进行解析,此时必然出现帧错误,698接收数据流结束;

3、步骤1中,uart2接收器收到的字节数据交由645协议接收帧解析软件进行解析,接收完一帧数据后,将数据帧输入到645数据处理单元进行处理;

4、645数据处理单元根据接收的请求帧输出回应数据,将回应数据输入到645协议发送组帧软件进行处理;

5、645协议发送组帧软件对数据进行组帧后,设置uart1波特率为2400,将帧数据通过uart1发送器发送到通信发送口;

6、帧数据发送完后将uart1波特率发送器设回9600bps后,完成本次通信。

当通信接收口接收到9600bps的698协议帧时通信过程如下:

1、uart1和uart2接收脚同时收到位流,送入单片机内部对应的uart接收器。uart1接收器收到正确的字节数据。而uart2为2400波特率,所以大概率出现字节接收错误而未能收到字节数据。

2、若uart2接收器在上一步偶然出现9600波特率的字节码对于2400波特率来说也是正确的,则将该字节数据交由645协议接收帧解析软件进行解析,此时必然出现帧错误,645接收数据流结束;

3、步骤1中,uart1接收器收到的字节数据交由698协议接收帧解析软件进行解析,并将数据帧输入到698数据处理单元进行处理;

4、698数据处理单元根据接收的请求帧输出回应数据,将回应数据输入到698协议发送组帧软件进行处理;

5、698协议发送组帧软件对数据进行组帧后,将帧数据通过uart1发送器发送到通信发送口后,完成本次通信。

采用本方案的电能表可以无缝的接入新旧两种采集系统以及现有管理系统。不需要修改现有的系统,在旧采集系统看来就是原来的645旧协议的表,在新采集系统看来就是698新协议的表。节省了现有系统改造成本,避免了管理混乱。同时也解决了测试过程中双协议波特率混乱问题,修改698波特率完全不影响645,反之亦然。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1