基于VHDL和FPGA的多种分频的实现方法

发布者:大酉幽华1最新更新时间:2011-04-20 来源: elecfans关键字:VHDL  FPGA  分频 手机看文章 扫描二维码
随时随地手机看文章
    分频器是数字系统设计中的基本电路,根据不同设计的需要,我们会遇到偶数分频、奇数分频、半整数分频等,有时要求等占空比,有时要求非等占空比。在同一个设计中有时要求多种形式的分频。通常由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频,实现较为简单。但对半整数分频及等占空比的奇数分频实现较为困难。本文利用VHDL硬件描述语言,通过QuartusⅡ3.0开发平台,使用Altera公司的FPGA,设计了一种能够满足上述各种要求的较为通用的分频器。

  一、电路设计

  采用FPGA实现半整数分频器,可以采用以下方法:设计一个模N的计数器,再设计一个脉冲扣除电路,每来两个脉冲扣除一个脉冲,即可实现分频系数为N-0.5的分频器。脉冲扣除电路由异或门和一个2分频器构成。本设计在半整数分频器原理的基础上,对异或门加一个使能控制信号,通过对异或门和计数器计数状态值的控制,实现同一个电路完成多种形式分频,如图1所示。

  


  二、VHDL语言的实现

  现通过设计一个可以实现8.5分频,等占空比的17分频,2、4、8、16、32分频,及占空比为1∶8和4∶5的9分频等多种形式分频的分频器,介绍该通用分频器的FPGA实现。

  由图1所示的电路原理图可知,分频器由带使能端的异或门、模N计数器和一个2分频器组成,本设计用D触发器来完成2分频的功能,实现方法是:将触发器的Q反输出端反馈回输入端D,将计数器的一个计数输出端作为D触发器的时钟输入端。各功能模块的VHDL语言实现如下。

  1.模N计数器的实现

  一般设计中用到计数器时,我们可以调用lpm库中的计数器模块,也可以采用VHDL语言自己设计一个模N计数器。本设计采用VHDL语言设计一个最大模值为16的计数器。输入端口为:使能信号en,复位信号clr和时钟信号clk;输出端口为:qa、qb、qc、qd。其VHDL语言描述略。

  2.带使能控制的异或门的实现

  输入端为:xor_en:异或使能,a和b:异或输入;输出端为:c:异或输出。当xor_en为高电平时,c输出a和b的异或值。当xor_en为低电平时,c输出信号b。其VHDL语言略。

  3.2分频(触发器)的实现

  输入端为:时钟信号clk,输入信号d;输出端为:q:输出信号a,q1:输出信号a反。其VHDL语言略。

  4.分频器的实现

  本设计采用层次化的设计方法,首先设计实现分频器电路中各组成电路元件,然后通过元件例化的方法,调用各元件,实现整个分频器。其VHDL语言略。

  三、仿真结果及硬件电路的测试

  本设计的目的是通用性和简易性,只要对上述程序稍加改动即可实现多种形式的分频。

  1.实现8.5分频和等占空比的17分频

  只要将上述程序中,调用计数器模块时端口qa、qb、qc匹配为open状态,同时置xor_en为高电平即可。从编译报告看出总共占用8个逻辑单元(logic elements),其仿真波形如图2~4所示。

  

  图二

  

  图三

  

  图四

  由图中qxiao和clk的波形可以看出,每隔8.5个时钟周期,qxiao信号产生一个上升沿,从而实现分频系数是8.5的分频,同时在qzheng端得到等占空比的17分频。设clk为170MHz,则qxiao输出为20MHz,qzheng输出为10MHz。

  2.实现占空比为1∶8和4∶5的9分频

  只要上述程序的xor_en置低电平即可在qxiao输出占空比为1∶8的9分频信号;在qzheng2输出占空比为4∶5的9分频信号。同样仅占8个逻辑单元(logic elements)。仿真波形如下。

  3.实现等占空比的2、4、8、16和32分频 只要将上述程序中的xor_en置为低电平,同时将计数器模块的计数最大值设为16即可。仿真波形如下。

  由此可见,只要稍微改变计数器的计数状态值,对异或门进行选通控制,即可实现上述多种形式的分频。本设计在Altera公司的EP1K50QC208-3构成的测试平台上测试通过,性能良好。

  结束语

  我们在设计模拟雷达脉冲信号和用FPGA开发扩频芯片时就用到了上述多种形式得分频。本文旨在介绍一种进行FPGA开发时,所需多种分频的实现方法,如果设计中所需分频形式较多,可以直接利用本设计,通过对程序的稍微改动以满足自己设计的要求。如果设计中需要分频形式较少,可以利用本设计部分程序,以节省资源。

关键字:VHDL  FPGA  分频 引用地址:基于VHDL和FPGA的多种分频的实现方法

上一篇:智能流程简化可编程系统芯片设计
下一篇:基于FPGA的65nm芯片的设计方案

推荐阅读最新更新时间:2024-05-02 21:21

基于流水线技术的并行高效FIR滤波器设计
  数字滤波器可以滤除多余的噪声,扩展信号频带,完成信号预调,改变信号的特定频谱分量,从而得到预期的结果。数字滤波器在DVB、无线通信等数字信号处理中有着广泛的应用。在数字信号处理中,传统滤波器通过高速乘法累加器实现,这种方法在下一个采样周期到来期间,只能进行有限操作,从而限制了带宽。现实中的信号都是以一定的序列进入处理器的,因此处理器在一个时间周期内只能处理有限的位数,不能完全并行处理。基于并行流水线结构的FIR滤波器可以使笔者设计的64阶或者128阶滤波器与16阶滤波器的速度一样快,其显著特点是在算法的每一个阶段存取数据。FPGA结构使得以采样速率处理数字信号成为常数乘法器的理想载体,提高了整个系统的性能。由于设计要求的差异,
[安防电子]
基于流水线技术的并行高效FIR滤波器设计
FPGA在计算复杂的医疗成像设备中的应用
  医疗成像设备在医疗保健领域继续发挥着越来越重要的作用,成像技术正在增加并向新的应用领域扩张。为了满足市场的需求,系统设计必须具备灵活性,还需要着重提高诊断图片的质量,方便病人以及降低成本。为了提供这些预期功能,系统开发人员开始转用FPGA。   尽早诊断和治疗正在推动成像技术的使用和混合技术的融合,如正电子发射断层扫描(PET)和电脑断层扫描(CT)。要得到所需要的更高分辨率的图像,需要采用精确的几何微阵列检测器和复杂的软件/硬件系统对光子和电子信号进行分析。这些系统必须对数量不断增加的图像数据(高达10 Gbits/s)进行高精度且极快速的处理。此外,为了降低病人的医疗费用,设备还存在成本的压力,因而必须具有较长的使用寿命
[医疗电子]
<font color='red'>FPGA</font>在计算复杂的医疗成像设备中的应用
基于FPGA的四阶IIR数字滤波器
摘要:采用FPGA实现四阶IIR数字滤波器,通过两个二阶节级联构成数字椭圆低通滤波器。通带内波纹小于0.1dB,阻带衰减大于32dB。 关键词:四阶 IIR 椭圆滤波器 补码阵列乘法器 常用的数字滤波器有FIR数字滤波器和IIR数字滤波器。FIR数字滤波器具有精确的线性相位特性,在信号处理方面应用极为广泛,而且可以采用事先设计调试好的FIR数字滤波器IP Core来完成设计,例如Altera公司提供的针对Altera系列可编程器件的MegaCore,但是需要向Altera公司购买或申请试用版。另外,对于相同的设计指标,FIR滤波器所要求的阶数比IIR滤波器高5~10倍,成本较高,而且信号的延迟也较大。IIR滤波器所要求的阶数
[应用]
基于SOPC的运动视觉处理系统的设计与实现
   0 引言   随着深亚微米工艺的发展, FPGA的容量和密度不断增加,以其强大的并行乘加运算(MAC)能力和灵活的动态可重构性,被广泛应用于通信、图像等许多领域。但是在复杂算法的实现上,FPGA不如嵌入式处理器方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要和嵌入式处理器结合使用,这就是 SOPC(System on a Programmable chip,可编程片上系统)技术。 SoPC是 SoC和 FPGA结合的产物,由单个可编程重构的芯片完成整个系统的主要功能。SoPC设计灵活多变,可以用原理图,硬件描述语言甚至是 C/C++高级语言进行设计;同时还具有可重构、可裁减、可扩充等特点,升级方便。 SoPC兼备
[嵌入式]
FPGA实现的FIR算法在汽车动态称重仪中的应用
引言   车辆在动态称重时,作用在平台上的力除真实轴重外,还有许多因素产生的干扰力,如:车速、车辆自身谐振、路面激励、轮胎驱动力等,给动态称重实现高精度测量造成很大困难。若在消除干扰的过程中采用模拟方法滤波,参数则不能过大,否则将产生过大的延迟导致不能实现实时处理,从而造成滤波后的信号仍然含有相当一部分的噪声。所以必须采用数字滤波消除干扰。 FIR滤波的原理及实现   本文采用FIR数字滤波,其原理如公式1所示。   Y(n)= (1)   其中h(k)为系统滤波参数,x(n)为采集的信号,Y(n)为滤波后的输出信号。   FIR滤波器的h(n)0≤n≤N-1   H(z)= (2)   在本文中N=17。由于h(n
[测试测量]
ACTEL应对医疗设备的小型化和便携趋势
基于其提供高可靠性FPGA的悠久历史,Actel公司宣布该公司之混合信号Fusion和低功耗IGLOO和ProASIC3系列FPGA,能够协助医疗设备的设计人员处于不断发展的小型化和便携化趋势的前沿。Actel以Flash为基础的FPGA具有超低功耗、高可靠性、高集成度、小占位面积和升级的安全性优势,使它们成为了智能系统和功率管理及各种接口、显示、通信和存储控制,以及微控制器功能别具吸引力的选择。Actel同时公布在医疗应用领域的多个成功例子,范围涵盖从家庭用测试和监控器件和临床设备以至成像应用。 市场研究机构Gartner Dataquest在2008年9月的报告指出,针对半导体的医疗电子市场在2008 年的规模预
[嵌入式]
Altera发布SoC FPGA软件开发虚拟目标
    Altera公司日前宣布可以提供FPGA业界的第一个虚拟目标平台,支持面向Altera最新发布的SoC FPGA器件立即开始器件专用嵌入式软件的开发。在Synopsys有限公司成熟的虚拟原型开发解决方案基础上,SoC FPGA虚拟目标是基于PC在Altera SoC FPGA开发电路板上的功能仿真。虚拟目标与SoC FPGA电路板二进制和寄存器兼容,功能等价,保证了开发人员以最小的工作量将在虚拟目标上开发的软件移植到实际电路板上。支持Linux和VxWorks,并在主要ARM辅助系统开发工具的帮助下,嵌入式软件工程师利用虚拟目标,使用熟悉的工具来开发应用软件,最大限度的重新使用已有代码,利用前所未有的目标控制和目标可视化功能
[嵌入式]
STM32单片机SPI总线与FPGA的通信设计
最近在研究SPI总线,至于协议和硬件描述就不多说了 四线包括时钟、片选、接收、发送 初始化SP SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //全双工 SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //主模式 SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; //16bit宽度 SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2E
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved