基于fpga的任意数值分频器实现方法

文档序号:7516618阅读:209来源:国知局
专利名称:基于fpga的任意数值分频器实现方法
技术领域
本发明属于电子设计自动化(EDA)领域,具体涉及通过FPGA芯片和VHDL编程语 言实现任意数值分频器的一种方法。
背景技术
FPGA作为未来数字系统的三大基石(FPGA、 DSP、 CPU)之一,成为目前硬件设计研 究的重点。在数字系统的设计中,设计人员会遇到各种形式的分频需求,如偶数分频、奇数 分频、半整数分频、小数分频和分数分频等,在某些设计中,系统不仅对频率有要求,而且对 占空比也有严格的要求。由计数器或计数器的级联构成各种形式的偶数分频及非等占空比 的奇数分频实现起来较为简单,但对半整数分频及等占空比的奇数分频实现较为困难,小 数分频和分数分频更困难。大部分技术人员设计出的通用分频器,分频系数基本上不可以 调节,或者即使分频系数可调,占空比也不可以调整,应用起来有所不便。

发明内容
本发明的目的是提供一种基于FPGA的任意数值分频器实现方法,该方法能以大 规模可编程逻辑器件FPGA为核心,不仅可以实现任意数值的分频,占空比也可以根据需要 进行调节,而且算法简单高效,具有高度可行性,易于硬件实现。 本发明的目的是这样实现的以FPGA芯片为核心,加上矩阵键盘,成功设计出任 意数值分频器;矩阵键盘用于分频系数和占空比的输入;FPGA芯片完成整数分频、小数分 频和分数分频的设计与选择。 由于采用上述技术方案,本发明所具有的优点和积极效果是开发周期短、开发成
本低、针对的分频需求多种多样,适合于解决不同的分频问题;整个设计只用了 225个LE,
大部分低廉的CPLD或者FPGA都可以实现;既可以实现整数分频,也可以实现小数分频和分
数分频;不仅分频系数可以调节,占空比也可以调整。 下面结合附图对本发明作进一步说明。

图1是本发明的原理示意图。 图2是本发明的核心单元分频器算法流程图。
具体实施方案 在图1中,键盘和FPGA开发平台通过数据线相连,键盘部分由数字和字母组成,用 来完成系数的选择与输入;FPGA开发平台部分完成分频工作,其中m、j分别控制整数分频 的分频系数和占空比;小数分频时m、 n分别调整整数部分和小数部分;分数分频时j调整 整数部分,而m、n用于调节分母和分子值;nl和n2用于调节分数和小数分频的占空比;y是 频率输出端; 具体实现的方法是 a、键盘输入模块由4X4矩阵键盘组成,可以输入0 9,当A键按下时,输入的值给m, B键按下时输入的值给n, C键按下时输入的值给j, D键按下时输入的值给nl, E键 按下时输入的值给n2, F键按下时输出清零; b、选择模块当输入的二进制数control = 00时实现偶数和占空比不等于50% 的奇数分频,control = 01时实现占空比为50%的奇数分频,control = 10和11时分别 实现小数和分数分频; c、整数分频模块此模块可以实现任意数值的偶数分频,占空比可以根据需要进 行调节,也可以实现占空比不等于50%的奇数分频,主要采用计数器实现,分频系数和占空 比均可以调节; d、占空比为50X的奇数分频模块假设要实现占空比为50X的m二2n+l分频,选 择两个2n+l进制计数器控制两个中间时钟clkl和clk2, 1号计数器在输入时钟clk的上 升沿计数,2号计数器在clk的下降沿计数;当计数器1输出为0 n-l时clkl为l,输出 为n 2n时clkl为0 ;计数器1输出为2n时计数器1清O,如此循环下去;clk2的实现类 似于clkl,只是在clk的下降沿运作而已;最终输出的时钟clkout = clkl+clk2 ;
e、小数分频模块小数分频器是通过可变分频和多次平均的方法得到的,假设要 进行m. n分频,如果小数是一位小数,则总共要进行10次分频,总的规律是进行n次m+l分 频,10-n次m分频;如果小数是2位,需要进行100次分频,分频的规律是进行n次m+l分 频,100-n次m分频;以此类推可得到多位小数的分频规律;不管是几位小数总要进行两种 系数的分频,两种分频究竟如何交差进行,可以根据一定的规律计算出来;下面以3. 6分频 为例进行讲解;3. 6分频要进行6次4分频,4次3分频,将小数部分6按倍累加,假设累加 的值为a,如果a小于10则进行3分频,a小于10的话下一次则加上6,此后如果a大于等 于10则进行4分频,4分频过后再将累加值减去4后与10比较以决定下一次分频是4分频
还是3分频;如此计算下去即可;分频系数和占空比可以根据需要任意调节; f、分数分频模块分数分频器的设计思想与小数分频器类似,假设进行y^分频,

