奇数分频电路的设计与实现

点赞:15691 浏览:69724 近期更新时间:2024-02-10 作者:网友分享原创网站原创

摘 要:提出了利用倍频器和格雷码计数器实现等占空比奇数分频电路,其中倍频器要严格控制好时序,以使整个电路正常工作.文中给出了3分频电路的完整设计,并且对3分频电路进行了仿真验证,结果显示该方案合理可行.全部电路都采用CMOS元器件构成,与现在非常流行的CMOS工艺相兼容,可以方便的集成到芯片上,而且格雷码计数最大的消除了计数时电路可能产生的冒险现象.

关 键 词:等占空比;奇数分频器;倍频器;格雷码计数器

在基于FPGA的数字电路设计中,虽然可以使用集成锁相环(EDA软件提供的宏功能模块)来进行时钟的分频、倍频以及相移设计,但是这类锁相环数量有限,因此在一些场合需要自主设计电路进行时钟分频.

文中设计了一种简单的电路结构实现奇数等占空比分频,全部电路都采用CMOS元器件构成,与现在非常流行的CMOS工艺相兼容,可以方便的集成到芯片上,实现分频功能.

本设计要点是利用倍频器将输入频率变为原来的2倍,然后对加倍后的频率进行偶数等占空比分频.设计中倍频器的实现受到数字电路中边沿检测电路的启发,完全与CMOS工艺兼容,其难点是时序的控制,直接影响到整个电路能否工作;偶数分频还是采用计数器实现,但是设计中利用格雷码来计数,尽可能最大的消除了计数时电路可能产生的冒险现象.本设计利用Candence自带的仿真工具Spectre进行了仿真验证.


1奇数分频电路设计原理

受外部周期信号激励的震荡,其频率恰为激励信号频率的纯分数,都叫做分频.分频的目的在于只用一个振荡器(如石英晶体振荡器)通过分频电路得到所需的不同频率的时钟信号.可用计数器和门电路实现分频或者用比较器实现分频.例如5分频电路,从0000开始计数,当计数到0100时,让计数器发出一个脉冲,迫使计数器复位,再从0000开始计数,则此脉冲就是分频后的脉冲信号.另一种方法是用计数器作为计数电路,与比较器预置的数字N比较,一旦两者相等,就输出一个脉冲信号.此信号即为N分频信号.当实现等占空比分频时,奇数分频用计数器来分频实现就比较困难.

有些文章介绍过实现占空比为50%的N倍奇数分频电路的方法.大多数是采用2个模N计数器,当计数到相同的值时分别用时钟的上升沿和下降沿触发,再将2个非等占空比信号相与,来实现奇数等占空比分频.原理很简单,但是用2个计数器,浪费资源,尤其是现在芯片做的越来越小,面积是一个很重要的制约芯片发展的因素.而且计数器产生的信号有很多毛刺,即所谓的冒险现象.本文提出了一种新的方法,原理框图如图1所示,来解决以上问题.

当要求N奇数等占空比分频,输入频率为CLK,输出频率F,则三者满足如下关系

F等于CLK/N(1)

利用倍频器将CLK信号二倍频,输出信号F1频率为CLK的2倍,即F1等于2CLK,因此计数器只需对2CLK信号进行(2N)倍偶数等占空比分频,实现起来十分方便.此时三者的关系如下

F等于(2CLK)/(2N)(2)

1.1倍频器原理

倍频器的作用是将奇数分频变为偶数分频,它的设计受到数字电路中边沿检测电路的启发,在数字电路中,尤其是FPGA方面的设计,译码器肯定会用到,一般的大规模集成电路的译码器都会多出一根输出信号,作为边沿检测,来检测地址的电平翻转.可以仿照此设计,来实现倍频.比如输入时钟CLK,在CLK的上升沿和下降沿,输出信号都翻转,即只要CLK电平发生翻转,则输出信号F1就跳变.这样得到的输出信号的频率就为CLK频率的2倍,即F1等于2CLK.用数字电路的基本门单元进行逻辑设计.电路图如图2所示.D触发器构成T触发器,只要其时钟发生跳变,其输出就跳变.D触发器由多路开关组成,其电路图如图3所示.

首先检测设输入频率CLK和D触发器的输出Q的初始状态均为高电平1.经过逻辑运算,F1输出低电平0,即D触发器的时钟为恒定电平,其输出维持1不变.现在建设输入频率CLK发生跳变,CLK跳变为低电平,此时由于延时,D触发器的输出Q仍然维持1一段时间,在这段时间里,F1的电平跳变为1.当F1跳变时,D触发器输出随之发生跳变,由1变为0,此时再与CLK的低电平逻辑组合,F1的输出又跳变为0.由此可以看出,CLK一次电平跳变,F1的电平跳变2次.即频率满足如下关系

