CN103138677B - 一种波特率校准方法、装置及系统 - Google Patents

一种波特率校准方法、装置及系统 Download PDF

Info

Publication number
CN103138677B
CN103138677B CN201110387529.XA CN201110387529A CN103138677B CN 103138677 B CN103138677 B CN 103138677B CN 201110387529 A CN201110387529 A CN 201110387529A CN 103138677 B CN103138677 B CN 103138677B
Authority
CN
China
Prior art keywords
baud rate
zero
zero crossing
capture time
over
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
Application number
CN201110387529.XA
Other languages
English (en)
Other versions
CN103138677A (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.)
Nanjing Linyang Electric Co.,Ltd.
Original Assignee
Jiangsu Linyang Solarfun 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 Jiangsu Linyang Solarfun Co Ltd filed Critical Jiangsu Linyang Solarfun Co Ltd
Priority to CN201110387529.XA priority Critical patent/CN103138677B/zh
Publication of CN103138677A publication Critical patent/CN103138677A/zh
Application granted granted Critical
Publication of CN103138677B publication Critical patent/CN103138677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measuring Frequencies, Analyzing Spectra (AREA)

Abstract

本发明适用于抄表领域,提供了一种波特率校准方法、装置及系统,所述方法包括下述步骤:获取工频中的多个过零点,并记录捕获时间和过零计数值;根据所述过零计数值计算参考周期,并根据所述参考周期和所述捕获时间计算振荡误差;根据所述振荡误差对波特率进行补偿,以校准波特率。本发明通过获取工频过零点计算振荡误差,并根据该振荡误差对波特率定时器进行补偿,实现自动校准,成本低、精度高。

Description