总分频次数由分母m决定,规律是进行n次j+l分频和m-n次j分频,两种分频交替进行的 计算方法也和小数分频类似,分数分频的分频系数和占空比也可以根据需要任意调节。
在图2中,控制模块发出命令,由control的值判断是何种形式的分频,4个分频模 块是平行的关系,条件满足立即运作。当control = 00时实现偶数和占空比不等于50%的 奇数分频,control = 01时实现占空比为50%的奇数分频,control = 10和11时分别实 现小数和分数分频。
权利要求
一种基于FPGA的任意数值分频器实现方法,键盘和FPGA开发平台通过数据线相连,键盘部分由数字和字母组成,用来完成系数的选择与输入;FPGA开发平台部分完成分频工作,其中m、j分别控制整数分频的分频系数和占空比;小数分频时m、n分别调整整数部分和小数部分;分数分频时j调整整数部分,而m、n用于调节分母和分子值;n1和n2用于调节分数和小数分频的占空比;y是频率输出端;具体实现的方法是a、键盘输入模块由4×4矩阵键盘组成,可以输入0~9,当A键按下时,输入的值给m,B键按下时输入的值给n,C键按下时输入的值给j,D键按下时输入的值给n1,E键按下时输入的值给n2,F键按下时输出清零;b、选择模块当输入的二进制数control=00时实现偶数和占空比不等于50%的奇数分频,control=01时实现占空比为50%的奇数分频,control=10和11时分别实现小数和分数分频;c、整数分频模块此模块可以实现任意数值的偶数分频,占空比可以根据需要进行调节,也可以实现占空比不等于50%的奇数分频,主要采用计数器实现,分频系数和占空比均可以进行调节;d、占空比为50%的奇数分频模块假设要实现占空比为50%的m=2n+1分频,选择两个2n+1进制计数器控制两个中间时钟clk1和clk2,1号计数器在输入时钟clk的上升沿计数,2号计数器在clk的下降沿计数;当计数器1输出为0~n-1时clk1为1,输出为n~2n时clk1为0;计数器1输出为2n时计数器1清0,如此循环下去;clk2的实现类似于clk1,只是在clk的下降沿运作而已;最终输出的时钟clkout=clk1+clk2;e、小数分频模块小数分频器是通过可变分频和多次平均的方法得到的,假设要进行m.n分频,如果小数是一位小数,则总共要进行10次分频,总的规律是进行n次m+1分频,10-n次m分频;如果小数是2位,需要进行100次分频,分频的规律是进行n次m+1分频,100-n次m分频;以此类推可得到多位小数的分频规律;不管是几位小数总要进行两种系数的分频,两种分频究竟如何交差进行,可以根据一定的规律计算出来;下面以3.6分频为例进行讲解;3.6分频要进行6次4分频,4次3分频,将小数部分6按倍累加,假设累加的值为a,如果a小于10则进行3分频,a小于10的话下一次则加上6,此后如果a大于等于10则进行4分频,4分频过后再将累加值减去4后与10比较以决定下一次分频是4分频还是3分频;如此计算下去即可;f、分数分频模块分数分频器的设计思想与小数分频器类似,假设进行分频,总分频次数由分母m决定,规律是进行n次j+1分频和m-n次j分频,两种分频交替进行的计算方法也和小数分频类似,分数分频的分频系数和占空比也可以根据需要任意调节。F2010100032663C00021.tif
全文摘要
本发明属于电子设计自动化(EDA)领域,具体涉及通过FPGA芯片和VHDL编程语言实现任意数值分频器的一种方法。本发明的目的是这样实现的以FPGA芯片为核心,加上矩阵键盘,成功设计出任意数值分频器;矩阵键盘用于分频系数和占空比的输入;FPGA芯片完成整数分频、小数分频和分数分频的设计与选择。由于采用上述技术方案,本发明所具有的优点和积极效果是开发周期短、开发成本低、针对的分频需求多种多样,适合于解决不同的分频问题;整个设计只用了225个LE,大部分低廉的CPLD或者FPGA都可以实现;既可以实现整数分频,也可以实现小数分频和分数分频;不仅分频系数可以调节,占空比也可以调整。
文档编号H03K23/68GK101789781SQ20101000326
公开日2010年7月28日 申请日期2010年1月8日 优先权日2010年1月8日
发明者周殿凤 申请人:盐城师范学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1