F1等于2CLK(3)

图2实现了输入信号CLK的倍频.

图4给出了图2所示的倍频器电路输入和输出时钟的波形示意图.其中F1的高电平宽度与延迟有关,检测设触发器的延迟为tdq,各个基本单元的延迟为tab,所以tn满足

tn等于tdq+4tab(4)

其中4tab分别为图2中I3,I5,I7,和I8的延迟.有一点必须注意,tn必须足够宽,使得图1中的计数器可以计数,考虑最坏情形,tn必须大于计数器的传播延迟和建立时间.本设计中I5和I6均采用相同的反相器链设计,来增加F1的高电平延迟.反相器链前几级PMOS管采用倒比管,以此增加上升时间,增加延迟,最后一级采用驱动管,来驱动后面的负载.但是反相器链不能一味的增加反相器,因为延迟太久可能导致倍频器不能对输入时钟进行双边沿采样,即倍频.

本设计的重点就是时序的控制,延迟时间直接影响后面的计数器的工作.

1.2格雷码计数器原理

在高速电路中计数,当计数值跳变时电路可能会出现冒险现象,使分频电路的可靠性降低,为了消除冒险现象,本设计中计数时采用格雷码计数,使计数值跳变时只有1位信号发生变化.为了详细说明原理,以3分频设计为例,当要求实现等占空比的3分频电路时,采用此设计,经过倍频器倍频,输入频率加倍,计数器需要实现6分频,需要为6进制计数器,会有6个状态的跳变.格雷码跳变顺序为

001―011―010―110―111―101(Q2Q1Q0)

在格雷码计数器值从001到101的6个状态跳变过程中,每次跳变都只有1位信号发生变化,其跳变过程中不可能出现任何的毛刺输出.有效的避免了冒险现象的发生.为了实现等占空比分频,选定值010,当计数器计数到此值时,进行输出时钟翻转,经过3个时钟后恢复到初始状态,输出时钟再次翻转,这样计数器实现了6分频.

采用3个D触发器和门级单元逻辑组合实现六进制计数器,为了实现等占空比,D触发器需要为下降沿出发,计数的状态转移顺序按上面的格雷码跳变顺序,Q2作为输出,用卡诺图化简后得到逻辑表达式如下

Q0*等于Q2Q1+Q0Q1(5)

Q1*等于Q1Q0′+Q2′Q0(6)

Q2*等于Q1Q2′+Q2′Q1Q0′(7)

根据表达式设计格雷码6进制计数器,电路图如图5.Q0*、Q1*、Q2*按照上面的表达式,采用基本的门单元进行逻辑组合,组合前先利用范德蒙定律将表达式化简.

2分频电路仿真验证

将图1作为顶层电路,图2和图5作为其子电路,对图1进行仿真.仿真工具采用Candence自带的仿真工具Spectre,输入时钟信号CLK占空比为1:1,仿真结果如图6所示.

从图6仿真结果看出分频后的时钟F满足设计要求,实现了3分频,且占空比1∶1,且波形规则,没有毛刺,从而验证了本设计逻辑正确.

3等占空比任意奇数分频电路的设计思路

奇数分频电路的设计与实现参考属性评定
有关论文范文主题研究: 关于数字电路的论文范文文献 大学生适用: 学年论文、在职研究生论文
相关参考文献下载数量: 78 写作解决问题: 学术论文怎么写
毕业论文开题报告: 标准论文格式、论文题目 职称论文适用: 期刊发表、中级职称
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 免费选题

本论文提出的原理思想,可以很容易的推广到等占空比为50%的任意奇数分频电路的设计中.

只需对输入频率CLK信号进行倍频,得到(2CLK)时钟信号,剩下的只

需对(2CLK)信号进行偶数分频,偶数分频的方案已经很成熟,利用计数器,计数到N/2-1,然后时钟翻转,即可实现等占空比分频.采用格雷码计数器,又很好的消除了冒险现象.

4结束语

文中提出利用倍频器和格雷码计数器实现等占空比奇数分频电路,给出了3分频电路的完整设计,并且对3分频电路进行了仿真验证,结果完全符合设计要求.

在基于FPGA的数字电路设计中,在一些场合需要自主设计电路进行时钟分频.根据本文提出的原理思想,可以方便的实现等占空比任意奇数分频.本设计全部电路都采用CMOS元器件构成,与现在非常流行的CMOS工艺相兼容,可以方便的集成到芯片上,实现分频功能.在一些特殊的场合,本论文提出的实现等占空比奇数分频的方法是很重要的.