CN104158538A - 波特率生成方法、波特率发生器及通信设备 - Google Patents

波特率生成方法、波特率发生器及通信设备 Download PDF

Info

Publication number
CN104158538A
CN104158538A CN201410418225.9A CN201410418225A CN104158538A CN 104158538 A CN104158538 A CN 104158538A CN 201410418225 A CN201410418225 A CN 201410418225A CN 104158538 A CN104158538 A CN 104158538A
Authority
CN
China
Prior art keywords
baud rate
counter
initial value
div
etu
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.)
Granted
Application number
CN201410418225.9A
Other languages
English (en)
Other versions
CN104158538B (zh
Inventor
黎永健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd filed Critical SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd
Priority to CN201410418225.9A priority Critical patent/CN104158538B/zh
Publication of CN104158538A publication Critical patent/CN104158538A/zh
Application granted granted Critical
Publication of CN104158538B publication Critical patent/CN104158538B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种波特率发生器,应用于通信设备,包括:与所述通信设备的系统内部时钟相连接,用于产生一个通信比特的持续时间的波特率计数器;在波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号的波特率时钟信号生成模块;在波特率计数器的计数结果达到预设阈值时,进行计数累加的ETU计数器;依据ETU计数器的计数结果对波特率计数器加载初值的初值加载模块,其中,初值为0或1。本申请实施例提供的波特率发生器,通过对波特率计数器设置不同的初值实现小数分频,缩小了通信双方的波特率误差,满足更高的通信速率需求。本申请实施例还提供一种波特率生成方法及通信设备。

Description

波特率生成方法、波特率发生器及通信设备
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种波特率生成方法、波特率发生器及通信设备。
背景技术
波特率(Baud rate)即调制速率,指信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。波特率发生器的作用是从芯片系统时钟产生需要的波特率。一般地,波特率时钟频率/波特率因子=波特率,例如,传统的波特率生成方法用公式可以表示为:
BaudRate=Fsys/(Div*16)   (1)
其中,BaudRate为波特率,Fsys为芯片内部的时钟的频率,Div为用于产生波特率的分频因子寄存器的值。
从公式(1)可以看出,传统的波特率生成方法是基于16的整数倍分频(即只能是16分频、32分频、64分频、……、n*16分频)生成波特率,因此,传统的波特率生成方法生成的波特率精度较低,当目标波特率不为Fsys的16的整数倍分频时,通信双方的波特率之间易存在较大偏差,导致不能正常通信,基于此有人提出一种改进的方法,具体改进后的方法用于公式可以表示如下:
BaudRate=Fsys/(Div*16+BFINE)   (2)
其中,BaudRate为波特率,Fsys为芯片内部的时钟的频率,Div为用于产生波特率的分频寄存器的值;BFINE为微调数据寄存器值,BFINE的取值为介于0~15之间的整数值。
但是,发明人在实现本发明的过程中发现,上述改进后的方法虽然对波特率进行了微调,使得波特率不仅仅局限于16的整数倍分频,但是,其仍然只能通过整数分频生成波特率,因此,改进后的方法生成的波特率的精度仍然较低,当目标波特率不为Fsys的整数倍分频(即波特率的倒数不是芯片内部的时钟的时钟周期的整数倍)时,通信双方的波特率之间仍然会出现偏差。在目标波特率较低时,这种偏差不大;而当目标波特率较高时,通信双方的波特率之间的偏差仍会比较大,严重的还将导致无法正常通信。
发明内容
本发明的目的是提供一种波特率生成方法、波特率发生器及通信设备,以提高波特率精度,使得目标波特率不为Fsys的整数倍分频时,波特率也可以满足通信需求。
为实现上述目的,本发明提供了如下技术方案:
一种波特率发生器,应用于通信设备,所述波特率发生器包括:波特率计数器,ETU计数器,波特率时钟信号生成模块和初值加载模块;其中,
所述波特率计数器与所通信设备的系统内部时钟相连接,用于产生一个通信比特的持续时间;
所述波特率时钟信号生成模块用于在所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;
所述ETU计数器用于在所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;
所述初值加载模块用于依据所述ETU计数器的计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
上述波特率发生器,优选的,波特率的计算公式为:
BaudRate=Fsys/(Div_base+Div_numt/n)
其中,BaudRate为波特率;Fsys为所述通信设备的系统内部时钟的频率;Div_base为所述预设阈值;Div_numt/n为小数因子,8≤n≤L,L为一帧数据的长度;0≤Div_numt<n。
上述波特率发生器,优选的,所述初值加载模块包括:
映射单元,用于依据预设的映射关系,由所述小数因子的分子映射得到一个n位的二进制数;
确定单元,用于确定所述二进制数中,与所述ETU计数器的计数结果相对应的比特位的取值;
加载单元,用于在所述确定单元确定与所述ETU计数器的计数结果相对应的比特位的取值为1时,对所述波特率计数器加载初值0;否则,所述波特率计数器加载初值1。
上述波特率发生器,优选的,所述确定单元包括:
第一确定子单元,用于当所述ETU计数器的计数结果m所确定的数量小于或等于n时,确定所述二进制数中第m个比特位为与所述ETU计数器的计数结果相对应的比特位;
第二确定子单元,用于当所述ETU计数器的计数结果m所确定的数量大于n时,确定所述二进制数中第a个比特位为与所述ETU计数器的计数结果相对应的比特位;其中,a为所述计数结果m的个位数的取值。
一种通信设备,包括如上任意一项所述的波特率发生器。
一种波特率生成方法,应用于通信设备,所述方法包括:
通过波特率计数器产生一个通信比特的持续时间;
当所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;
当所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;
依据计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
上述方法,优选的,波特率的计算公式为:
BaudRate=Fsys/(Div_base+Div_numt/n)
其中,BaudRate为波特率;Fsys为所述通信设备的系统内部时钟的频率;Div_base为所述预设阈值;Div_numt/n为小数因子,8≤n≤L,L为一帧数据的长度;0≤Div_numt<n。
上述方法,优选的,所述依据所述计数累加结果对所述波特率计数器加载初值包括:
依据预设的映射关系,由所述小数因子的分子映射得到一个n位的二进制数;
确定所述二进制数中,与所述计数累加结果相对应的比特位的取值;
如果确定与所述计数累加结果相对应的比特位的取值为1,则对所述波特率计数器加载初值0;否则,对所述波特率计数器加载初值1。
上述方法,优选的,与所述计数累加结果相对应的比特位的确定步骤包括:
当计数累加结果m所确定的数量小于或等于n时,确定所述二进制数中第m个比特位为与所述计数累加结果相对应的比特位;
当所述计数累加结果m所确定的数量大于n时,确定所述二进制数中第a个比特位为与所述计数累加结果相对应的比特位;其中,a为所述计数累加结果m的个位数。
通过以上方案可知,本申请提供的一种波特率生成方法、波特率发生器及通信设备,通过波特率计数器产生一个通信比特的持续时长;当所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;当所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;依据所述计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
综上,本申请实施例提供的波特率生成方法、波特率发生器及通信设备,通过对波特率计数器设置不同的初值实现小数分频,提高了波特率精度,缩小了通信双方的波特率误差,使得目标波特率不为Fsys的整数倍分频时,波特率发生器生成的波特率也可以满足通信需求,可以满足更高的通信速率需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的波特率发生器的一种结构示意图;
图2为本申请实施例提供的初值加载模块的一种结构示意图;
图3为本申请实施例提供的波特率生成方法的一种实现流程图;
图4为本申请实施例提供的依据所述计数累加结果对波特率计数器加载初值的一种实现流程图;
图5为本申请实施例提供的波特率生成方法的另一种实现流程图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供的波特率发生器、波特率生成方法应用通信设备中。
请参阅图1,图1为本申请实施例提供的波特率发生器的一种结构示意图,可以包括:
波特率计数器11,ETU计数器12,波特率时钟信号生成模块13和初值加载模块14;其中,
波特率计数器11与通信设备的系统内部时钟相连接,用于产生一个通信比特的持续时间;
波特率是对符号传输速率的一种度量,即每秒钟传送的二进制位数,因此,波特率的倒数为传输1比特符号所需持续的时间,即一个通信比特的持续时间。
本申请实施例中,波特率计数器11可以将系统内部时钟作为时钟源进行计时,以产生一个通信比特的持续时间。
波特率时钟信号生成模块13用于在所述波特率计数器11的计数结果达到预设阈值时,生成波特率时钟信号。
其中,所述预设阈值依据目标波特率确定。本申请实施例中,目标波特率即为进行通信所需的波特率。
具体的,预设阈值为目标波特率的倒数,即一个通信比特的目标持续时间;也就是说,波特率时钟信号生成模块13用于在波特率计数器11的计数结果达到一个通信比特的目标持续时间时,生成波特率时钟信号。
ETU计数器12用于在所述波特率计数器11的计数结果达到所述预设阈值时,进行计数累加;
ETU计数器12进行计数累加时的累加值为1,即当波特率计数器11的计数结果达到所述预设阈值时,ETU计数器12的计数值加1。
波特率的倒数为1bit符号的持续时间,此持续时间用1个ETU来表示。因此,本申请实施例中,ETU计数器12也可以说是对ETU进行计数。
所述初值加载模块14用于依据所述ETU计数器12的计数结果对所述波特率计数器11加载初值,所述初值为0或1。
在生成波特率时钟信号后,需要对波特率计数器11重置初值,以便判断下一个波特率时钟信号的生成时刻。
本申请实施例中,波特率计数器11的初值不是固定的值,而是根据ETU计数器12的计数结果选择相应的初值。
下面以ETU计数器12的计数值为10为例说明本方案如何实现小数分频。
本例中,当ETU计数器12的计数值为10时,说明接收到10bit的数据,也即ETU的个数为10,或者说,波特率计数器11产生一个通信比特的持续时间的次数为10次。
假设在ETU计数器12的计数值达到10时,波特率计数器11在第5次置初值时初值置为了0,其它9次均置为1,那么,第5次对应的ETU的取值为(Div_Base+1)*Tsys,其中,Div_base为所述预设阈值,为自然数;Tsys为所述通信设备的系统内部时钟的时钟周期;其它9次的ETU的取值均为Div_Base*Tsys。
那么,10个ETU中,平均每个ETU的取值为:
( Div _ Base + 1 ) * Tsys + 9 * Div _ Base * Tsys 10 = ( Div _ Base + 1 / 10 ) * Tsys - - - ( 3 )
而Tsys=1/Fsys,Fsys为所述通信设备的系统内部时钟的频率,因此,波特率BaudRate=1/ETU=Fsys/(Div_Base+1/10)。
再例如,假设在ETU计数器12的计数值达到10时,波特率计数器11在第3次置初值和第6次置初值时初值置均为了0,其它8次均置为1,那么,第3次和第6次对应的ETU的取值均为(Div_Base+1)*Tsys,其中,Div_base为所述预设阈值,Tsys为所述通信设备的系统内部时钟的时钟周期;其它8次的ETU的取值均为Div_Base*Tsys。
那么,10个ETU中,平均每个ETU的取值为:
2 * ( Div _ Base + 1 ) * Tsys + 8 * Div _ Base * Tsys 10 = ( Div _ Base + 2 / 10 ) * Tsys - - - ( 4 )
而Tsys=1/Fsys,Fsys为所述通信设备的系统内部时钟的频率;因此,波特率BaudRate=1/ETU=Fsys/(Div_Base+2/10)。
而不管是(Div_Base+1/10),还是(Div_Base+2/10),均为小数,可见,通过本申请实施例提供的方案,实现了通过小数分频生成波特率。
本申请实施例提供的一种波特率发生器,通过波特率计数器产生一个通信比特的持续时长;当所述波特率计数器的计数结果达到预设阈值时,波特率时钟信号生成模块生成波特率时钟信号;当所述波特率计数器的计数结果达到所述预设阈值时,ETU计数器进行计数累加;当所述波特率计数器的计数结果达到所述预设阈值时,初值加载模块依据所述计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
综上,本申请实施例提供的波特率发生器,通过对波特率计数器设置不同的初值实现小数分频,提高了波特率精度,缩小了通信双方的波特率误差,使得目标波特率不为Fsys的整数倍分频时,波特率发生器生成的波特率也可以满足通信需求,可以满足更高的通信速率需求。
上述实施例中,优选的,波特率的计算公式可以为:
BaudRate=Fsys/(Div_base+Div_numt/n)   (5)
其中,BaudRate为波特率;Fsys为所述通信设备的系统内部时钟的频率;Div_base为所述预设阈值;Div_numt/n为小数因子,8≤n≤L,L为一帧数据的长度;0≤Div_numt<n,Div_numt为非负整数。
其中,Div_base和Div_numt的取值可以根据实际通信需求设定。具体的,根据通信需求,可以确定目标波特率的值,根据公式(5)可以知道Div_base+Div_numt/n的取值为:Fsys与目标波特率做商运算的结果,即Div_base+Div_numt/n=Fsys/BaudRate,那么,本方案中,Div_base为Fsys与目标波特率做商运算的结果的整数部分,Div_numt/n为Fsys与目标波特率做商运算的结果的小数部分,Fsys与目标波特率做商运算的结果的小数部分与n的乘积即为Div_numt。
本申请实施例中,当目标波特率为Fsys的整数倍分频时,由于Div_base+Div_numt/n的取值为整数,因此,Div_numt/n取值为零,从而Div_numt的取值为零,即Div_numt=0,此时,BaudRate=Fsys/Div_base,即通过整数分频生成波特率;当目标波特率不为Fsys的整数倍分频时,Div_base+Div_numt/n的取值包括整数部分和小数部分,因此,Div_numt/n的取值为大于零的小数,从而Div_numt的取值大于零,即Div_numt>0,此时,由于Div_numt/n<0,即Div_numt<n,因此,此时是通过小数分频生成波特率,也就是说,通过本申请实施例提供的波特率发生器,既可以通过整数分频生成波特率,也可以通过小数分频生成波特率。
上述实施例中,优选的,所述初值加载模块15的一种结构示意图如图2所示,可以包括:
映射单元21,确定单元22和加载单元23;其中,
映射单元21用于依据预设的映射关系,由所述小数因子的分子Div_numt映射得到一个n位的二进制数;
本申请实施例中,所述预设的映射关系即为小数因子的分子与n位二进制数之间的映射关系。
其中,与Div_numt对应的n位二进制数中包含的“1”的位数为Div_numt。
优选的,在确定n位二进制数时,可以根据“1”的位置错开的原则,将Div_numt位“1”均衡分布在n位二进制数中,以进一步降低通信失败的可能。其中,Div_numt位“1”均衡分布在n位二进制数中可以是指n位二进制数中,前q位二进制数与后q位二进制数中,“1”的个数相同或“1”的个数差值为1,其中,n=2q,或者,n=2q+1。
确定单元22用于确定所述二进制数中,与所述ETU计数器12的计数结果相对应的比特位的取值;
加载单元23用于在所述确定单元22确定与所述ETU计数器12的计数结果相对应的比特位的取值为1时,对所述波特率计数器11加载初值0;否则,所述波特率计数器11加载初值1。
本申请实施例中,在所述确定单元22确定与所述ETU计数器12的计数结果相对应的比特位的取值为1时,对所述波特率计数器11加载初值0;在所述确定单元22确定与所述ETU计数器12的计数结果相对应的比特位的取值为0时,对所述波特率计数器加载初值1。
上述实施例中,优选的,所述确定单元22可以包括:
第一确定子单元,用于当所述ETU计数器12的计数结果m所确定的数量小于或等于n时,确定所述二进制数中第m个比特位为与所述ETU计数器的计数结果相对应的比特位;
ETU计数器12的计数初值可能为零也可能为1,因此,当ETU计数器12的计数初值为零时,ETU计数器12的计数结果m所确定的数量则为m+1,而当ETU计数器12的计数初值为1时,ETU计数器12的计数结果m所确定的数量则为m;
需要说明的是,在确定所述二进制数中的某个比特位的位置时,比特位的计数初值设置方式与ETU计数器12的初值设置方式相同,即,如果ETU计数器12的计数初值为零,则在确定二进制数中某个比特为的位置时也从零开始计数;同理,如果ETU计数器12的计数初值为1,则在确定二进制数中某个比特为的位置时也从1开始计数。
第二确定子单元,用于当所述ETU计数器12的计数结果m所确定的数量大于n时,确定所述二进制数中第a个比特位为与所述ETU计数器的计数结果相对应的比特位;其中,a为所述计数结果m的个位数的取值。
上述实施例中,优选的,所述n的取值为10;
相应的,所述预设的映射关系即为小数因子的分子与n位二进制数之间的映射关系如表1所示,可以为:
表1
div_numt gen_numt
4'h0 10'b0000000000
4'h1 10'b0000010000
4'h2 10'b0010010000
4'h3 10'b0010010010
4'h4 10'b1010010010
4'h5 10'b1010011010
4'h6 10'b1010111010
4'h7 10'b1011111010
4'h8 10'b1011111110
4'h9 10'b1011111111
其中,4'h表示div_numt为4位的16进制数;gen_numt为10位的二进制数,10'b表示gen_numt为10位的二进制数。
下面结合表1举例说明确定对波特率计数器11进行初值加载所需的计数初值的具体过程。
假设div_numt的取值为4,那么,通过表1可以确定10位二进制数为1010010010;ETU计数器12的计数初值为0,那么,
当ETU计数器12的计数值为0时,因为gen_numt[0]=1,因此,对波特率计数器11进行初值加载所需的计数初值为0;
当ETU计数器12的计数值为1时,因为gen_numt[1]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
当ETU计数器12的计数值为2时,因为gen_numt[2]=1,因此,对波特率计数器11进行初值加载所需的计数初值为0;
当ETU计数器12的计数值为3时,因为gen_numt[3]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
当ETU计数器12的计数值为4时,因为gen_numt[4]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
当ETU计数器12的计数值为5时,因为gen_numt[5]=1,因此,对波特率计数器11进行初值加载所需的计数初值为0;
当ETU计数器12的计数值为6时,因为gen_numt[6]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
当ETU计数器12的计数值为7时,因为gen_numt[7]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
当ETU计数器12的计数值为8时,因为gen_numt[8]=1,因此,对波特率计数器11进行初值加载所需的计数初值为0;
当ETU计数器12的计数值为9时,因为gen_numt[9]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
当ETU计数器12的计数值为10时,因为gen_numt[10]=gen_numt[0]=1,因此,对波特率计数器11进行初值加载所需的计数初值为0;
当ETU计数器12的计数值为11时,因为gen_numt[11]=gen_numt[1]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1;
……
当ETU计数器12的计数值为20时,因为gen_numt[20]=gen_numt[0]=1,因此,对波特率计数器11进行初值加载所需的计数初值为0;
当ETU计数器12的计数值为21时,因为gen_numt[21]=gen_numt[1]=0,因此,对波特率计数器11进行初值加载所需的计数初值为1.
……
本申请实施例还提供一种通信设备,该通信设备具有如上任意一实施例所提供的波特率发生器。
与上述装置实施例所提供的波特率发生器相对应,本申请实施例还提供一种波特率生成方法,本申请实施例提供的波特率生成方法的一种实现流程图如图3所示,可以包括:
步骤S31:通过波特率计数器产生一个通信比特的持续时间;
波特率是对符号传输速率的一种度量,即每秒钟传送的二进制位数,因此,波特率的倒数为传输1比特符号所需持续的时间,即一个通信比特的持续时间。
本申请实施例中,波特率计数器可以将系统内部时钟作为时钟源进行计时,以产生一个通信比特的持续时间。
步骤S32:当所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;
其中,所述预设阈值依据目标波特率确定。本申请实施例中,目标波特率即为进行通信所需的波特率。
具体的,预设阈值为目标波特率的倒数,即一个通信比特的目标持续时间;也就是说,在波特率计数器的计数结果达到一个通信比特的目标持续时间时,生成波特率时钟信号。
步骤S33:当所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;也就是对产生的一个通信比特的持续时间的个数进行计数累加。
波特率的倒数为1bit符号的持续时间,此持续时间用1个ETU来表示。因此,本申请实施例中,当所述波特率计数器的计数结果达到所述预设阈值时,是对ETU进行计数累加。
进行计数累加时的累加值为1,即当波特率计数器的计数结果达到所述预设阈值时,对ETU进行计数的计数值加1。
步骤S34:依据所述计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
在生成波特率时钟信号后,需要对波特率计数器重置初值,以便判断下一个波特率时钟信号的生成时刻。
本申请实施例中,波特率计数器的初值不是固定的值,而是根据计数累加结果选择相应的初值。
本申请实施例提供的一种波特率生成方法,通过波特率计数器产生一个通信比特的持续时长;当所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;当所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;当所述波特率计数器的计数结果达到所述预设阈值时,依据所述计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
综上,本申请实施例提供的波特率生成方法、波特率发生器及通信设备,通过对波特率计数器设置不同的初值实现小数分频,提高了波特率精度,缩小了通信双方的波特率误差,使得目标波特率不为Fsys的整数倍分频时,波特率发生器生成的波特率也可以满足通信需求,可以满足更高的通信速率需求。
上述实施例中,优选的,波特率的计算公式可以为:
BaudRate=Fsys/(Div_base+Div_numt/n)
其中,BaudRate为波特率;Fsys为所述通信设备的系统内部时钟的频率;Div_base为所述预设阈值;Div_numt/n为小数因子,8≤n≤L,L为一帧数据的长度;0≤Div_numt<n,Div_numt为非负整数。
本申请实施例中,当Div_numt=0时,BaudRate=Fsys/Div_base,即可以通过整数分频生成波特率;当Div_numt>0时,由于Div_numt<n,因此,此时是通过小数分频生成波特率,也就是说,通过本申请实施例提供的波特率发生器,既可以通过整数分频生成波特率,也可以通过小数分频生成波特率。
上述实施例中,优选的,所述依据所述计数累加结果对所述波特率计数器加载初值的一种实现流程图如图4所示,可以包括:
步骤S41:依据预设的映射关系,由所述小数因子的分子Div_numt映射得到一个n位的二进制数;
本申请实施例中,所述预设的映射关系即为小数因子的分子与n位二进制数之间的映射关系。
步骤S42:确定所述二进制数中,与所述计数累加结果相对应的比特位的取值;
步骤S43:如果确定与所述计数累加结果相对应的比特位的取值为1,则对所述波特率计数器加载初值0;否则,所述波特率计数器加载初值1。
本申请实施例中,在确定与所述计数累加结果相对应的比特位的取值为1时,对所述波特率计数器加载初值0;在确定与所述计数累加结果相对应的比特位的取值为0时,对所述波特率计数器加载初值1。
上述实施例中,优选的,所述与所述计数累加结果相对应的比特位的确定步骤包括:
当计数累加结果m所确定的数量小于或等于n时,确定所述二进制数中第m个比特位为与所述计数累加结果相对应的比特位;
当所述计数累加结果m所确定的数量大于n时,确定所述二进制数中第a个比特位为与所述计数累加结果相对应的比特位;其中,a为所述计数累加结果m的个位数。
进行计数累加的计数初值可能为零也可能为1,因此,当进行计数累加的计数初值为零时,计数累加结果m所确定的数量则为m+1,而当进行计数累加的计数初值为1时,计数累加结果m所确定的数量则为m;
需要说明的是,在确定所述二进制数中的某个比特位的位置时,比特位的计数初值设置方式与进行计数累加的初值的设置方式相同,即,如果进行计数累加的计数初值设置为零,则在确定二进制数中某个比特为的位置时也从零开始计数;同理,如果进行计数累加的计数初值为设置1,则在确定二进制数中某个比特为的位置时也从1开始计数。
上述实施例中,优选的,所述n的取值为10;
相应的,所述预设的映射关系即为小数因子的分子与n位二进制数之间的映射关系如表1所示。
本申请实施例提供的波特率生成方法的另一种实现流程图如图5所示,可以包括:
步骤S51:为波特率计数器装载初值,其中,波特率计数器用于产生一个通信比特的持续时间;
步骤S52:判断波特率计数器的计数值是否达到预设阈值,如果是,则输出波特率时钟信号,并执行步骤S53;否则,执行步骤S54;
步骤S53:ETU计数器的计数值加1,并执行步骤S55;
步骤S54:所述波特率计数器的计数值加1,并返回执行步骤S52;
步骤S55:判断是否为长周期,具体为:依据预设的映射关系,由所述小数因子的分子映射得到一个n位的二进制数;确定所述二进制数中,与计数累加结果相对应的比特位的取值;如果确定与所述计累加数结果相对应的比特位的取值为1,则确定为长周期,并执行步骤S56;否则,确定为短周期,并执行步骤S57;
步骤S56:确定波特率计数器的初值为0,并返回执行步骤S51;
步骤S57:确定波特率计数器的初值为1,并返回执行步骤S51。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种波特率发生器,应用于通信设备,其特征在于,所述波特率发生器包括:波特率计数器,ETU计数器,波特率时钟信号生成模块和初值加载模块;其中,
所述波特率计数器与所通信设备的系统内部时钟相连接,用于产生一个通信比特的持续时间;
所述波特率时钟信号生成模块用于在所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;
所述ETU计数器用于在所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;
所述初值加载模块用于依据所述ETU计数器的计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
2.根据权利要求1所述的波特率发生器,其特征在于,波特率的计算公式为:
BaudRate=Fsys/(Div_base+Div_numt/n)
其中,BaudRate为波特率;Fsys为所述通信设备的系统内部时钟的频率;Div_base为所述预设阈值;Div_numt/n为小数因子,8≤n≤L,L为一帧数据的长度;0≤Div_numt<n。
3.根据权利要求2所述的波特率发生器,其特征在于,所述初值加载模块包括:
映射单元,用于依据预设的映射关系,由所述小数因子的分子映射得到一个n位的二进制数;
确定单元,用于确定所述二进制数中,与所述ETU计数器的计数结果相对应的比特位的取值;
加载单元,用于在所述确定单元确定与所述ETU计数器的计数结果相对应的比特位的取值为1时,对所述波特率计数器加载初值0;否则,所述波特率计数器加载初值1。
4.根据权利要求3所述的波特率发生器,其特征在于,所述确定单元包括:
第一确定子单元,用于当所述ETU计数器的计数结果m所确定的数量小于或等于n时,确定所述二进制数中第m个比特位为与所述ETU计数器的计数结果相对应的比特位;
第二确定子单元,用于当所述ETU计数器的计数结果m所确定的数量大于n时,确定所述二进制数中第a个比特位为与所述ETU计数器的计数结果相对应的比特位;其中,a为所述计数结果m的个位数的取值。
5.一种通信设备,其特征在于,包括如权利要求1-4任意一项所述的波特率发生器。
6.一种波特率生成方法,应用于通信设备,其特征在于,所述方法包括:
通过波特率计数器产生一个通信比特的持续时间;
当所述波特率计数器的计数结果达到预设阈值时,生成波特率时钟信号;
当所述波特率计数器的计数结果达到所述预设阈值时,进行计数累加;
依据计数累加结果对所述波特率计数器加载初值,所述初值为0或1。
7.根据权利要求6所述的方法,其特征在于,波特率的计算公式为:
BaudRate=Fsys/(Div_base+Div_numt/n)
其中,BaudRate为波特率;Fsys为所述通信设备的系统内部时钟的频率;Div_base为所述预设阈值;Div_numt/n为小数因子,8≤n≤L,L为一帧数据的长度;0≤Div_numt<n。
8.根据权利要求7所述的方法,其特征在于,所述依据所述计数累加结果对所述波特率计数器加载初值包括:
依据预设的映射关系,由所述小数因子的分子映射得到一个n位的二进制数;
确定所述二进制数中,与所述计数累加结果相对应的比特位的取值;
如果确定与所述计数累加结果相对应的比特位的取值为1,则对所述波特率计数器加载初值0;否则,对所述波特率计数器加载初值1。
9.根据权利要求8所述的方法,其特征在于,与所述计数累加结果相对应的比特位的确定步骤包括:
当计数累加结果m所确定的数量小于或等于n时,确定所述二进制数中第m个比特位为与所述计数累加结果相对应的比特位;
当所述计数累加结果m所确定的数量大于n时,确定所述二进制数中第a个比特位为与所述计数累加结果相对应的比特位;其中,a为所述计数累加结果m的个位数。
CN201410418225.9A 2014-08-22 2014-08-22 波特率生成方法、波特率发生器及通信设备 Expired - Fee Related CN104158538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410418225.9A CN104158538B (zh) 2014-08-22 2014-08-22 波特率生成方法、波特率发生器及通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410418225.9A CN104158538B (zh) 2014-08-22 2014-08-22 波特率生成方法、波特率发生器及通信设备

Publications (2)

Publication Number Publication Date
CN104158538A true CN104158538A (zh) 2014-11-19
CN104158538B CN104158538B (zh) 2017-04-05

Family

ID=51883962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410418225.9A Expired - Fee Related CN104158538B (zh) 2014-08-22 2014-08-22 波特率生成方法、波特率发生器及通信设备

Country Status (1)

Country Link
CN (1) CN104158538B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413558A (zh) * 2019-07-15 2019-11-05 广芯微电子(广州)股份有限公司 一种实现低功耗串口模块动态分频方法
CN110688338A (zh) * 2019-09-12 2020-01-14 深圳市航顺芯片技术研发有限公司 一种波特率生成方法、终端及存储介质
CN111711444A (zh) * 2019-03-18 2020-09-25 华大半导体有限公司 一种专用波特率发生器及通信方法
CN113986801A (zh) * 2021-09-28 2022-01-28 山东云海国创云计算装备产业创新中心有限公司 一种波特率生成方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1460328A (zh) * 2001-03-30 2003-12-03 皇家菲利浦电子有限公司 带有分数分频器的波特率发生器
CN102142951A (zh) * 2011-01-07 2011-08-03 天津天地伟业数码科技有限公司 Rs485收发器芯片的换向控制结构及控制方法
CN102324927A (zh) * 2011-05-04 2012-01-18 中颖电子股份有限公司 波特率发生器
US20140006912A1 (en) * 2012-06-27 2014-01-02 Canon Kabushiki Kaisha Communication system via cascade connection and communication device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1460328A (zh) * 2001-03-30 2003-12-03 皇家菲利浦电子有限公司 带有分数分频器的波特率发生器
CN102142951A (zh) * 2011-01-07 2011-08-03 天津天地伟业数码科技有限公司 Rs485收发器芯片的换向控制结构及控制方法
CN102324927A (zh) * 2011-05-04 2012-01-18 中颖电子股份有限公司 波特率发生器
US20140006912A1 (en) * 2012-06-27 2014-01-02 Canon Kabushiki Kaisha Communication system via cascade connection and communication device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711444A (zh) * 2019-03-18 2020-09-25 华大半导体有限公司 一种专用波特率发生器及通信方法
CN111711444B (zh) * 2019-03-18 2024-03-29 小华半导体有限公司 一种专用波特率发生器及通信方法
CN110413558A (zh) * 2019-07-15 2019-11-05 广芯微电子(广州)股份有限公司 一种实现低功耗串口模块动态分频方法
CN110688338A (zh) * 2019-09-12 2020-01-14 深圳市航顺芯片技术研发有限公司 一种波特率生成方法、终端及存储介质
CN113986801A (zh) * 2021-09-28 2022-01-28 山东云海国创云计算装备产业创新中心有限公司 一种波特率生成方法、装置及存储介质
CN113986801B (zh) * 2021-09-28 2024-02-13 山东云海国创云计算装备产业创新中心有限公司 一种波特率生成方法、装置及存储介质

Also Published As

Publication number Publication date
CN104158538B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
CN104158538A (zh) 波特率生成方法、波特率发生器及通信设备
CN107507557B (zh) 一种led驱动脉冲宽度分割方法及系统
DE2831270A1 (de) Vorrichtung zur temperaturmessung
CN104954015A (zh) 时钟生成方法以及半导体装置
CN105005462A (zh) 一种混合式随机数发生器及其产生随机数的方法
CN101901022B (zh) 时钟精度调节模块与方法及应用其的通用串行总线设备
CN107508687A (zh) 一种计费的方法、装置、物联网应用平台及计费服务器
CN105373930A (zh) 应用于溯源系统的rfid标签估算方法和装置
WO2016201809A1 (zh) 一种基于sts的预付费售电系统和方法
CN103441813B (zh) 一种用于cdma系统的低相关二元序列集生成方法
CN105159653A (zh) 随机数后处理电路及方法
CN104506271A (zh) 一种zc序列的产生方法和装置
CN106716292B (zh) 高速率正弦曲线序列的生成
CN101127575B (zh) 一种均匀分布随机数发生器及均匀分布随机数产生方法
CN109450607A (zh) 一种通用异步收发器的波特率校准方法和装置
CN102999311A (zh) 基于Booth算法的48x30位乘法器
CN105388780A (zh) 一种irig-b000码模拟装置
CN102325111B (zh) 一种产生gfsk基带信号的方法
DE10238692B4 (de) Verfahren zum unidirektionalen Übertragen von Meßdaten
CN106774625A (zh) 一种实时相位噪声硬件发生器的并行实现方法
CN102208973B (zh) 一种数据流传输的方法和装置
CN108183701A (zh) 基于固件的dpwm发生器
CN103873180A (zh) 时分多址通信系统中同步业务的接收时钟生成方法及装置
CN106161296A (zh) 信道估计的方法和基站
CN105591732A (zh) 频率补偿处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170405

Termination date: 20190822

CF01 Termination of patent right due to non-payment of annual fee