一种编码方法、解码方法及装置、计算机可读存储介质与流程

文档序号:16886484发布日期:2019-02-15 22:41阅读:220来源:国知局
一种编码方法、解码方法及装置、计算机可读存储介质与流程

本发明涉及但不限于信号编解码技术领域,尤其涉及一种编码方法、解码方法及装置、计算机可读存储介质。



背景技术:

程序总线网络分布式外部设备(processfieldbusdecentralizedperiphery,profibus-dp)和莫迪康总线远程终端设备(modiconbusremotetransmissionunit,modbusrtu)协议是工业通讯中大规模应用的两种传输协议,它们的物理层编码均采用通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)格式,传输速率一般低于10兆位/秒(mbps)。当通讯距离在5公里以上时,由于电信号自身的局限性,一般需要采用单模光纤来传输;但是,由于单模光纤收发器的最低传输速率一般在20mbps以上且传输的信号中0和1的个数要均衡,单模光纤不能够直接传输上述uart格式的物理信号。

为了解决这个问题,业界一般采用以下两种措施:第一,物理层编码不再采用uart格式,采用8比特/10比特(8b/10b)编码保证0和1的均衡,将传输速率提高到100mbps来传输,典型方案是采用光纤以太网进行传输,此方案的缺点是数据的接收和发送不能按照字节进行,而是按照整帧来传输,数据的传输延时较大;第二,提高传输速率的同时将每个字节重复传输多次,从而实现低速率电信号和高速率光信号的匹配,该方案可以实现按照字节来传输,缺点是发送接收电路逻辑复杂,此外,由于uart编码的0和1并不均衡,该方案传输的信号中0和1的均衡性较差。



技术实现要素:

本发明实施例提供了一种编码方法、解码方法及装置、计算机可读存储介质,能够减少数据的传输延时并简化发送接收电路的复杂度。

为了达到本发明目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种编码方法,包括:

对待发送的二进制数据序列按如下规则进行编码:

将紧随下降沿之后的第一位二进制数据编码为第一信号或第一组合信号,所述第一组合信号包括第一信号与基础载波信号;

将紧随上升沿之后的第一位二进制数据编码为第二信号或第二组合信号,所述第二组合信号包括所述第二信号与所述基础载波信号;

将除所述紧随下降沿或上升沿之后的第一位二进制数据之外的二进制数据,编码为所述基础载波信号,所述第一信号、所述第二信号与所述基础载波信号存在以下至少之一的区别:时域波形、频率周期。

在一实施例中,所述第一信号为连续低电平信号,所述第二信号为连续高电平信号;或者,

所述第一信号为连续高电平信号,所述第二信号为连续低电平信号。

在一实施例中,当所述待发送的二进制数据序列的发送速率为b兆位/秒时,所述基础载波信号的载波频率为n*b兆赫兹,其中,b为大于0的实数,n为大于或等于2的实数,*为乘号;

所述第一信号的时域长度为n1个周期的基础载波信号的时域长度,所述第二信号的时域长度为n2个周期的基础载波信号的时域长度,其中,n1、n2均为1至n之间的实数。

在一实施例中,所述待发送的二进制数据序列为异步收发传输器uart信号。

在一实施例中,所述基础载波信号为方波信号或正弦波信号。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的编码方法的步骤。

本发明实施例还提供了一种编码装置,包括处理器及存储器,其中:

所述处理器用于执行存储器中存储的编码程序,以实现如以上任一项所述的编码方法的步骤。

本发明实施例还提供了一种解码方法,包括:

对接收信号按如下规则进行解码:

如果当前的接收信号中包括第一信号,将所述当前的接收信号解码为二进制数据0;

如果当前的接收信号中包括第二信号,将所述当前的接收信号解码为二进制数据1;

如果当前的接收信号中只包括除所述第一信号及所述第二信号之外的基础载波信号,将所述当前的接收信号解码为与所述当前的接收信号的前一位接收信号相同的二进制数据,所述第一信号、所述第二信号与所述基础载波信号存在以下至少之一的区别:时域波形、频率周期。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的解码方法的步骤。

本发明实施例还提供了一种解码装置,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的解码程序,以实现如上所述的解码方法的步骤。

本发明实施例的技术方案,具有如下有益效果:

本发明实施例提供的编码方法、解码方法及装置、计算机可读存储介质,通过对待发送的数据逐位地进行编码,数据的接收和发送按位进行,大大减少了数据的传输延时,同时,本申请的编解码逻辑简单,大大简化了发送接收电路的复杂度,降低了系统的成本,提高了系统的可靠性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例的一种编码方法的流程示意图;

图2为本发明实施例的一种原始信号(uart信号)和编码后信号的结构示意图;

图3为本发明实施例的一种编码装置的结构示意图;

图4为本发明实施例的一种解码方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

如图1所示,根据本发明实施例的一种编码方法,包括:

步骤101:对待发送的二进制数据序列按如下规则进行编码:

1a:将紧随下降沿之后的第一位二进制数据编码为第一信号或第一组合信号,所述第一组合信号包括第一信号与基础载波信号;

1b:将紧随上升沿之后的第一位二进制数据编码为第二信号或第二组合信号,所述第二组合信号包括所述第二信号与所述基础载波信号;

1c:将除所述紧随下降沿或上升沿之后的第一位二进制数据之外的二进制数据,编码为所述基础载波信号,所述第一信号、所述第二信号与所述基础载波信号存在以下至少之一的区别:时域波形、频率周期。

在本发明的一实施例中,所述第一信号为连续低电平信号,所述第二信号为连续高电平信号;或者,

所述第一信号为连续高电平信号,所述第二信号为连续低电平信号。

需要说明的是,所述第一信号可以为连续低电平信号或连续高电平信号,也可以为其它任意的与第二信号及基础载波信号存在以下至少之一的区别的信号:时域波形、频率周期;同理,所述第二信号可以为连续高电平信号或连续低电平信号,也可以为其它任意的与第一信号及基础载波信号存在以下至少之一的区别的信号:时域波形、频率周期。

在本发明的一实施例中,当所述待发送的二进制数据序列的发送速率为bmbps时,所述基础载波信号的载波频率为n*b兆赫兹(mhz),其中,b为大于0的实数,n为大于或等于2的实数,*为乘号;

所述第一信号的时域长度为n1个周期的基础载波信号的时域长度,所述第二信号的时域长度为n2个周期的基础载波信号的时域长度,其中,n1、n2均为1至n之间的实数。

在本发明的一实施例中,所述待发送的二进制数据序列为uart信号。

在本发明的一实施例中,所述基础载波信号为方波信号或正弦波信号。

如图2所示,根据本发明实施例的编码方法对uart信号进行编码,其中,当uart信号的波特率为6mbps(本编码方案适用于0~12mbps的uart信号,此处6mbps是一个典型值)时,假设该编码方案中引入的基础载波的载波频率为48mhz(基础载波频率可以为20~200mhz,此处的48mhz是技术上容易实现的一个典型值),在下降沿之后的第一位二进制数据0被编码为连续低电平信号(持续时间52ns,即2.5个周期(持续时间可以是1~5个周期,此处2.5周期是实验验证的最优值)的基础载波信号的时域长度)与基础载波信号(时域长度为5.5个周期)的组合,在上升沿之后的第一位二进制数据1被编码为连续高电平信号(持续时间52ns,即2.5个周期(持续时间可以是1~5个周期,此处2.5周期是实验验证的最优值)的基础载波信号的时域长度)与基础载波信号(时域长度为5.5个周期)的组合,其它的二进制数据0或1被编码为基础载波信号(时域长度为8个周期)。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的编码方法的步骤。

如图3所示,本发明实施例还提供了一种编码装置,包括处理器301及存储器302,其中:

所述处理器301用于执行存储器302中存储的编码程序,以实现如以上任一项所述的编码方法的步骤。

如图4所示,根据本发明实施例的一种解码方法,包括:

步骤401:对接收信号按如下规则进行解码:

4a:如果当前的接收信号中包括第一信号,将所述当前的接收信号解码为二进制数据0;

4b:如果当前的接收信号中包括第二信号,将所述当前的接收信号解码为二进制数据1;

4c:如果当前的接收信号中只包括除第一信号及第二信号之外的基础载波信号,将当前的接收信号解码为与所述当前的接收信号的前一位接收信号相同的二进制数据,所述第一信号、所述第二信号与所述基础载波信号存在以下至少之一的区别:时域波形、频率周期。

在本发明的一实施例中,所述第一信号为连续低电平信号,所述第二信号为连续高电平信号;或者,

所述第一信号为连续高电平信号,所述第二信号为连续低电平信号。

在本发明的一实施例中,当所述接收信号的发送速率为bmbps时,所述基础载波信号的载波频率为n*bmhz,其中,b为大于0的实数,n为大于或等于2的实数,*为乘号;

所述第一信号的时域长度为n1个周期的基础载波信号的时域长度,所述第二信号的时域长度为n2个周期的基础载波信号的时域长度,其中,n1、n2均为1至n之间的实数。

在本发明的一实施例中,所述解码后的二进制数据序列为uart信号。

在本发明的一实施例中,所述基础载波信号为方波信号或正弦波信号。

如图2所示,当使用本发明实施例的解码方法对接收到的编码后信号进行解码时,如果检测到当前的接收信号中包括连续低电平信号,将当前的接收信号解码为二进制数据0;如果检测到当前的接收信号中包括连续高电平信号,将当前的接收信号解码为二进制数据1;如果当前的接收信号中未检测到跳变,则将当前的接收信号解码为与前一位接收信号相同的二进制数据,该解码方案可以大大简化接收逻辑,减少接收电路的复杂度,降低成本的同时做到更高的可靠性。

本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的解码方法的步骤。

本发明实施例还提供了一种解码装置,其特征在于,包括处理器及存储器,其中:

所述处理器用于执行存储器中存储的解码程序,以实现如以上任一项所述的解码方法的步骤。

本发明实施例提供的编码方法、解码方法及装置、计算机可读存储介质,其优点包括:

1、编解码逻辑简单,大大简化了发送接收电路的复杂度,降低了系统的成本,同时做到更高的可靠性;

2、信号按位进行编解码,传输延时很低,尤其在有多级中间传输(如hub)的应用场合下,可以明显提高系统的响应时间,本申请可以做到1位以内的传输延时,这是其他编码方式(最低按照字节转发)不具备的。

3、uart编码方式的下降沿和上升沿是相等的,因此编码后的信号中0和1的数量也是均衡的,与单模光纤收发器的特性相匹配。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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