当前位置:文档之家› 分频器

分频器

第36卷第2期信息化研究Vo l.36 No. 2 2010年2月I nfo r m a t iza t ion R e s ea r ch Feb. 2010基于FPGA 的任意数值分频器的设计周殿凤,康素成,王俊华(盐城师范学院物理科学与电子技术学院,江苏省盐城市224002 )摘要:介绍了基于FPG A 的任意分频系数的分频器的设计,该分频器能实现分频系数和占空比均可以调节的3 类分频:整数分频、小数分频和分数分频。

所有分频均通过VHDL 语言进行了编译并且给出了仿真图。

本设计中的分频器没有竞争冒险,可移植性强,占用的FPG A资源少。

本设计在A l2 te ra 公司的Cyc l o neⅡ系列EP2C35 型FPG A芯片中完全可实现,结果表明设计是正确和可行的。

由于分频器应用非常广泛,故本设计具有很强的实用价值。

关键词: FPG A; VHDL;分频器中图分类号: TP2770 引言FPG A 作为未来数字系统的 3 大基石( FPG A、D SP、CPU ) 之一, 成为目前硬件设计研究的重点[ 1 ] 。

在数字系统的设计中,设计人员会遇到各种形式的分频需求,如偶数分频、奇数分频、半整数分频、小数分频率的1 / 10。

从图1可看出当j = 5 = m/ 2时输出时钟占空比为50 %。

图110分频器波形图和分数分频等。

在某些设计中,系统不仅对频率有要求,而且对占空比也有严格的要求。

由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频实现起来较为简单, 但对半整数分频及等占空比的奇数分频实现较为困难,小数分频和分数分频更占空比为50 %的奇数分频实现起来较为困难,实现的方法较多,文中介绍了一种占用资源较少的方法。

假设要实现占空比为50 %的m = 2 n+ 1 分频, 选择两个2 n+ 1进制计数器控制两个中间时钟c lk1 和c l k2 , 1 号计数器在输入时钟c l k的上升沿计数, 2 号在c l k 的困难[ 2 ] 。

为了解决这一问题,本文首先分析了各种分下降沿计数。

当计数器1 输出为0 ~n - 1 时c l k1 为频器的设计方法,然后将其综合起来成为一个通用分频器。

通过分析分频器的原理,探索出了一套简单明了的设计方法,设计了一个任意数值通用分频器,该分频器没有毛刺且占用的逻辑资源较少。

1 整数分频器偶数分频器的设计较为简单,可以利用计数器实1 ,输出为n ~2 n 时c l k1为0 且计数器1 输出为 2 n时计数器1清0 , 如此循环下去; 当计数器2输出为0 ~n - 1 时c l k2为1 ,输出为n ~2 n 时c l k2为0且计数器2输出为 2 n时计数器 2 清0 ,如此循环下去。

可见2种计数器实现方法一样,只是翻转的边沿不一样,最终输出的时钟c l kou t = c l k1 + c l k2。

占空比为50 %的奇数分频仿真图见图2 ,图中m = 9 ,因此是9 分频电路,现[ 3 ] 。

假设要实现m = 2 n分频, 当计数器的值为0 ~通过预置值m 可以非常方便的对分频系数进行设置j - 1时,输出时钟为 1 ,计数器的值为j~2 n- 1 时,输出时钟为0 ,在计数器值为2 n - 1 时复位计数器,如此循环下去,即可实现占空比为j/2 n的分频, m 和j都是预置数, j用于调节占空比, m 调节分频系数。

m 的值不同,分频系数也就不同, 如果预置数m 是奇数则可实现占空比不等于50 %的奇数分频。

图1 中m 取值10,故实现的是10 分频, 输出时钟频率是输入时钟频收稿日期: 2009212 220; 修回日期: 2010201209。

基金项目:江苏省高校自然科学基金资助项目( 08KJD140005) ;盐城师范学院校级基金资助项目( 09YCK L 016) 。

而不需要重新编程。

图29分频器波形图2小数分频器小数分频器是通过可变分频和多次平均的方法得到的[ 4 25 ] 。

假设要进行m . n分频( m 、n都是整数, 且n < 10 ),因为只有一位小数,所以总共要进行1 0次分·59·分频次数累加值分频系数1 6 32 12 43 8 34 14 45 10 36 16 47 12 48 8 39 14 4 10 10 3n ·技术应用 · 信 息 化 研 究2010年 2月频 ,总的规律是进行 n 次 m + 1分频 , 10 - n 次 m 分频 。

begin假设要进行 .j m n 分频 ( j 、m 、n 都是整数且 m 、n < 10 ) , if c s = ′0 ′then由于小数是 2 位 ,所以总共要进行 100 次分频 ,分频的 规律是进行 m n 次 j + 1 分频 , 100 - m n 次 j 分频 。

不管 是几位小数总要进行两种系数的分频 ,两种分频究竟如 何交叉进行 ,可以根据一定的规律计算出来 ,下面以 3. 6 分频为例进行讲解 。

由上面的分析知道 3. 6 分频要进 行 6次 4分频 , 4次 3分频 。

将小数部分 6按倍累加 ,假 设累加的值为 a,如果 a < 10则进行 3分频 , a < 10的话 下一次则加上 6,此后 ,如果 a ≥10 则进行 4 分频 , 4 分 频过后再将累加值减去 4后与 10比较以决定下一次分 频是 4分频还是 3分频 ,计算过程见表 1。

表 1 3. 6 分频序列分频次数累加值分频系数1 6 32 12 43 8 34 14 45 10 46 6 37 12 4 88 3 9 14 410104从表 1中看出分频规律是 :首先进行 3 分频 ,然后 进行 4分频 ,接着进行 1次 3分频和 2次 4 分频 ,如此循环下去 。

小数分频通用分频器见图 3。

if c l k ′even t and c l k = ′1′then if en = ′1 ′then / /m 分频if cn t 1 < m - 1 then cn t 1 < = cn t 1 + 1; e l se cn t 1 < = 0; end if;if cn t 1 < n1 then c l k t emp < = ′1′; e l se c l k t emp < = ′0 ′; end if;e l se / /m + 1分频if cn t 2 < m then cn t 2 < = cn t 2 + 1; e l se cn t 2 < = 0; end if;if cn t 2 < n2 then c l k t emp < = ′1 ′; e l se c l k t emp < = ′0 ′; end if;end if; end if; end if; end p r oce s s;y < = c l k t emp;3 分数分频器分数分频器的设计思想与小数分频器类似 。

假设进行 j分频 ,总分频次数由分母 m 决定 ,规律是进行 mn 次 j + 1分频和 m - n 次 j 分频 。

两种分频交替进行的计算方法也和小数分频类似 。

究竟是进行 j + 1 分 频还是 分j 频就看累加的结果是大于等于分母还是小6的分频计算过程见表 2, 可见要进行 6 次图 3 3. 6分频器波形图其中 m 表示整数部分 , n 是小数部分 , n 1、n 2 用于 控制占空比 , m 、n 、n 1、n 2可自行设置 。

图 3 中 m 、n 的 于分母 。

3 114分频 , 5次 3 分频 , 满足上面的规律 。

分数通用分频器见图 4, 其中 j 、m 、n 分别取 3、11、6, 故实现了 3 6分 11取值分别为 3 和 6 ,故实现 3. 6 分频 。

通用小数分频 程序核心代码如下 :p r oce s s ( c l k t emp ) / /自动调整分频系数和变频va r iab l e temp: in t eg e r rang e 0 to 20; / /小数累加值 beginif c l k t emp ′even t and c l k t emp = ′1 ′then temp: = temp + n; / /小数累加if temp < 10 then en < = ′1′; / /m 分频标识 e l se en < = ′0 ′; / /m + 1分频标识 temp: = temp - 10; end if; end if; end p roce s s; p r oce s s ( c l k ) / /分频·60·频 , 参数 n 1、n 2用来调节占空比 。

表 2 36分频序列 1111164第 36卷第 2期 周殿凤 ,等 :基于 FPG A 的任意数值分频器的设计 ·技术应用 ·图 4 3 6分频器波形图114 任意数值分频器加入控制模块就可以将上述 4种分频器集成到一起 ,变成任意数值分频器 ,顶层原理见图 5。

图 5 任意数值分频器原理图当输入的二进制数 a = 00时实现偶数和占空比不等于 50 %的奇数分频 , a = 01 时实现占空比为 50 %的 奇数分频 , a = 10 和 11 时分别实现小数和分数分频 。

其中 m 、j 分别控制整数分频的分频系数和占空比 。

小 数分频时 m 、n 分别调整整数部分和小数部分 ; 分数分 频时 j 调整整数部分 , 而 m 、n 分别控制分母和分子值 。

n 1 和 n 2 用于调节分数和小数分频的占空比 。

因为有 小数和分数分频 , 所以预置端口较多 , 但是可调性也达到了最大 。

5 结束语文中介绍了任意数值分频器的设计 ,可以方便地 对占空比和分频系数进行调节而不需要重新编程 ,整 个程序占用逻辑资源不到 EP2C35 芯片的千分之一 。

本设计有 很 大 的 通 用 性 , 可 以 在 不 同 的 FPG A 甚 至CPLD 芯片间移植 , 不管对初学者还是程序设计人员都有一定的参考价值 。

参 考 文 献[ 1 ] 张静亚. FPG A 系统设计中资源分配的分析和研究 [ J ]. 信息化研究 , 2009 , 35 ( 3 ) : 37239.[ 2 ] 周子昂 ,王福源 , 魏军辉. 基于 FPG A 的通 用分频器设计[ J ]. 微计算机学报 , 2009 , 25 ( 3 22) : 2072209.[ 3 ] 潘松 , 黄继业. EDA 技术实用教程 [M ]. 北京 : 科 学 出 版社 , 2006.[ 4 ] 何攀峰 ,刘亮. Σ - Δ调制小数分频器四模分频控制方法的分析与实现 [ J ]. 研究与开发 , 2008 , 27 ( 4 ) : 31233.[ 5 ] 白雪皎. 基于 CPLD 半整数分频器的设计 [ J ]. 长春大学学报 , 2006, 116 ( 1 ) : 13215.周殿凤 ( 19782) ,女 ,硕士 ,讲师 ,主要从事电子方面的教学 与研究 。

相关主题