CN103633996A - 产生任意频率方波的累加计数器分频方法 - Google Patents

产生任意频率方波的累加计数器分频方法 Download PDF

Info

Publication number
CN103633996A
CN103633996A CN201310672103.8A CN201310672103A CN103633996A CN 103633996 A CN103633996 A CN 103633996A CN 201310672103 A CN201310672103 A CN 201310672103A CN 103633996 A CN103633996 A CN 103633996A
Authority
CN
China
Prior art keywords
frequency
pulse
counter
frequency division
value
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.)
Pending
Application number
CN201310672103.8A
Other languages
English (en)
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.)
705TH RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp
Original Assignee
705TH RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp
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 705TH RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp filed Critical 705TH RESEARCH INSTITUTE OF CHINA SHIPBUILDING INDUSTRY Corp
Priority to CN201310672103.8A priority Critical patent/CN103633996A/zh
Publication of CN103633996A publication Critical patent/CN103633996A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulation Of Pulses (AREA)

Abstract

本发明公开了一种产生任意频率方波的累加计数器分频方法,用于解决现有累加计数器分频方法输出精度低的技术问题。技术方案是通过对现有的累加计数器分频法进行改进,将计数器在每输出一个脉冲后剩余的计数值累加到下一个脉冲的计数过程中,这种方式产生脉冲宽度的波动范围在一个时钟周期内,可以使得产生脉冲的频率在统计意义上达到和要求值相等。这种方法可广泛应用于各种分频数字***中,提高了数字***输出脉冲的精度。

Description

产生任意频率方波的累加计数器分频方法
技术领域
本发明涉及一种累加计数器分频方法,特别涉及一种产生任意频率方波的累加计数器分频方法。
背景技术
在数字逻辑***设计中,时钟可以说是***的血液。在时序逻辑电路中,几乎所有的信号都需要时钟向前传递。分频法是一种基本方法,通常用来对某个给定频率进行分频,以得到需要的频率。
在基于FPGA的电机控制中,输出的脉冲是具有与电机运行速度相对应的脉冲频率值,通过实时调节FPGA输出的脉冲的频率值,就可以实现对电机的调速控制。要实现对电机速度和位置的精确控制,输出脉冲的频率是非常重要的,精确地脉冲频率和脉冲宽度就可以使得电机非常平稳地运行。通过查阅相关资料,对各种分频法的工作原理、特点进行分析总结,针对现有的分频法的输出频率精度比较低,通过对现有的累加计数器分频法通过改造,以输出的脉冲频率为累加数值,通过有限次的累加,当累加数的总和和时钟数进行比较,把差值叠加到下次的计数过程,这样可以实现多次频率的平均和需要输出的频率值相等,这样可以实现脉冲频率在统计意义上准确输出。
发明内容
为了克服现有累加计数器分频方法输出精度低的不足。本发明提供一种产生任意频率方波的累加计数器分频方法。该方法通过对现有的累加计数器分频法进行改进,将计数器在每输出一个脉冲后剩余的计数值累加到下一个脉冲的计数过程中,这种方式产生脉冲宽度的波动范围在一个时钟周期内,可以使得产生脉冲的频率在统计意义上达到和要求值相等。这种方法可广泛应用于各种分频数字***中,可以提高数字***输出脉冲的精度。
本发明解决其技术问题所采用的技术方案是:一种产生任意频率方波的累加计数器分频方法,其特点是包括以下步骤:
步骤一、根据公式
Figure BDA0000434852030000011
将计数器的模值设置与输入时钟的输入相等,这样累加计数器的步长就在数字上和输出的频率值相等。式中,clk_in是输入的时钟频率,clk_out是需要输出的脉冲频率,N是累加计数器的模值,STEP是累加计数器的步长。
步骤二、每输入一个时钟上升沿,就给计数器的值加STEP,这样计
Figure BDA0000434852030000021
次时输出脉冲进行一次翻转,在
Figure BDA0000434852030000022
值不为整数时,将多余的数累加到下一次计数周期中,这样产生的脉冲是相邻两个分频比脉冲交错产生,通过将计数差值累加到下一次,自动切换分频比。
步骤三、根据计算的方法列写出实现分频的表达式,根据表达式列写出程序。
步骤四、在赛灵思公司的ISE平台上利用Verilog语言编写程序。
步骤五、将编好的程序下载到目标芯片中。
本发明的有益效果是:该方法通过对现有的累加计数器分频法进行改进,将计数器在每输出一个脉冲后剩余的计数值累加到下一个脉冲的计数过程中,这种方式产生脉冲宽度的波动范围在一个时钟周期内,可以使得产生脉冲的频率在统计意义上达到和要求值相等。这种方法可广泛应用于各种分频数字***中,提高了数字***输出脉冲的精度。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是本发明产生任意频率方波的累加计数器分频方法的流程图。
具体实施方式
参照图1。本发明产生任意频率方波的累加计数器分频方法具体步骤如下:
本发明采用的方法是将累加计数器法进行改造,将每次计数的剩余值累加到下一次的计数中,从而实现在统计意义上可以输出准确的频率值;通过将计数器的总值设置成和时钟数相等,则累加步长就和输出脉冲频率值相等,从而不用计算累加计数器的累加步长;使得输出的脉冲频率不受输出时钟的影响,占用较少的资源。
本方法采用的公式是:
Figure BDA0000434852030000023
其中clk_in是输入的时钟频率,clk_out是需要输出的脉冲频率,N是累加计数器的模值,STEP是累加计数器的步长。在这里将计数器的模值设置和输入时钟的输入相等,这样累加计数器的步长就在数字上和输出的频率值相等,这样就不用计算计数步长。
累加计数器的实现原理如下:每来一个时钟的上升沿,就给计数器的值加STEP,这样计
Figure BDA0000434852030000031
次时输出时钟进行一次翻转,在
Figure BDA0000434852030000032
值不为整数时,将多余的数累加到下一次计数周期中,这样产生的脉冲是相邻两个分频比脉冲交错产生,通过将计数差值累加到下一次,就可以自动切换分频比。
利用这种改进累加计数器分频法,可以提高输出的脉冲频率的精度,并且在输出脉冲的过程中,不用计算累加计数器的步长,通过将计数器的模值改成和输入时钟数值上相同的值,累加计数器的累加步长就是输出频率对应的数值。
具体步骤如下:
根据公式:
Figure BDA0000434852030000034
(其中clk_in是输入的时钟频率,clk_out是需要输出的脉冲频率,N是累加计数器的模值,STEP是累加计数器的步长)。在这里将计数器的模值设置和输入时钟的输入相等,这样累加计数器的步长就在数字上和输出的频率值相等,这样就不用计算计数步长。
累加计数器的实现原理如下:每输入一个时钟上升沿,就给计数器的值加STEP,这样计
Figure BDA0000434852030000035
次时输出脉冲进行一次翻转,在值不为整数时,将多余的数累加到下一次计数周期中,这样产生的脉冲是相邻两个分频比脉冲交错产生,通过将计数差值累加到下一次,就可以自动切换分频比。
根据计算的方法列写出实现分频的表达式,根据表达式列写出程序流程图。
在赛灵思公司的ISE平台上利用Verilog语言编写实现此方法的程序。
将编好地程序下载到目标芯片中,利用示波器即可观察到符合要求的脉冲。

Claims (1)

1.一种产生任意频率方波的累加计数器分频方法,其特征在于包括以下步骤:
步骤一、根据公式
Figure FDA0000434852020000011
将计数器的模值设置与输入时钟的输入相等,这样累加计数器的步长就在数字上和输出的频率值相等;式中,clk_in是输入的时钟频率,clk_out是需要输出的脉冲频率,N是累加计数器的模值,STEP是累加计数器的步长;
步骤二、每输入一个时钟上升沿,就给计数器的值加STEP,这样计
Figure FDA0000434852020000012
次时输出脉冲进行一次翻转,在
Figure FDA0000434852020000013
值不为整数时,将多余的数累加到下一次计数周期中,这样产生的脉冲是相邻两个分频比脉冲交错产生,通过将计数差值累加到下一次,自动切换分频比;
步骤三、根据计算的方法列写出实现分频的表达式,根据表达式列写出程序;
步骤四、在赛灵思公司的ISE平台上利用Verilog语言编写程序;
步骤五、将编好的程序下载到目标芯片中。
CN201310672103.8A 2013-12-11 2013-12-11 产生任意频率方波的累加计数器分频方法 Pending CN103633996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310672103.8A CN103633996A (zh) 2013-12-11 2013-12-11 产生任意频率方波的累加计数器分频方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310672103.8A CN103633996A (zh) 2013-12-11 2013-12-11 产生任意频率方波的累加计数器分频方法

