一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种双模可调高精度波特率时钟发生器及分频方法

2022-05-21 05:39:54 来源:中国专利 TAG:


1.本发明属于通信技术领域,具体涉及一种双模可调高精度波特率时钟发生器及分频方法。


背景技术:

2.随着信息产业的飞速发展,各类嵌入式芯片的市场需求量在不断攀升,而具有资源开销小,io数量少等成本优势,又由于应用广泛,具有很好兼容性的经典uart串行总线始终保持在主要地位,在uart应用中,波特率时钟发生器决定了uart传输的稳定性,如果波特率时钟精度误差大,很容易造成传输失败,因此在uart应用时,一般会比较重视芯片的时钟频率,通过选用合适的时钟源,减少传统uart波特率时钟发生器的误差,则能够保证通信的稳定。
3.由于传统的uart波特率时钟发生器只是对芯片的系统时钟做简单整数分频,为了减少误差,最好使得系统时钟与常见波特率频率成整数倍关系。
4.现有技术的缺陷和不足:
5.1、市场上很多单片机选用的都是11.0592mhz这类特殊频率的晶振,用于确保整数倍分频,极大的限制了晶振选用,也可能限制其它外设的应用;
6.2、修正误差往往要调节外部时钟源,在很多系统上无法实现;
7.3、误差积累使得总线传输易发生错误,传输速度受限。


技术实现要素:

