一种波特率的自适应方法及装置与流程

文档序号:11276248阅读:425来源:国知局
一种波特率的自适应方法及装置与流程

本发明涉及网络通信技术领域,尤其涉及一种波特率的自适应方法及装置。



背景技术:

串口通信技术中,通信设备双方需配置相同的波特率,以确保双方实现正常通信。

现有技术中,通常需要在本端多次尝试配置常用的波特率,以达到验证对端波特率的目的,该种对常用波特率进行穷举试错的方法,耗时长,效率低。



技术实现要素:

有鉴于此,本发明提供一种波特率的自适应方法及装置,以解决通信本端无法自适应通信对端波特率,波特率配置过程耗时长,效率低的问题。

为实现上述目的,本发明提供技术方案如下:

根据本发明的第一方面,提出了一种波特率的自适应方法,所述方法包括:

统计来自通信对端的数据对应的第一比特位数;

当所述第一比特位数为预设比特位数时,确定以第一波特率接收到的第二比特位数,所述预设比特位数为一个字节长度的整数倍;

基于所述第一比特位数、所述第二比特位数以及所述第一波特率确定所述通信对端的第二波特率;

将所述第一波特率调整为所述第二波特率。

根据本发明的第二方面,提出了一种波特率的自适应装置,包括:

位数统计模块,用于统计来自通信对端的数据对应的第一比特位数;

第一确定模块,用于当所述第一比特位数为预设比特位数时,确定以第一波特率接收到的第二比特位数,所述预设比特位数为一个字节长度的整数倍;

第二确定模块,用于基于所述第一比特位数、所述第二比特位数以及所述第一波特率确定所述通信对端的第二波特率;

波特率调整模块,用于将所述第一波特率调整为所述第二波特率。

由以上技术方案可见,通信本端统计来自通信对端的数据对应的第一比特位数,当第一比特位数为预设比特位数时,通信本端确定以第一波特率接收到的第二比特位数,通信本端基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率,通信本端将第一波特率调整为第二波特率,可以实现通信本端针对通信对端的波特率的自适应,缩短了波特率配置过程耗时,提高了配置效率。

附图说明

图1是本发明提供的一个波特率的自适应方法的实施例流程图;

图2a是本发明提供的另一个波特率的自适应方法的实施例流程图;

图2b是2a所示实施例中数据波形的示意图;

图3是本发明提供的再一个波特率的自适应方法的实施例流程图;

图4是本发明提供的一种通信设备的硬件结构图;

图5是本发明提供的一个波特率的自适应装置的实施例框图;

图6是本发明提供的另一个波特率的自适应装置的实施例框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1是本发明提供的一个波特率的自适应方法的实施例流程图,该波特率的自适应方法可以应用在通信设备中,例如,服务器、传真机、摄像机、投影仪等,如图1所示,该波特率的自适应方法包括以下步骤101-104:

步骤101:统计来自通信对端的数据对应的第一比特位数。

步骤102:当第一比特位数为预设比特位数时,确定以第一波特率接收到的第二比特位数,预设比特位数为一个字节长度的整数倍。

步骤103:基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率。

步骤104:将第一波特率调整为第二波特率。

在步骤101中,在一实施例中,通信本端统计来自通信对端的数据对应的第一比特位数,具体的,通信本端如何统计来自通信对端的数据对应的第一比特位数的,可参考下述图2a中的步骤201-步骤202的相关内容,此处先不作详述。

在步骤102中,在一实施例中,预设比特位数为通信本端预设的,预设比特位数为一个字节长度的整数倍。第二比特位数为通信本端以第一波特率接收通信对端的数据对应的比特位数。第一波特率为通信本端预设的波特率。波特率的定义为通信本端每秒钟传输的数据位数。需要说明的是,由于早期波特率发生器均使用51单片机的定时器,所以常用的波特率均能被51单片器定时器晶振频率11.0592mhz(即11059200bd)整除。因此,第一波特率被设置为rs232通信协议中规定的最大波特率,第一波特率为rs232通信协议中规定的任一波特率的整数倍。具体的,rs232协议中规定的常用波特率包括以下几种:50bd、75bd、100bd、150bd、300bd、600bd、1200bd、2400bd、4800bd、9600bd、19200bd、38400bd、57600bd、115200bd。将第一波特率设置为rs232通信协议中规定的最大波特率115200bd,可以确保通信本端完全接收到通信对端发送的数据。

