CN109450607B - 一种通用异步收发器的波特率校准方法和装置 - Google Patents
一种通用异步收发器的波特率校准方法和装置 Download PDFInfo
- Publication number
- CN109450607B CN109450607B CN201811050177.7A CN201811050177A CN109450607B CN 109450607 B CN109450607 B CN 109450607B CN 201811050177 A CN201811050177 A CN 201811050177A CN 109450607 B CN109450607 B CN 109450607B
- Authority
- CN
- China
- Prior art keywords
- clock
- module
- baud rate
- universal asynchronous
- interval
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
Abstract
本发明是一种通用异步收发器的波特率校准方法和装置,本发明是通过时间参考作为基准,以通用异步收发器采样时钟对时间参考进行数学统计,根据统计方法结合时间参考还原通用异步收发器采样时钟的精确频率,以精确时钟为基础以量化区间为依据将精准时钟合理量化至可计算区间,以该区间的特征频率作为通用异步收发器的特征时钟频率,计算通用异步收发器的传输参数,实现传输波特率的校准,以完成通用异步收发。本发明通过时间参考和片内装置,降低了对通用异步收发器采样时钟的精度要求,以校准后的波特率进行数据传输,提高了通用异步收发的稳定性。
Description
技术领域
本发明属于集成电路芯片的设计领域,具体涉及通用异步收发器的波特率校准方法和装置。
背景技术
通用异步收发器(Universal Asynchronous Receiver/Transmitter),通常称做UART,是实现设备之间低速数据通信的标准协议。其只需占用两根线就可以完成数据的收发(一根接收数据,一根发送数据),因其协议简单被广泛集成于微处理器,作为数据传输或是调试接口。
通用异步收发器为完全异步数据传输,传统实现方式都存在数据传输过程中的误差积累,当误差积累到约0.5个传输位时间时,则会导致数据传输错误。以12bit的一帧数据(1个起始位,8个数据位,1个校验位,2个停止位)为例,对于±5%时钟精度的通用异步收发器,在传输最后1个bit时,波特率积累的误差已经达到5%*12=60%,超过50%的阈值,该位的传输可能产生错误。因此对于通用异步收发器而言,时钟精度至少达到±4%,才能保证波特率积累误差小于0.5bit,考虑到芯片温度,电压,工艺偏差及电磁场等工作环境的影响,如此精度的时钟对设计提出了很大的挑战,尤其针对低成本的芯片,是不可接受的。
发明内容
本发明的目的,降低了通用异步收发器采样时钟精度要求,校准了通用异步收发器传输波特率,提高了通用异步收发的稳定性。
本发明的核心思想是基于标准时间参考,通过检测电路进行时钟数学统计,根据统计结果并结合量化手段,减少时钟误差并抑制传输波特率误差,实现低精度时钟下通用异步收发器的稳定传输。详细的技术方案描述如下:
本发明装置主要包括:一个时钟统计模块200、一个时钟精准化模块300、一个时钟区间化模块400、一个波特率校准计算模块500等。
各组件连接关系如下:
时钟统计模块(200)与时钟精准化模块(300)相连,时钟精准化模块(300)与时钟区间化模块(400)相连,时钟区间化模块(400)与波特率校准计算模块(500)相连。
本发明的方法主要包括如下步骤:
步骤1通过装置(700)外部提供时间参考(100)作为装置(700)的时钟基准;步骤2通过时钟统计模块(200)实现对时间参考(100)的数学统计;步骤3通过时钟精准化模块(300),将时钟统计模块(200)的数据统计值,使用统计方法,计算得到通用异步收发器采样时钟(802)的精确频率;步骤4通过时钟区间化模块(400),将时钟精准化模块(300)得到的精确时钟值,量化至特殊区间,以区间特征值代替时钟精准值;步骤5通过波特率校准计算模块(500),使用时钟区间化模块(400)得到的特征值作为计算输入,经过计算得出通用异步收发器传输参数并完成波特率校准;步骤6异步收发(600)使用装置(700)中波特率校准计算模块(500)得到的传输参数和校准完成的波特率,进行通用异步收发器传输。
所述时间参考(100)则是作为时钟校准的基准,在芯片加工、测试、应用阶段以特定的形式输入芯片,给到时钟统计模块(200)。
所述时钟统计模块(200)则是以特定的软件、硬件,以特定的统计方法,得到时钟参考的统计学数据,用于时钟精准化模块(300)。
所述时钟精准化模块(300)则是根据时钟统计模块(200)获得的统计学数据,以特定的统计方法反相计算获得通用异步收发器采样时钟的精确频率,保存在芯片的非易失性存储区域和或输出给时钟区间化模块(400)。
所述时钟区间化模块(400)则是将通用异步收发器采样时钟(802)频率带进行区间化,每一个区间都有唯一的一个特征频率,用来表征该区间。区间大小根据通用异步收发的波特率进行选择,该过程会引入误差,划分的区间越小,划分的区间数越多,误差越小,误差允许值需要综合考虑通用异步收发器实际容错能力。通过将通用异步收发器采样时钟(802)量化至已划分的区间,以区间特征值代替通用异步收发器采样时钟(802),用于波特率校准计算模块(500)。
所述波特率校准计算模块(500)则是根据特定计算公式计算获得通用异步收发器传输参数。
所述异步收发(600)则是使用波特率校准计算模块(500)得到的传输参数进行通用异步收发器传输。
结合本发明的具体实施方式和附图可以更好更全面的了解本发明的方法。
附图说明
图1是通用异步收发器的波特率校准方案和装置框图
图2是通用异步收发器的波特率校准流程图
具体实施方式
本发明的设计思路和方法的核心是基于标准时间参考,通过检测电路进行时钟数学统计,根据统计结果并结合量化手段,减少时钟误差并抑制传输误差,实现低精度时钟下通用异步收发器的问题传输。下述将以基于通用异步收发器最大公约数实现方案进行详细说明。
如图1本发明实现原理图所示,100代表时间参考,200代表时钟统计模块,300代表时钟精准化模块,400代表时钟区间化模块,500代表波特率校准计算模块,600代表异步收发。
图1中的100代表时间参考,作为时钟校准的基准,在芯片生命周期的特定的阶段以特定的形式输入芯片。芯片生命周期的特定的阶段包括但不限于在芯片的wafer测试阶段,通过测试机台将时间参考输入芯片;在芯片封装后功能测试阶段,通过测试机台将时间参考输入芯片;在芯片应用系统上电阶段,通过PCB版级电路将时间参考输入芯片。特定的时间参考形式包括但不限于单正向脉冲,单负向脉冲,连续时钟脉冲。
图1中的200代表时钟统计模块,以特定的软件、硬件,以特定的统计方法,得到时钟参考的统计学数据。以特定的软件、硬件包括但不限于使用GPIO探测时间参考的起始和结束,配以软件计时器;使用特定输入捕获功能,自动探测时间参考的起始和结束之间的硬件计时值。以特定的统计方法包括但不限于单次时间参考统计,多次时间参考统计取平均,多次时间参考统计取中位等。
图1中的300代表时钟精准化模块,根据时钟统计模块(200)获得的统计学数据,以特定的统计方法计算获得通用异步收发器采样时钟(802)的精确频率,保存在芯片的非易失性存储区域和或输出给时钟区间化模块(400)。以特定的统计方法包括但不限于单次时间参考统计,多次时间参考统计取平均,多次时间参考统计取中位等。非易失性存储区域包括但不限于FLASH,EEPROM,PROM。
图1中的400代表时钟区间化模块,该模块是基于通用异步收发器特定实现方案,将通用异步收发器时钟频率带进行区间化,每一个区间都有唯一的一个特征频率,用来表征该区间。区间大小根据通用异步收发的波特率进行选择,通过将精确时钟量化至已划分的区间,以区间特征值代替时钟精准值,用于波特率校准计算模块(500)。特定实现方案包括但不限于最大公约数实现方案:
设计数器:counter。
Counter以Freq为步长,以Limit为阈值进行计数。当(counter>=Limit)时,counter=counter-Limit并产生脉冲ce_16;否则counter=counter+Freq。
其中:
gcd()为取最大公约数;
fbaud_rate为通用异步收发波特率;
fuart_clk为通用异步收发器内部counter计时时钟;
ce_16为1/16传输位宽标志,产生16个ce_16标志的时间即为一个通用异步收发位宽。
例fuart_clk时钟中心值为48MHz,最大支持通用异步收发波特率fbaud_rate为115200bps,通常以40MHz为中心值,以两倍的115200Hz为宽度划分频率区间,
区间上界(Hz) | 区间下界(Hz) | 特征频率值(Hz) |
40345600 | 40115200 | 40230400 |
40115200 | 39884800 | 40000000 |
39884800 | 39654400 | 39769600 |
经过校准后的精确时钟量化至区间,并以特征频率计算传输参数。
图1中的500代表波特率校准计算模块,该模块的功能是基于通用异步收发器特定实现方案,计算获得通用异步收发器传输参数。特定实现方案包括但不限于最大公约数实现方案,计算Freq和Limit的值。
图1中的600代表异步收发,使用波特率校准计算模块(500)得到的传输参数进行通用异步收发器传输。
图2示出通用异步收发器的波特率校准方法的流程图。尽管本文提出的方法(例如900)如下被示出和描述为一系列动作或事件,但不需要所有的所示出的动作,且波形形状仅仅是示例性的,并且其他波形可显著不同于那些所示例的。进一步的,本文所示出的一个或多个动作可以被以一个或多个分开的动作或阶段来实现。
在901处,在集成电路加工流程的最终测试阶段,由测试机输出1KHz的方波,输入至芯片的IO管脚。
在902处,芯片内部使用通用异步收发器采样时钟对1KHz方波的单周期进行计数,计数10个周期。
在903处,将10个周期的计数值进行取平均值计算,根据结果换算出通用异步收发器采样时钟的频率值。
在904处,将通用异步收发器采样时钟的频率值通过查表方式,以量化区间的特征频率作为波特率校准计算的输入。
在905处,将量化后的特征频率带入波特率校准计算公式,得到传输参数并完成波特率校准。
在906处,根据校准后的波特率进行数据传输。
本发明的重点是通过时间参考作为基准,以通用异步收发器采样时钟对时间参考进行数学统计,根据统计方法结合时间参考还原通用异步收发器采样时钟的精确频率,以精确时钟为基础以量化区间为依据将精准时钟合理量化至可计算区间,以该区间的特征频率作为通用异步收发器的特征时钟频率,计算通用异步收发器的传输参数及波特率校准,以完成通用异步收发。本发明通过时间参考和片内装置,降低了对通用异步收发器采样时钟的精度要求,以校准后的波特率进行数据传输,提高了通用异步收发的稳定性。
Claims (7)
1.一种通用异步收发器的波特率校准装置,其特征在于,主要包括时钟统计模块(200)、时钟精准化模块(300)、时钟区间化模块(400)和波特率校准计算模块(500);时钟统计模块(200)与时钟精准化模块(300)相连,时钟精准化模块(300)与时钟区间化模块(400)相连,时钟区间化模块(400)与波特率校准计算模块(500)相连;外部向通用异步收发器的波特率校准装置(700)输入时间参考(100)作为基准,在通用异步收发器的波特率校准装置(700)内部,时钟统计模块(200)以通用异步收发器采样时钟(802)对输入的时间参考(100)进行数学统计,时钟精准化模块(300)对时钟统计模块(200)输出的统计结果进行处理,并还原出通用异步收发器采样时钟(802)的精确频率,在时钟区间化模块(400)以时钟精准化模块(300)输出的通用异步收发器采样时钟(802)的精确频率为基础,以量化区间为依据将精准时钟合理量化至可计算区间,以该区间的特征频率作为通用异步收发器的特征时钟频率,在波特率校准计算模块(500)计算通用异步收发器的传输参数并对传输波特率进行校准,输出到装置(700)外,在装置外异步收发(600)根据通用异步收发器的波特率校准装置(700)输出的校准后波特率,实现数据传输。
2.一种通用异步收发器的波特率校准方法(800),基于权利要求1所述的装置,其特征在于,主要包括如下步骤:
步骤1由外部向通用异步收发器的波特率校准装置(700)提供时间参考(100)作为时钟基准;
步骤2通过时钟统计模块(200)实现对时间参考(100)的数学统计;
步骤3通过时钟精准化模块(300),将时钟统计模块(200)的数据统计值,使用统计方法,计算得到通用异步收发器采样时钟(802)的精确频率;
步骤4通过时钟区间化模块(400),将时钟精准化模块(300)得到的精确时钟值,量化至特殊区间,以区间特征值代替时钟精准值;
步骤5通过波特率校准计算模块(500),使用时钟区间化模块(400)得到的特征值作为计算输入,经过计算得出通用异步收发器传输参数并完成波特率校准;
步骤6异步收发(600)使用通用异步收发器的波特率校准装置(700)中波特率校准计算模块(500)得到的传输参数和校准完成的波特率,进行通用异步收发器传输。
3.如权利要求2所述的一种通用异步收发器的波特率校准方法,其特征在于:所述步骤1中,时间参考(100)通过在芯片生命周期的特定的阶段以特定的形式输入芯片;芯片生命周期的特定的阶段包括但不限于在芯片的wafer测试阶段,通过测试机台将时间参考输入芯片;在芯片封装后功能测试阶段,通过测试机台将时间参考输入芯片;在芯片应用系统上电阶段,通过PCB版级电路将时间参考输入芯片;特定的时间参考形式包括但不限于单正向脉冲,单负向脉冲,连续时钟脉冲。
4.如权利要求2所述的一种通用异步收发器的波特率校准方法,其特征在于:所述步骤2中,时钟统计模块(200)以特定的软件、硬件,以特定的统计方法,得到时钟参考的统计学数据;以特定的软件、硬件包括但不限于使用GPIO探测时间参考的起始和结束,配以软件计时器;使用特定输入捕获功能,自动探测时间参考的起始和结束之间的硬件计时值;以特定的统计方法包括但不限于单次时间参考统计,多次时间参考统计取平均,多次时间参考统计取中位。
5.如权利要求2所述的一种通用异步收发器的波特率校准方法,其特征在于:所述步骤3中,时钟精准化模块(300),根据时钟统计模块(200)获得的统计学数据,以特定的统计方法计算获得通用异步收发器采样时钟(802)的精确频率,保存在芯片的非易失性存储区域和或输出给时钟区间化模块(400);以特定的统计方法包括但不限于单次时间参考统计,多次时间参考统计取平均,多次时间参考统计取中位;非易失性存储区域包括但不限于FLASH,EEPROM,PROM。
6.如权利要求2所述的一种通用异步收发器的波特率校准方法,其特征在于:所述步骤4中,时钟区间化模块(400)将通用异步收发器时钟频率带进行区间化,每一个区间都有唯一的一个特征频率,用来表征该区间;区间大小根据通用异步收发的波特率进行选择,通过将精确时钟量化至已划分的区间,以区间特征值代替时钟精准值,用于波特率校准计算模块(500);特定实现方案包括但不限于最大公约数实现方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811050177.7A CN109450607B (zh) | 2018-09-10 | 2018-09-10 | 一种通用异步收发器的波特率校准方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811050177.7A CN109450607B (zh) | 2018-09-10 | 2018-09-10 | 一种通用异步收发器的波特率校准方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450607A CN109450607A (zh) | 2019-03-08 |
CN109450607B true CN109450607B (zh) | 2021-02-09 |
Family
ID=65530922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811050177.7A Active CN109450607B (zh) | 2018-09-10 | 2018-09-10 | 一种通用异步收发器的波特率校准方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450607B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597752B (zh) * | 2019-09-02 | 2021-02-19 | 广州粒子微电子有限公司 | 一种uart指令数据接收系统及其接收方法 |
CN112540641B (zh) * | 2020-10-29 | 2024-04-12 | 珠海格力电器股份有限公司 | 一种时钟精度修正方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626288A (zh) * | 2009-08-10 | 2010-01-13 | 中国航空工业集团公司洛阳电光设备研究所 | 带有波特率检测设置功能的uart装置及其检测设置方法 |
CN203574663U (zh) * | 2013-11-26 | 2014-04-30 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测模块 |
DE102012110537A1 (de) * | 2012-11-05 | 2014-05-08 | Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co. KG | Verfahren zur Datenübertragung |
CN103955257A (zh) * | 2014-03-27 | 2014-07-30 | 美的集团股份有限公司 | 单片机系统时钟的校准方法及装置、空调控制系统 |
CN105790756A (zh) * | 2016-03-17 | 2016-07-20 | 杭州晟元数据安全技术股份有限公司 | 一种利用uart通讯校准时钟的方法及装置 |
EP3327579A1 (en) * | 2016-11-29 | 2018-05-30 | Nxp B.V. | Serial data communications using a uart module and method therefor |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4656221B2 (ja) * | 2008-09-30 | 2011-03-23 | 株式会社デンソー | 通信装置及びクロック同期式通信システム |
-
2018
- 2018-09-10 CN CN201811050177.7A patent/CN109450607B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626288A (zh) * | 2009-08-10 | 2010-01-13 | 中国航空工业集团公司洛阳电光设备研究所 | 带有波特率检测设置功能的uart装置及其检测设置方法 |
DE102012110537A1 (de) * | 2012-11-05 | 2014-05-08 | Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co. KG | Verfahren zur Datenübertragung |
CN203574663U (zh) * | 2013-11-26 | 2014-04-30 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测模块 |
CN103955257A (zh) * | 2014-03-27 | 2014-07-30 | 美的集团股份有限公司 | 单片机系统时钟的校准方法及装置、空调控制系统 |
CN105790756A (zh) * | 2016-03-17 | 2016-07-20 | 杭州晟元数据安全技术股份有限公司 | 一种利用uart通讯校准时钟的方法及装置 |
EP3327579A1 (en) * | 2016-11-29 | 2018-05-30 | Nxp B.V. | Serial data communications using a uart module and method therefor |
Non-Patent Citations (2)
Title |
---|
基于FPGA的UART自适应波特率发生器的实现;樊利军;《北京工业职业技术学院学报》;20160131;全文 * |
基于FPGA的通用异步收发器的设计;韩明;《中国优秀硕士学位论文全文数据库信息科技辑》;20090930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109450607A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450607B (zh) | 一种通用异步收发器的波特率校准方法和装置 | |
CN102331979B (zh) | 应用于usb设备的动态时钟频率校准方法 | |
US10788794B2 (en) | DTC based carrier shift—online calibration | |
US9054851B2 (en) | Dithering circuit for serial data transmission | |
CN103684949B (zh) | 一种高精度波特率通用串口 | |
EP3843269A2 (en) | System and method for calibrating a frequency doubler | |
TW201304418A (zh) | 頻率校正方法及系統 | |
CN105790736A (zh) | 一种用于频率信号发生芯片的修调装置 | |
JP5113368B2 (ja) | ジッタ測定装置、ジッタ測定方法、試験装置、及び電子デバイス | |
TWI601384B (zh) | Clock correction circuit and clock correction method and detection method | |
US20070104260A1 (en) | Jitter measuring apparatus, jitter measuring method and test apparatus | |
CN114740329A (zh) | 数据比对装置、数据比对方法及芯片测试仪 | |
US8917109B2 (en) | Method and device for pulse width estimation | |
US20090096515A1 (en) | Filter adjustment method and filter adjustment apparatus as well as filter circuit | |
CN110750399A (zh) | 一种串口误码率测试方法及装置、计算机设备、可读存储介质 | |
CN111026232A (zh) | 时钟校准方法、芯片、电子设备 | |
CN204065907U (zh) | 一种mcu芯片分频时钟校正装置 | |
CN107817480B (zh) | 一种时间比对测量装置及方法 | |
CN112019317B (zh) | 频率校准方法及装置、存储介质、电子装置 | |
EP1640734A1 (en) | A method and apparatus for measuring the input frequency response of a digital receiver | |
US10855438B2 (en) | Methods and devices for transmitting a continuous bit stream in a digital network non-synchronous with the bit stream | |
CN109361567B (zh) | 一种测试批次产品uart通讯兼容性的方法及装置 | |
CN212411035U (zh) | 一种时频模块计数芯片、时频模块和电子设备 | |
KR101095137B1 (ko) | 무선통신칩 성능 테스트 장치 및 그 방법 | |
CN111819787B (zh) | 晶体校准的方法、芯片和蓝牙耳机 |
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 |