8.为解决上述背景技术中提出的问题。本发明提供了一种双模可调高精度波特率时钟发生器及分频方法,具有双计数模式、可调整分频系数、高精度的特点。
9.本发明的另一目的是提供一种双模可调高精度波特率时钟发生器的分频方法。
10.为实现上述目的,本发明提供如下技术方案:一种双模可调高精度波特率时钟发生器,包括接收主机提供的寄存器配置信息的顶层寄存器配置模块,所述顶层寄存器配置模块电性连接计数状态控制模块,将接收的信息传递给计数状态控制模块,所述计数状态控制模块分别电性连接偶数分频器和奇数分频器,控制不同分频器的工作状态,所述计数状态控制模块电性连接时钟输出模块,得到分频后信号并输出波特率时钟。
11.本发明中进一步的,所述各模块与结构间的运行程序通过veriloghdl硬件描述语言进行编写。
12.一种双模可调高精度波特率时钟发生器的模式一分频方法,包括以下步骤:
13.s1:输入整数分频值spbrg、小数分频值spbrgdp至顶层寄存器配置模块中;
14.s2:偶数分频器及奇数分频器分别计数;
15.s3:按计算结果安排次序,使两种计数模式时间上均匀混合;
16.s4:通过时钟输出模块将混合结果输出。
17.本发明中进一步的,所述步骤s3中,计算方法为序列累加与溢出判断方法,其步骤
为:
18.s31:进行a次模n计数,进行b次模n 计数,平均值为,得化简结果,小数部分为;
19.s32:a b为分频精度,b为需进行高计数的数量;
20.s33:使用一种累加序列,不断累加b,至第n次时大于a b,此时将n*b对a b取余,并进行一次模n 的高计数,其余为模n的低计数;
21.s34:将计数转化为波特率时钟并输出。
22.本发明中进一步的,所述步骤s32中,a b一般取10或16。
23.一种双模可调高精度波特率时钟发生器的模式二分频方法,包括以下步骤:
24.s5:输入整数分频值spbrg、小数分频值spbrgdp至顶层寄存器配置模块中;
25.s6:判断使用何种分频器,并进行计数;
26.s7:每一定周期进行计数修正;
27.s8:通过时钟输出模块输出波特率时钟。
28.本发明中进一步的,所述步骤s7中计数修正方法为周期补偿法,其步骤为:
29.s71:设理论分频比与实际分频比相差小数d,将其转化为一个近似分数,分母cnt用来表示一个修正周期的大小,分子jmp用于表示每次修正的计数器补偿值,带有符号;
30.s72:每cnt次计数循环进行一次修正,每次修正时加上或减去jmp值;
31.s73:根据修正结果,产生时钟信号并输出。
32.与现有技术相比,本发明的有益效果是:
33.1、本发明数字波特率时钟发生器具有双计数模式、可调整分频系数、高精度的优点,在不调整时钟源的情况下,实现高精度小数分频,适用于大量无法更换时钟源的嵌入式系统中。
34.2、本发明可实现各类晶振条件下,低误差的波特率时钟生成功能,增强了产品适用性,同时误差减少也使得通信速率能够大幅提升。
35.3、本发明提供两种计数模式,模式一相位抖动小,模式二功耗与资源开销低,应用时可根据情况选择计数模式。
36.4、本发明结构较为简单,资源开销较小。
附图说明
37.图1为本发明双模可调高精度波特率时钟发生器的系统框图;
38.图2为本发明可调高精度波特率时钟发生器的模式一分频方法的流程图;
39.图3为本发明可调高精度波特率时钟发生器的模式一分频方法的序列产生方法图;
40.图4为本发明可调高精度波特率时钟发生器的模式一分频方法的0.3平均值序列产生示例图;
41.图5为本发明可调高精度波特率时钟发生器的模式一分频方法的仿真波形图;
42.图6为本发明可调高精度波特率时钟发生器的模式二分频方法的流程图;
43.图7为本发明可调高精度波特率时钟发生器的模式二分频方法的仿真波形图;
44.图8为本发明可调高精度波特率时钟发生器的双模分频方法的数据图;
45.图中:1、顶层寄存器配置模块;2、计数状态控制模块;3、时钟输出模块;4、偶数分
频器;5、奇数分频器。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.请参阅图1-8,本发明提供以下技术方案:一种双模可调高精度波特率时钟发生器,包括接收主机提供的寄存器配置信息的顶层寄存器配置模块1,顶层寄存器配置模块1电性连接计数状态控制模块2,将接收的信息传递给计数状态控制模块2,计数状态控制模块2分别电性连接偶数分频器4和奇数分频器5,控制不同分频器的工作状态,计数状态控制模块2电性连接时钟输出模块3,得到分频后信号并输出波特率时钟。
48.具体的,各模块与结构间的运行程序通过veriloghdl硬件描述语言进行编写。
49.一种双模可调高精度波特率时钟发生器的模式一分频方法,包括以下步骤:
50.s1:输入整数分频值spbrg、小数分频值spbrgdp至顶层寄存器配置模块1中;
51.s2:偶数分频器4及奇数分频器5分别计数;
52.s3:按计算结果安排次序,使两种计数模式时间上均匀混合;
53.s4:通过时钟输出模块3将混合结果输出。
54.具体的,步骤s3中,计算方法为序列累加与溢出判断方法,其步骤为:
55.s31:进行a次模n计数,进行b次模n 1计数,平均值为得化简结果,小数部分为
56.s32:a b为分频精度,b为需进行高计数的数量;
57.s33:使用一种累加序列,不断累加b,至第n次时大于a b,此时将n*b对a b取余,并进行一次模n 1的高计数,其余为模n的低计数;
58.s34:将计数转化为波特率时钟并输出。
59.具体的,步骤s32中,a b一般取10或16。
60.模式一测试:
61.对模式一(交错计数法)进行仿真,系统时钟clk为20mhz,波特率为115200,目标分频比为10.8,即spbrg寄存器为8’d10,spbrgdp寄存器为8’b10101000,
62.计算数据:
63.64.仿真波形如附图5所示,奇偶分频交替进行,每进行4次模10的偶计数,则下次为模11的奇计数,平均后实现0.1精度分频。
65.一种双模可调高精度波特率时钟发生器的模式二分频方法,包括以下步骤:
66.s5:输入整数分频值spbrg、小数分频值spbrgdp至顶层寄存器配置模块1中;
67.s6:判断使用何种分频器,并进行计数;
68.s7:每一定周期进行计数修正;
69.s8:通过时钟输出模块3输出波特率时钟。
70.具体的,步骤s7中计数修正方法为周期补偿法,其步骤为:
71.s71:设理论分频比与实际分频比相差小数d,将其转化为一个近似分数分母cnt用来表示一个修正周期的大小,分子jmp用于表示每次修正的计数器补偿值,带有符号;
72.s72:每cnt次计数循环进行一次修正,每次修正时加上或减去jmp值;
73.s73:根据修正结果,产生时钟信号并输出。
74.模式二测试:
75.对模式二(计数修正法)进行仿真,在波特率为115200下,确定修正系数为则每进行16次分频计算,在最后一次分频时进行修正,将计数器初值加3,同理,如果符号相反,则修正时将计数器终值加3,spbrg寄存器为8’d10,spbrgdp寄存器为8’b01110011,
76.仿真波形如附图7所示,每16次计数周期,有一次进行了调整,每次调整了周期的3/16,最终得到了10.8125的平均值,精度为1/16,符合预期。
77.对以上两种波特率修正法进行板级验证,采用了xilinxartix-7fpga芯片开发板,又使用fpga单片机软核配置uart模块各个寄存器,修正系数使用spbrgdp配置,其余寄存器与一般情况下保持一致,fpga开发板通过usb转串口芯片与pc进行通信,pc端使用串口调试工具收发数据,将uart配置成回文状态,即tx=rx,pc端使用串口调试工具发送数据,经大量数据测试,如附图8所示,接收发送字符数量与内容保持一致,说明115200波特率下,两种方法均能进行多字节连续收发。
78.未作修正的情况下,波特率时钟误差较大,115200波特率下连续传输3字节数据就会出现错误,本次实验结果说明了修正后的波特率时钟的精度较高,积累误差较小,证明了本发明的实用性。
79.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献