在步骤103中,在一实施例中,通信本端基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率。具体的,通信本端如何基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率的,可参考下述图3中的步骤301-步骤302,此处先不作详述。

在步骤104中,在一实施例中,通信本端将第一波特率调整为第二波特率。第二波特率为通信对端的波特率,即实现了通信本端针对通信对端波特率的自适应。

本发明实施例中,通信本端统计来自通信对端的数据对应的第一比特位数,当第一比特位数为预设比特位数时,通信本端确定以第一波特率接收到的第二比特位数,通信本端基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率,通信本端将第一波特率调整为第二波特率,实现了通信本端针对通信对端的波特率的自适应,缩短了波特率配置过程耗时,提高了配置效率。

图2a是本发明提供的另一个波特率的自适应方法的实施例流程图;图2b是2a所示实施例中数据波形的示意图,本发明实施例结合图1,以如何统计来自通信对端的数据对应的第一比特位数进行示例性说明,如图2a所示,包括如下步骤:

步骤201:获取来自通信对端的数据对应的数据波形。

步骤202:统计数据波形的高低电平的个数,将统计得到的高低电平的个数确定为第一比特位数。

在步骤201中,结合图2b,通信本端获取来自通信对端的数据对应的数据波形,如图2b中的波形21。

在步骤202中,通信本端统计数据波形的高低电平的个数,将统计得到的高低电平的个数确定为第一比特位数。结合步骤201,波形21对应的数据为10101010(此处数据为二进制数据,以下数据均以二进制数据进行示例性说明),高低电平的个数为8,通信本端确定第一比特位数为8bit。以一个字节为8bit为例,通常通信本端获取到的第一比特位数为预设比特位数时,通信本端暂停接收数据,预设比特位数为一个字节长度的整数倍,即第一比特位数为一个字节长度的整数倍。本领域技术人员可以理解的是,此处如何确定一个字节的开始及结束位置的具体描述可参考现有技术的相关内容,此处不做详述。需要说明的是,上述图1中的步骤102中“以第一波特率接收到的第二比特位数”也是基于该数据波形确定的,以第一波特率为115200bd,第二波特率为57600bd为例,由于通信对端以第二波特率57600bd将数据以波形21发送至通信本端,通信本端的第一波特率115200bd为通信对端第二波特率57600bd的2倍,即通信本端针对波形21接收数据的波特率为通信对端的2倍,因此通信本端基于波形21接收到的第二比特位数的数据为1100110011001100。由此可推知,若通信本端针对波形21接收数据的波特率为通信对端的3倍,则通信本端基于波形21接收到的第二比特位数的数据为111000111000111000111000。因此相同高低电平个数的波形,由于通信对端设置的波特率不同,高低电平的宽度不同,继而通信本端的第一波特率针对不同宽度的高低电平接收到的数据对应的第二比特位数不同。

需要说明的是,上述图2b中的波形21仅为示例性说明,数据波形的具体形状并不能形成对本发明中“数据波形”的限制。例如,以数据波形对应二进制数据“10100110”为例,若通信本端针对数据波形接收数据的波特率为通信对端的2倍时,通信本端接收到的第二比特位数的数据为“1100110000111100”;若通信本端针对数据波形接收数据的波特率为通信对端的3倍时,通信本端基于接收到的第二比特位数的数据为“111000111000000111111000”。

本发明实施例中,对通信本端获取来自通信对端的数据对应的数据波形,通信本端统计数据波形的高低电平的个数,将统计得到的高低电平的个数确定为第一比特位数,使得通信本端可以基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率,实现了通信本端针对通信对端的波特率的自适应,缩短了波特率配置过程耗时,提高了配置效率。

图3是本发明提供的再一个波特率的自适应方法的实施例流程图,结合图1,以通信本端如何基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率的,以及通信本端如何处理第二比特位数对应的数据的进行示例性说明,如图3所示,包括如下步骤:

步骤301:基于第一比特位数、第二比特位数确定第一波特率与通信对端的第二波特率之间的比例关系。

步骤302:基于比例关系、第一波特率确定第二波特率。

步骤303:基于比例关系,将第二比特位数对应的数据进行还原,得到第二波特率对应的第三比特位数的数据。

步骤304:存储第三比特位数对应的数据。

步骤305:以第二波特率继续接收数据。