Publications (1)

Publication Number Publication Date
CN103633996A true CN103633996A (zh) 2014-03-12

Family

ID=50214688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310672103.8A Pending CN103633996A (zh) 2013-12-11 2013-12-11 产生任意频率方波的累加计数器分频方法

Country Status (1)

Country Link
CN (1) CN103633996A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105223872A (zh) * 2015-10-19 2016-01-06 宁波卓奥电子科技有限公司 一种电气终端控制板用方波发生器
CN109765583A (zh) * 2019-03-04 2019-05-17 华通信安(北京)科技发展有限公司 一种基于gnss接收机秒脉冲的时钟同步方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176673A (zh) * 2007-11-30 2008-05-14 深圳市蓝韵实业有限公司 超声诊断仪前端放大通道一致性测试装置
US20110194702A1 (en) * 2009-10-15 2011-08-11 Huawei Technologies Co., Ltd. Method and Apparatus for Detecting Audio Signals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176673A (zh) * 2007-11-30 2008-05-14 深圳市蓝韵实业有限公司 超声诊断仪前端放大通道一致性测试装置
US20110194702A1 (en) * 2009-10-15 2011-08-11 Huawei Technologies Co., Ltd. Method and Apparatus for Detecting Audio Signals

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王耀琦: "基于CPLD/FPGA的任意分频器设计研究与仿真", 《兰州交通大学学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105223872A (zh) * 2015-10-19 2016-01-06 宁波卓奥电子科技有限公司 一种电气终端控制板用方波发生器
CN105223872B (zh) * 2015-10-19 2017-12-08 浙江卓奥科技股份有限公司 一种电气终端控制板用方波发生器
CN109765583A (zh) * 2019-03-04 2019-05-17 华通信安(北京)科技发展有限公司 一种基于gnss接收机秒脉冲的时钟同步方法

Similar Documents

Publication Publication Date Title
CN100550631C (zh) 脉冲宽度调制装置
CN103762964B (zh) 一种多通道高精度pwm信号采样和生成装置
CN102253643B (zh) 一种高精度时间测量电路及测量方法
CN103837741A (zh) 基于fpga的等精度频率测试***及其设计方法
CN105656456B (zh) 一种高速高精度数字脉冲发生电路及脉冲发生方法
CN103941622B (zh) 基于fpga的高精度秒脉冲倍频出采样脉冲的方法
CN102928677A (zh) 一种纳米级脉冲信号采集方法
CN104317253A (zh) 一种用于伺服电机位置控制的***方法
CN202166844U (zh) 一种高精度时间测量电路
CN103117732A (zh) 多路视频脉冲信号发生装置及方法
CN101226408B (zh) 交流伺服绝对值编码器位置反馈脉冲分频输出方法及电路
CN102200544B (zh) 可实现双向计量的智能电表的总电量累加方法
CN103633996A (zh) 产生任意频率方波的累加计数器分频方法
CN110955179B (zh) 一种基于pci总线的双通道共享时钟触发调延装置
CN203929885U (zh) 基于fpga的等精度频率测试***
CN202033420U (zh) 用于模拟集成电路测试***的时间参数测试专用电路
CN102843127B (zh) 用于捷变信号控制的数字数据延迟方法
CN104133409B (zh) 一种对称性可调的三角波合成装置
CN103354448A (zh) 基于fpga的高分辨率时间间隔产生***
CN203675065U (zh) 生成触发脉冲序列的装置
CN213581764U (zh) 一种时间间隔测量装置
CN103368543A (zh) 基于数字移相提高延时精度的方法
CN103368484B (zh) 电机运动控制电路及其控制方法
CN102361445B (zh) 基于数字频率合成器的高精度协议脉冲发生器
CN203981238U (zh) 一种高精度汽车油量显示计

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140312