CN114518781A - 一种双模可调高精度波特率时钟发生器及分频方法 - Google Patents
一种双模可调高精度波特率时钟发生器及分频方法 Download PDFInfo
- Publication number
- CN114518781A CN114518781A CN202210015502.6A CN202210015502A CN114518781A CN 114518781 A CN114518781 A CN 114518781A CN 202210015502 A CN202210015502 A CN 202210015502A CN 114518781 A CN114518781 A CN 114518781A
- Authority
- CN
- China
- Prior art keywords
- precision
- counting
- baud rate
- rate clock
- mode
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012937 correction Methods 0.000 claims description 26
- 238000009825 accumulation Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 239000013078 crystal Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种双模可调高精度波特率时钟发生器,属于通信技术领域,包括接收主机提供的寄存器配置信息的顶层寄存器配置模块,所述顶层寄存器配置模块电性连接计数状态控制模块,将接收的信息传递给计数状态控制模块,所述计数状态控制模块分别电性连接偶数分频器和奇数分频器,控制不同分频器的工作状态,所述计数状态控制模块电性连接时钟输出模块,得到分频后信号并输出波特率时钟;本发明的另一目的是提供一种双模可调高精度波特率时钟发生器的分频方法;本发明数字波特率时钟发生器具有双计数模式、可调整分频系数、高精度的优点,在不调整时钟源的情况下,实现高精度小数分频,适用于大量无法更换时钟源的嵌入式系统中。
Description
技术领域
本发明属于通信技术领域,具体涉及一种双模可调高精度波特率时钟发生器及分频方法。
背景技术
随着信息产业的飞速发展,各类嵌入式芯片的市场需求量在不断攀升,而具有资源开销小,IO数量少等成本优势,又由于应用广泛,具有很好兼容性的经典UART串行总线始终保持在主要地位,在UART应用中,波特率时钟发生器决定了UART传输的稳定性,如果波特率时钟精度误差大,很容易造成传输失败,因此在UART应用时,一般会比较重视芯片的时钟频率,通过选用合适的时钟源,减少传统UART波特率时钟发生器的误差,则能够保证通信的稳定。
由于传统的UART波特率时钟发生器只是对芯片的系统时钟做简单整数分频,为了减少误差,最好使得系统时钟与常见波特率频率成整数倍关系。
现有技术的缺陷和不足:
1、市场上很多单片机选用的都是11.0592Mhz这类特殊频率的晶振,用于确保整数倍分频,极大的限制了晶振选用,也可能限制其它外设的应用;
2、修正误差往往要调节外部时钟源,在很多系统上无法实现;
3、误差积累使得总线传输易发生错误,传输速度受限。
发明内容
为解决上述背景技术中提出的问题。本发明提供了一种双模可调高精度波特率时钟发生器及分频方法,具有双计数模式、可调整分频系数、高精度的特点。
本发明的另一目的是提供一种双模可调高精度波特率时钟发生器的分频方法。
为实现上述目的,本发明提供如下技术方案:一种双模可调高精度波特率时钟发生器,包括接收主机提供的寄存器配置信息的顶层寄存器配置模块,所述顶层寄存器配置模块电性连接计数状态控制模块,将接收的信息传递给计数状态控制模块,所述计数状态控制模块分别电性连接偶数分频器和奇数分频器,控制不同分频器的工作状态,所述计数状态控制模块电性连接时钟输出模块,得到分频后信号并输出波特率时钟。
本发明中进一步的,所述各模块与结构间的运行程序通过VerilogHDL硬件描述语言进行编写。
一种双模可调高精度波特率时钟发生器的模式一分频方法,包括以下步骤:
S1:输入整数分频值SPBRG、小数分频值SPBRGDP至顶层寄存器配置模块中;
S2:偶数分频器及奇数分频器分别计数;
S3:按计算结果安排次序,使两种计数模式时间上均匀混合;
S4:通过时钟输出模块将混合结果输出。
本发明中进一步的,所述步骤S3中,计算方法为序列累加与溢出判断方法,其步骤为:
S31:进行a次模N计数,进行b次模N+计数,平均值为,得化简结果,小数部分为;
S32:a+b为分频精度,b为需进行高计数的数量;
S33:使用一种累加序列,不断累加b,至第n次时大于a+b,此时将n*b对a+b取余,并进行一次模N+的高计数,其余为模N的低计数;
S34:将计数转化为波特率时钟并输出。
本发明中进一步的,所述步骤S32中,a+b一般取10或16。
一种双模可调高精度波特率时钟发生器的模式二分频方法,包括以下步骤:
S5:输入整数分频值SPBRG、小数分频值SPBRGDP至顶层寄存器配置模块中;
S6:判断使用何种分频器,并进行计数;
S7:每一定周期进行计数修正;
S8:通过时钟输出模块输出波特率时钟。
本发明中进一步的,所述步骤S7中计数修正方法为周期补偿法,其步骤为:
S71:设理论分频比与实际分频比相差小数d,将其转化为一个近似分数,分母cnt用来表示一个修正周期的大小,分子jmp用于表示每次修正的计数器补偿值,带有符号;
S72:每cnt次计数循环进行一次修正,每次修正时加上或减去jmp值;
S73:根据修正结果,产生时钟信号并输出。
与现有技术相比,本发明的有益效果是:
1、本发明数字波特率时钟发生器具有双计数模式、可调整分频系数、高精度的优点,在不调整时钟源的情况下,实现高精度小数分频,适用于大量无法更换时钟源的嵌入式系统中。
2、本发明可实现各类晶振条件下,低误差的波特率时钟生成功能,增强了产品适用性,同时误差减少也使得通信速率能够大幅提升。
3、本发明提供两种计数模式,模式一相位抖动小,模式二功耗与资源开销低,应用时可根据情况选择计数模式。
4、本发明结构较为简单,资源开销较小。
附图说明
图1为本发明双模可调高精度波特率时钟发生器的系统框图;
图2为本发明可调高精度波特率时钟发生器的模式一分频方法的流程图;
图3为本发明可调高精度波特率时钟发生器的模式一分频方法的序列产生方法图;
图4为本发明可调高精度波特率时钟发生器的模式一分频方法的0.3平均值序列产生示例图;
图5为本发明可调高精度波特率时钟发生器的模式一分频方法的仿真波形图;
图6为本发明可调高精度波特率时钟发生器的模式二分频方法的流程图;
图7为本发明可调高精度波特率时钟发生器的模式二分频方法的仿真波形图;
图8为本发明可调高精度波特率时钟发生器的双模分频方法的数据图;
图中:1、顶层寄存器配置模块;2、计数状态控制模块;3、时钟输出模块;4、偶数分频器;5、奇数分频器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-8,本发明提供以下技术方案:一种双模可调高精度波特率时钟发生器,包括接收主机提供的寄存器配置信息的顶层寄存器配置模块1,顶层寄存器配置模块1电性连接计数状态控制模块2,将接收的信息传递给计数状态控制模块2,计数状态控制模块2分别电性连接偶数分频器4和奇数分频器5,控制不同分频器的工作状态,计数状态控制模块2电性连接时钟输出模块3,得到分频后信号并输出波特率时钟。
具体的,各模块与结构间的运行程序通过VerilogHDL硬件描述语言进行编写。
一种双模可调高精度波特率时钟发生器的模式一分频方法,包括以下步骤:
S1:输入整数分频值SPBRG、小数分频值SPBRGDP至顶层寄存器配置模块1中;
S2:偶数分频器4及奇数分频器5分别计数;
S3:按计算结果安排次序,使两种计数模式时间上均匀混合;
S4:通过时钟输出模块3将混合结果输出。
具体的,步骤S3中,计算方法为序列累加与溢出判断方法,其步骤为:
S32:a+b为分频精度,b为需进行高计数的数量;
S33:使用一种累加序列,不断累加b,至第n次时大于a+b,此时将n*b对a+b取余,并进行一次模N+1的高计数,其余为模N的低计数;
S34:将计数转化为波特率时钟并输出。
具体的,步骤S32中,a+b一般取10或16。
模式一测试:
对模式一(交错计数法)进行仿真,系统时钟clk为20MHz,波特率为115200,目标分频比为10.8,即SPBRG寄存器为8’d10,SPBRGDP寄存器为8’b10101000,
计算数据:
仿真波形如附图5所示,奇偶分频交替进行,每进行4次模10的偶计数,则下次为模11的奇计数,平均后实现0.1精度分频。
一种双模可调高精度波特率时钟发生器的模式二分频方法,包括以下步骤:
S5:输入整数分频值SPBRG、小数分频值SPBRGDP至顶层寄存器配置模块1中;
S6:判断使用何种分频器,并进行计数;
S7:每一定周期进行计数修正;
S8:通过时钟输出模块3输出波特率时钟。
具体的,步骤S7中计数修正方法为周期补偿法,其步骤为:
S72:每cnt次计数循环进行一次修正,每次修正时加上或减去jmp值;
S73:根据修正结果,产生时钟信号并输出。
模式二测试:
对模式二(计数修正法)进行仿真,在波特率为115200下,确定修正系数为则每进行16次分频计算,在最后一次分频时进行修正,将计数器初值加3,同理,如果符号相反,则修正时将计数器终值加3,SPBRG寄存器为8’d10,SPBRGDP寄存器为8’b01110011,
仿真波形如附图7所示,每16次计数周期,有一次进行了调整,每次调整了周期的3/16,最终得到了10.8125的平均值,精度为1/16,符合预期。
对以上两种波特率修正法进行板级验证,采用了XilinxArtix-7FPGA芯片开发板,又使用FPGA单片机软核配置UART模块各个寄存器,修正系数使用SPBRGDP配置,其余寄存器与一般情况下保持一致,FPGA开发板通过USB转串口芯片与PC进行通信,PC端使用串口调试工具收发数据,将UART配置成回文状态,即TX=RX,PC端使用串口调试工具发送数据,经大量数据测试,如附图8所示,接收发送字符数量与内容保持一致,说明115200波特率下,两种方法均能进行多字节连续收发。
未作修正的情况下,波特率时钟误差较大,115200波特率下连续传输3字节数据就会出现错误,本次实验结果说明了修正后的波特率时钟的精度较高,积累误差较小,证明了本发明的实用性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种双模可调高精度波特率时钟发生器,其特征在于,包括接收主机提供的寄存器配置信息的顶层寄存器配置模块(1),所述顶层寄存器配置模块(1)电性连接计数状态控制模块(2),将接收的信息传递给计数状态控制模块(2),所述计数状态控制模块(2)分别电性连接偶数分频器(4)和奇数分频器(5),控制不同分频器的工作状态,所述计数状态控制模块(2)电性连接时钟输出模块(3),得到分频后信号并输出波特率时钟。
2.根据权利要求1所述的一种双模可调高精度波特率时钟发生器,其特征在于:所述各模块与结构间的运行程序通过VerilogHDL硬件描述语言进行编写。
3.一种双模可调高精度波特率时钟发生器的模式一分频方法,其特征在于,包括以下步骤:
S1:输入整数分频值SPBRG、小数分频值SPBRGDP至顶层寄存器配置模块(1)中;
S2:偶数分频器(4)及奇数分频器(5)分别计数;
S3:按计算结果安排次序,使两种计数模式时间上均匀混合;
S4:通过时钟输出模块(3)将混合结果输出。
5.根据权利要求4所述的一种双模可调高精度波特率时钟发生器的模式一分频方法,其特征在于:所述步骤S32中,a+b一般取10或16。
6.一种双模可调高精度波特率时钟发生器的模式二分频方法,其特征在于,包括以下步骤:
S5:输入整数分频值SPBRG、小数分频值SPBRGDP至顶层寄存器配置模块(1)中;
S6:判断使用何种分频器,并进行计数;
S7:每一定周期进行计数修正;
S8:通过时钟输出模块(3)输出波特率时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210015502.6A CN114518781B (zh) | 2022-01-07 | 2022-01-07 | 一种双模可调高精度波特率时钟发生器及分频方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210015502.6A CN114518781B (zh) | 2022-01-07 | 2022-01-07 | 一种双模可调高精度波特率时钟发生器及分频方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114518781A true CN114518781A (zh) | 2022-05-20 |
CN114518781B CN114518781B (zh) | 2024-05-14 |
Family
ID=81596646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210015502.6A Active CN114518781B (zh) | 2022-01-07 | 2022-01-07 | 一种双模可调高精度波特率时钟发生器及分频方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114518781B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867068A (en) * | 1997-10-27 | 1999-02-02 | Motorola, Inc. | Frequency synthesizer using double resolution fractional frequency division |
US6392455B1 (en) * | 2001-03-30 | 2002-05-21 | Koninklijke Philips Electronics N.V. | Baud rate generator with fractional divider |
RU2191468C2 (ru) * | 2000-06-21 | 2002-10-20 | Ивановский государственный энергетический университет | Устройство фазовой автоподстройки частоты |
EP1304804A2 (en) * | 2001-10-10 | 2003-04-23 | STMicroelectronics Pvt. Ltd | Fractional divider |
CN101739373A (zh) * | 2008-11-20 | 2010-06-16 | 创惟科技股份有限公司 | 串行总线时脉频率校准系统及其方法 |
CN201663588U (zh) * | 2010-03-17 | 2010-12-01 | 中兴通讯股份有限公司 | 一种实现多相位时钟分数分频的装置 |
CN203117836U (zh) * | 2012-12-19 | 2013-08-07 | 江苏东大集成电路系统工程技术有限公司 | 一种时钟切换电路 |
CN103684949A (zh) * | 2013-12-19 | 2014-03-26 | 北京遥测技术研究所 | 一种高精度波特率通用串口 |
CN110413558A (zh) * | 2019-07-15 | 2019-11-05 | 广芯微电子(广州)股份有限公司 | 一种实现低功耗串口模块动态分频方法 |
CN111030676A (zh) * | 2019-12-27 | 2020-04-17 | 天津芯海创科技有限公司 | 一种系数可动态配置的任意整数时钟分频方法及实现电路 |
-
2022
- 2022-01-07 CN CN202210015502.6A patent/CN114518781B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867068A (en) * | 1997-10-27 | 1999-02-02 | Motorola, Inc. | Frequency synthesizer using double resolution fractional frequency division |
RU2191468C2 (ru) * | 2000-06-21 | 2002-10-20 | Ивановский государственный энергетический университет | Устройство фазовой автоподстройки частоты |
US6392455B1 (en) * | 2001-03-30 | 2002-05-21 | Koninklijke Philips Electronics N.V. | Baud rate generator with fractional divider |
EP1304804A2 (en) * | 2001-10-10 | 2003-04-23 | STMicroelectronics Pvt. Ltd | Fractional divider |
CN101739373A (zh) * | 2008-11-20 | 2010-06-16 | 创惟科技股份有限公司 | 串行总线时脉频率校准系统及其方法 |
CN201663588U (zh) * | 2010-03-17 | 2010-12-01 | 中兴通讯股份有限公司 | 一种实现多相位时钟分数分频的装置 |
CN203117836U (zh) * | 2012-12-19 | 2013-08-07 | 江苏东大集成电路系统工程技术有限公司 | 一种时钟切换电路 |
CN103684949A (zh) * | 2013-12-19 | 2014-03-26 | 北京遥测技术研究所 | 一种高精度波特率通用串口 |
CN110413558A (zh) * | 2019-07-15 | 2019-11-05 | 广芯微电子(广州)股份有限公司 | 一种实现低功耗串口模块动态分频方法 |
CN111030676A (zh) * | 2019-12-27 | 2020-04-17 | 天津芯海创科技有限公司 | 一种系数可动态配置的任意整数时钟分频方法及实现电路 |
Non-Patent Citations (1)
Title |
---|
陈姣;: "浅谈基于FPGA任意倍数分频器", 内蒙古科技与经济, no. 02, 30 January 2018 (2018-01-30) * |
Also Published As
Publication number | Publication date |
---|---|
CN114518781B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107863967A (zh) | 一种多通道同步输出校准装置及方法 | |
CN103248471B (zh) | 基于ptp协议与反射内存网的时钟同步方法 | |
CN102123060B (zh) | 一种基于fpga的误码测试方法 | |
CN108471303A (zh) | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 | |
CN107222189A (zh) | 一种数字脉冲宽度调制器 | |
CN109831206A (zh) | 延迟锁定环及延迟锁定方法 | |
US11658681B2 (en) | Energy efficient adaptive data encoding method and circuit | |
CN114330191B (zh) | 一种信号复用传输的方法及装置 | |
US11799578B2 (en) | Time synchronization method and device, network node device | |
CN102324927A (zh) | 波特率发生器 | |
CN104660461A (zh) | 基于100g通信的以太网测试仪表及测试方法 | |
CN103618501A (zh) | 基于fpga的交流采样同步倍频器 | |
CN114518781A (zh) | 一种双模可调高精度波特率时钟发生器及分频方法 | |
CN203870506U (zh) | 一种多冗余计算机系统低频时钟信号同步电路 | |
CN102928805A (zh) | 多表位数字化电能表校验仪 | |
Pham-Thai et al. | A novel multichannel UART design with FPGA-based implementation | |
CN100412813C (zh) | 电子组件接收信号灵敏度的测量装置与测量方法 | |
CN102693200A (zh) | 一种基于cpld的spi通信端口 | |
CN103064461B (zh) | 一种时钟使能信号的产生方法及装置 | |
CN100354636C (zh) | 一种时钟占空比的测试方法及测试电路 | |
CN105760607B (zh) | 基于令牌桶的模拟总线有效带宽的仿真组件及方法 | |
CN102361445B (zh) | 基于数字频率合成器的高精度协议脉冲发生器 | |
CN221008137U (zh) | 时钟同步电路及测试机 | |
Wang et al. | Design of Multi-channel Payload Data Simulator Based on TLK2711 | |
An et al. | Design of UART Communication System Based on Adaptive Baud Rate Technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |