图5所示是一个分频系数为2.5的分频器电路,该电路是用FPGA来设计半整数分频器的。它由模3计数器、异或门和D触发器组成。图6是其仿真波形图。
3 任意整数带小数分频
任意整数带小数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。若设计一个分频系数为10.1的分频器,即可以将分频器设计成9次10分频和1次11分频,这样,总的分频值为:
F=(9×10+1×11)/(9+1)=10.1
从这种实现方法的特点可以看出,由于分频器的分频值不断改变,分频后得到的信号抖动一般较大。当分频系数为N-0.5(N为整数)时,可控制扣除脉冲的时间,以使输出成为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频。一般而言,这种分频由于分频输出的时钟脉冲抖动很大,故在设计中的使用已经非常少。但是,这也是可以实现的。
4 结束语
利用本文介绍的方法可在对时钟要求比较严格的FPGA系统中,用FPGA内嵌的锁相环资源来实现分频。该设计方法简单方便、节约资源、可移置性强、便于系统升级,因此,在时钟要求不太严格的系统中应用非常广泛,同时在以后的FPGA设计发展中也有很大的应用空间。