一种波特率校准方法、装置及系统
技术领域
本发明属于抄表领域,尤其涉及一种波特率校准方法、装置及系统。
背景技术
在电力系统中,通信必不可少,特别是在低压集中抄表系统中的电能表、采集器、集中抄表终端之间的载波和通信,其通信质量要求高,要求在宽温度范围内能保证足够的成功率和准确率。
目前普遍的做法是采用高成本、温度系数好的微处理器加外部晶体振荡器构成波特率发生系统,但这种方式成本高,并且还会受到晶体振荡器老化等因素导致校准不精确。
发明内容
本发明实施例的目的在于提供一种波特率校准方法,旨在解决目前校准波特率成本高、容易受环境影响导致校准不精确的问题。
本发明实施例是这样实现的,一种波特率校准方法,所述方法包括下述步骤:
获取工频中的多个过零点,并记录捕获时间和过零计数值;
根据所述过零计数值计算参考周期,并根据所述参考周期和所述捕获时间计算振荡误差;
根据所述振荡误差对波特率进行补偿,以校准波特率。
本发明实施例的另一目的在于提供一种波特率校准装置,所述装置包括:
零点获取单元,用于获取工频中的多个过零点,并记录捕获时间及过零计数值;
计算单元,用于根据所述过零计数值计算参考周期,并根据所述参考周期和所述捕获时间计算振荡误差;
误差补偿单元,用于根据所述振荡误差对波特率进行补偿,以校准波特率。
本发明实施例的另一目的在于提供一种包含上述波特率校准装置的波特率发生器。
在本发明实施例中,通过获取工频过零点计算振荡误差,并根据该振荡误差对波特率定时器进行补偿,实现自动校准,有效降低成本,提高校准精度。
附图说明
图1为本发明第一实施例提供的波特率校准方法的实现流程图;
图2为本发明第二实施例提供的波特率校准方法的实现流程图;
图3为本发明第三实施例提供的波特率校准方法的实现流程图;
图4为本发明实施例提供的波特率校准装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过获取工频过零点计算振荡误差,并根据该振荡误差对波特率进行补偿,实现自动校准。
图1示出本发明第一实施例提供的波特率校准方法的实现流程,为了便于说明,仅示出了与本发明相关的部分。
作为本发明一实施例,该波特率校准方法包括下述步骤:
在步骤S101中,获取工频中的多个过零点,并记录捕获时间和过零计数值;
在步骤S102中,根据过零计数值计算参考周期,并根据参考周期和捕获时间计算振荡误差;
在步骤S103中,根据振荡误差对波特率进行补偿,以校准波特率。
在本发明实施例中,通过获取工频过零点计算振荡误差,并根据该振荡误差对波特率定时器进行补偿,实现自动校准,有效降低成本,提高校准精度。
图2示出了本发明第二实施例提供的波特率校准方法的实现流程,详述如下:
在步骤S201中,启动过零点捕获;
初始化后,判断是否进入预设的校准波特率的固定周期Cycle(该周期包括采样阶段和计算、补偿阶段),若否,则返回重新判断,直到进入该校准波特率的周期Cycle,捕获控制器启动过零点捕获中断,将波特率校准状态标记为已进入过零点采样状态。
在步骤S202中,捕获工频中的过零点,并相应记录捕获时间;
在本发明实施例中,当进入到过零点采样状态后,开始进行过零点捕获,当捕获到每一个过零点时,相应记录对应的捕获时间点(即捕获时间)。
作为本发明一实施例,以采用内置主频为8M微控制单元(MCU,MicroControlUnit)为例,将该MCU中的捕获定时器输入时钟设置为8M的256分频,即预设时间间隔为波特率定时器的输入时钟为8M不分频,要产生2400bps(波特每秒)的波特率,则标准波特率定时器值G为 1 2400 × 1 8000000 = 3333 .
捕获模块捕获到过零点后,若为首次捕获,将捕获定时器的值记录为TICKSTART1,当第n+1次(n>0)捕获,将捕获定时器的值记录为TICKSTART(n+1),同时记录为TICKENDn。
在步骤S203中,对捕获的过零点进行计数,记录过零计数值;
在本发明实施例中,在开始进行过零点捕获后,每捕获到一个过零点时,对应进行计数,记录对应过零计数值。
在步骤S204中,判断过零计数值是否大于预设采样计数值;
若否,则返回执行步骤S202;
若是,则执行步骤S205,关闭过零点捕获;
在本发明实施例中,在连续捕获多个过零点,将过零计数值与预设的捕获过零点的次数CNT进行比较,根据过零计数值判断是否结束过零点捕获,若过零计数值小于或等于预设的捕获过零点次数,则继续捕获过零点,直到过零计数值累加至大于预设的捕获过零点次数,则捕获控制器关闭捕获中断,将波特率校准状态修改为完成过零点采样状态,停止过零点捕获,进入计算、补偿阶段。
在步骤S206中,根据过零计数值计算参考周期,并根据参考周期和捕获时间计算振荡误差;
在步骤S207中,根据振荡误差对波特率进行补偿,以校准波特率。
图3示出了本发明第三实施例提供的波特率校准方法的实现流程,详述如下:
在步骤S301中,获取工频中的多个过零点,并记录捕获时间和过零计数值;
在步骤S302中,计算每两相邻过零点的捕获时间的差值;
在本发明实施例中,通过相邻过零点的捕获时刻(捕获时间),计算相邻过零点之间的时间差。
通过节拍定时器捕获过零点时间,将节拍定时器的最大值设置为TICKMAX,比较两相邻过零点的捕获时间,若开始时刻捕获定时器的值TICKSTARTn小于结束时刻的值TICKENDn,则意味着节拍定时器还未翻过最大值,通过公式Tn=(TICKENDn-TICKSTARTn)×Ttick计算捕获时间的差值Tn,其中Ttick为预设时间间隔。
若开始时刻捕获定时器的值TICKSTART1已经大于结束时刻的值TICKEND1,则意味着节拍定时器已翻过最大值,通过公式Tn=(TICKMAX-TICKSTARTn+TICKENDn)×Ttick计算捕获时间的差值Tn,其中Ttick为预设时间间隔。
在步骤S303中,根据过零计数值计算参考周期;
在本发明实施例中,当获取两个以上的过零点时,相邻过零点的捕获时间的差值为多数,此时,根据多个捕获时间的差值分别计算采样周期,并根据过零计数值对采样周期取平均值,并根据过零计数直计算参考周期,T=(T1+T2+...+TCNT)/CNT。
在步骤S304中,根据捕获时间的差值和参考周期计算振荡误差。
根据误差计算公式Err=(T-10ms)/10ms=(T-10000us)/10000us计算误差Err,例如T=10080us,则波特率的误差为Err=(10080-10000)/10000=0.008。
在步骤S305中,根据振荡误差对波特率进行补偿,以校准波特率。
在本发明实施例中,利用得到的振荡误差对波特率定时器进行补偿,判断振荡误差Err的正负,当振荡误差为正值,意味MCU的震荡频率慢了,则减小波特率定时器的波特率,以校准波特率,补偿后波特率定时器数值为N=(1-Err)×标准波特率定时器值;
当振荡误差为负值,意味MCU的震荡频率快了,则增加波特率定时器的波特率,以校准波特率,补偿后波特率定时器数值为N=(1+Err)×标准波特率定时器值。
例如要校准2400bps的波特率,则校准后的波特率定时器值N=(1-Err)×G=(1-0.008)×3333=3306,其中,G为标准波特率定时器值,依据补偿后的定时值初始化波特率定时器,并修改波特率校准状态机状态标记为:补偿已完成等待下一个周期补偿。
在补偿结束后,初始化波特率定时器,该校准波特率的周期Cycle结束,并返回执行步骤S301,重新进行下一周期的采样、计算、补偿,实现持续校准波特率。
在本发明实施例中,通过获取工频过零点计算振荡误差,并根据该振荡误差对波特率定时器进行补偿,实现了全温度范围内稳定地自动校准,提高校准精度,并有效降低成本,提高了经济效益。
图4示出了本发明实施例提供的波特率校准装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
作为本发明一实施例,该波特率校准装置可用于任何系列的波特率发生器中,该装置包括:
零点获取单元41,用于获取工频中的多个过零点,并记录捕获时间及过零计数值;
计算单元42,用于根据过零计数值计算参考周期,并根据参考周期和捕获时间计算振荡误差;
误差补偿单元43,用于根据振荡误差对波特率进行补偿,以校准波特率。
作为本发明一实施例,零点获取单元41包括:
捕获控制器,用于启动或关断过零点捕获。
捕获模块,用于捕获工频中的过零点;
捕获定时器,用于记录过零点的捕获时间;
计数器,用于对捕获的过零点进行计数,记录过零计数值;
比较器,用于判断过零计数值是否大于预设采样计数值,若否,则由捕获模块捕获工频中的过零点,若是,则由捕获控制器关闭过零点捕获。
作为本发明一实施例,计算单元42包括:
差值计算模块,用于计算每两相邻过零点的捕获时间的差值;
周期计算模块,用于根据过零计数值计算参考周期;
误差计算模块,用于根据捕获时间的差值和参考周期计算振荡误差。
作为本发明一实施例,误差补偿单元43包括:
判断模块,用于判断振荡误差的正负;
补偿模块,用于当判断模块判断振荡误差为正值时减小波特率定时器的波特率,当振荡误差为负值时增加波特率定时器的波特率,以校准波特率。
在本发明实施例中,通过获取工频过零点计算振荡误差,并根据该振荡误差对波特率定时器进行补偿,实现了全温度范围内稳定地自动校准,提高校准精度,并有效降低成本,提高了经济效益。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种波特率校准方法,其特征在于,所述方法包括下述步骤:
获取工频中的多个过零点,捕获到每一个过零点时,相应记录对应的捕获时间点,即捕获时间,若为首次捕获,将捕获定时器的值记录为TICKSTART1,并记录过零计数值;
根据所述捕获时间计算每两相邻过零点的捕获时间的差值;
当获取两个以上的过零点时,相邻过零点的捕获时间的差值为多数,根据多个捕获时间的差值分别计算采样周期,并根据过零计数值对采样周期取平均值,并根据过零计数值计算参考周期;
根据所述捕获时间的差值和所述参考周期计算振荡误差;
根据所述振荡误差对波特率进行补偿,以校准波特率。
2.如权利要求1所述的方法,其特征在于,所述获取工频中的多个过零点,并记录捕获时间和过零计数值的步骤具体为:
启动过零点捕获;
捕获工频中的过零点,并相应记录捕获时间;
对捕获的所述过零点进行计数,记录过零计数值;
判断所述过零计数值是否大于预设采样计数值;
若否,则返回执行所述捕获工频中的过零点,并相应记录捕获时间的步骤;
若是,则关闭过零点捕获。
3.如权利要求1所述的方法,其特征在于,所述根据所述误差对波特率进行补偿,以校准波特率的步骤具体为:
判断所述振荡误差的正负;
若所述振荡误差为正值,则减小波特率,以校准波特率;
若所述振荡误差为负值,则增加波特率,以校准波特率。
4.一种波特率校准装置,其特征在于,所述装置包括:
零点获取单元,用于获取工频中的多个过零点,捕获到每一个过零点时,相应记录对应的捕获时间点,即捕获时间,若为首次捕获,将捕获定时器的值记录为TICKSTART1,并记录过零计数值;
计算单元,用于根据所述过零计数值计算参考周期,并根据所述参考周期和所述捕获时间计算振荡误差;
误差补偿单元,用于根据所述振荡误差对波特率进行补偿,以校准波特率;
所述计算单元包括:
差值计算模块,用于计算每两相邻过零点的捕获时间的差值;
周期计算模块,用于当获取两个以上的过零点时,相邻过零点的捕获时间的差值为多数,根据多个捕获时间的差值分别计算采样周期,并根据过零计数值对采样周期取平均值,并根据过零计数值计算参考周期;
误差计算模块,用于根据所述捕获时间的差值和所述参考周期计算振荡误差。
5.如权利要求4所述的装置,其特征在于,所述零点获取单元包括:
捕获控制器,用于启动或关断过零点捕获;
捕获模块,用于捕获工频中的过零点;
捕获定时器,用于记录所述过零点的捕获时间;
计数器,用于对捕获的所述过零点进行计数,记录过零计数值;
比较器,用于判断所述过零计数值是否大于预设采样计数值,若否,则由所述捕获模块捕获工频中的过零点,若是,则由所述捕获控制器关闭过零点捕获。
6.如权利要求4所述的装置,其特征在于,所述误差补偿单元包括:
判断模块,用于判断所述振荡误差的正负;
补偿模块,用于当所述判断模块判断所述振荡误差为正值时减小波特率,当所述振荡误差为负值时增加波特率,以校准波特率。
7.一种波特率发生器,其特征在于,所述波特率发生器包括如权利要求4至6任一项所述的波特率校准装置。
CN201110387529.XA 2011-11-29 2011-11-29 一种波特率校准方法、装置及系统 Active CN103138677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110387529.XA CN103138677B (zh) 2011-11-29 2011-11-29 一种波特率校准方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110387529.XA CN103138677B (zh) 2011-11-29 2011-11-29 一种波特率校准方法、装置及系统

Publications (2)

Publication Number Publication Date
CN103138677A CN103138677A (zh) 2013-06-05
CN103138677B true CN103138677B (zh) 2016-06-22

Family

ID=48498085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110387529.XA Active CN103138677B (zh) 2011-11-29 2011-11-29 一种波特率校准方法、装置及系统

Country Status (1)

Country Link
CN (1) CN103138677B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104143960B (zh) * 2014-07-11 2017-03-22 钜泉光电科技(上海)股份有限公司 一种校正mems计时时钟的溢出补偿方法及装置
CN109495408B (zh) * 2017-09-13 2021-06-22 瑞昱半导体股份有限公司 波特率跟踪及补偿装置与方法
CN109075742B (zh) * 2018-08-06 2022-04-12 深圳市汇顶科技股份有限公司 波特率校准电路及串口芯片
CN110049590B (zh) * 2018-12-27 2021-07-06 浙江绍兴苏泊尔生活电器有限公司 过零自检处理方法、电磁加热电路及电磁加热器具
CN111796579A (zh) * 2020-06-30 2020-10-20 东风电驱动系统有限公司 车辆远程监控终端的can总线波特率配置方法及系统
CN112202528B (zh) * 2020-08-17 2021-06-29 北京海泰方圆科技股份有限公司 通讯波特率校正方法、装置、电子设备及存储介质
CN115079553B (zh) * 2022-06-28 2023-02-28 广州捷克易自动化设备有限公司 一种热流道时序控制器时间自校正方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399635A (zh) * 2008-09-28 2009-04-01 中兴通讯股份有限公司 通讯波特率自适应方法、装置以及主机
US7522614B1 (en) * 2003-02-28 2009-04-21 3Com Corporation Multi-service access platform for telecommunications and data networks
CN101551786A (zh) * 2009-05-05 2009-10-07 大连理工大学 波特率自适应串行通信中继器的制作方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7522614B1 (en) * 2003-02-28 2009-04-21 3Com Corporation Multi-service access platform for telecommunications and data networks
CN101399635A (zh) * 2008-09-28 2009-04-01 中兴通讯股份有限公司 通讯波特率自适应方法、装置以及主机
CN101551786A (zh) * 2009-05-05 2009-10-07 大连理工大学 波特率自适应串行通信中继器的制作方法

Also Published As

Publication number Publication date
CN103138677A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN103138677B (zh) 一种波特率校准方法、装置及系统
CN103616814A (zh) 一种基于fpga的同步采样时钟闭环校正方法和系统
CN102411344B (zh) 分布式控制系统时钟的同步方法
CN102520255B (zh) 一种电动汽车电池组直流电阻测算方法
CN100575965C (zh) 一种单片机测量频率的方法
US20170115358A1 (en) Innovative framework combining cycling and calendar aging models
US20150241517A1 (en) Method For Calculating Remaining Capacity Of Power Battery Pack
CN1909375A (zh) 实时时钟装置及其当前时刻补偿方法
CN104965186A (zh) 根据温度对电能表电能计量误差进行自动补偿的校准方法
US20140327467A1 (en) Energy tracking system
CN104181391A (zh) 数字功率计谐波检测的方法
CN109991470A (zh) 一种组串式光伏逆变器转换效率的确定方法及系统
CN102789192B (zh) 一种反馈控制系统、及其频率响应测量装置与方法
CN110186533B (zh) 一种高精度的河口短期潮位预报方法
CN103634003B (zh) Osc频率自动校准电路及自动校准方法
CN103954833B (zh) 一种电能计量表、计量芯片及其内置时钟信号调制方法
CN102854374B (zh) 一种功率单元体直流电压检测装置及方法
US7259547B1 (en) System and method to use dynamic feedback of analog to digital converter sample rate to adaptively lock the sample rate to input frequency
CN103684358A (zh) 采样脉冲生成方法和装置
CN112134593B (zh) 过零点信号输出和电力线数据发送方法及设备
CN113406436A (zh) 基于5g通信的交直流输电线路行波故障测距方法及系统
CN102495283B (zh) 自适应等精度测频方法
CN109507590B (zh) 一种去多元干扰网格智能跟踪soc修正方法及系统
CN109765601B (zh) 一种海水中放射性核素k40元素的计数率的计算方法
CN103558454B (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
CB02 Change of applicant information

Address after: 226299 Jiangsu city of Nantong province Qidong Economic Development Zone No. 666 Lin Yang Lu

Applicant after: JIANGSU LINYANG ENERGY CO., LTD.

Address before: 226200 Jiangsu city of Nantong province Qidong Economic Development Zone No. 666 Lin Yang Lu

Applicant before: Jiangsu Linyang Electronics Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210414

Address after: No.188, Tianyuan East Road, Science Park, Jiangning District, Nanjing, Jiangsu 210000

Patentee after: Nanjing Linyang Electric Co.,Ltd.

Address before: No. 666, Linyang Road, Qidong Economic Development Zone, Nantong City, Jiangsu Province

Patentee before: JIANGSU LINYANG ENERGY Co.,Ltd.