在步骤301中,波特率为通信本端每秒钟传输的数据位数,因此通信设备之间的传输时间是相同的,第一波特率/第二比特位数=第二波特率/第一比特位数,第一波特率与通信对端的第二波特率之间的比例关系即为:第一波特率/第二波特率=第二比特位数/第一比特位数。

在步骤302中,通信本端基于比例关系、第一波特率,确定第二波特率=第一比特位数*(第一波特率/第二比特位数)。具体的,以第一波特率为115200bd、第一比特位数为8bit、第二比特位数为16bit为例,通过公式:第二波特率=第一比特位数*(第一波特率/第二比特位数),第二波特率=115200*(8/16),即第二波特率为57600bd。

步骤303中,在一实施例中,由于通信本端通过第一波特率接收通信对端的数据,因此通信本端需要将第二比特位数对应的数据进行还原。结合步骤302,第二比特位数/第一比特位数的比例关系为2,以第一比特位数8bit对应的数据为10101010为例,第二比特位数对应的数据由于对应的第一波特率与第二波特率呈2倍关系,因此第二比特位数16bit对应的数据为1100110011001100,通信本端基于比例关系2,将第二比特位数16bit对应的数据1100110011001100每两位进行合并还原,得到第二波特率57600bd对应的第三比特位数8bit的数据10101010。

在步骤304中,通信本端存储第三比特位数8bit对应的数据10101010。

在步骤305中,通信本端以第二波特率57600bd从数据10101010之后开始继续接收剩余的数据。

本发明实施例中,通信本端基于第一比特位数、第二比特位数确定第一波特率与通信对端的第二波特率之间的比例关系,通信本端基于比例关系、第一波特率确定第二波特率。基于该比例关系,通信本端将第二比特位数对应的数据进行还原,得到第二波特率对应的第三比特位数的数据并存储第三比特位数对应的数据,通信本端以第二波特率继续接收数据,可以实现通信本端针对通信对端的波特率的自适应,缩短了波特率配置过程耗时,提高了配置效率,且通过对第二比特位数对应的数据进行还原,可以确保通信设备之间数据传输的完整性,且无需重新接收数据,节省传输时间。

对应于上述波特率的自适应方法,本发明还提出了图4所示的通信设备的硬件结构图。请参考图4,在硬件层面,该通信设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成波特率的自适应装置。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

图5是本发明提供的一个波特率的自适应装置的实施例框图,如图5所示,该波特率的自适应装置可以包括:位数统计模块51、第一确定模块52、第二确定模块53、波特率调整模块54,其中:

位数统计模块51,用于统计来自通信对端的数据对应的第一比特位数;

第一确定模块52,用于当第一比特位数为预设比特位数时,确定以第一波特率接收到的第二比特位数,预设比特位数为一个字节长度的整数倍,第一波特率被设置为rs232通信协议中规定的最大波特率,第一波特率为rs232通信协议中规定的任一波特率的整数倍;

第二确定模块53,用于基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率;

波特率调整模块54,用于将第一波特率调整为第二波特率。

图6是本发明提供的另一个波特率的自适应装置的实施例框图,如图6所示,在上述图5所示实施例的基础上,位数统计模块51包括:

波形获取子模块511,用于获取来自通信对端的数据对应的数据波形;

第三确定子模块512,用于统计所述数据波形的高低电平的个数,将统计得到的所述高低电平的个数确定为第一比特位数。

在一实施例中,第二确定模块53包括:

第一确定子模块531,用于基于第一比特位数、第二比特位数确定第一波特率与通信对端的第二波特率之间的比例关系;

第二确定子模块532,用于基于比例关系、第一波特率确定第二波特率。

在一实施例中,波特率的自适应装置还包括:

数据还原模块55,用于基于比例关系,将第二比特位数对应的数据进行还原,得到第二波特率对应的第三比特位数的数据;

数据存储模块56,用于存储第三比特位数对应的数据;

数据接收模块57,用于以第二波特率继续接收数据。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,通信本端统计来自通信对端的数据对应的第一比特位数,当第一比特位数为预设比特位数时,通信本端确定以第一波特率接收到的第二比特位数,通信本端基于第一比特位数、第二比特位数以及第一波特率确定通信对端的第二波特率,通信本端将第一波特率调整为第二波特率,可以实现通信本端针对通信对端的波特率的自适应,缩短了波特率配置过程耗时,提高了配置效率。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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