基于赛灵思FPGA的频率计设计

2013-01-27 16:48:39来源: 21ic 关键字:赛灵思  FPGA  频率计
   

首先是将频率分频,产生1HZ频率,程序如下:

-------------------------------------------------------------------
-- 说明: 分频模块,将标准输入频率分频为1HZ
-- 文件: fenpin.vhd
-- 作者:
-- 日期: 2012/04/09
-- 修改:
-- 软件: Altera QuartusII 9.0 
-- 芯片: Altera Cyclone FPGA (EP1C3T144C8)
-------------------------------------------------------------------


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;   --运算符重载的一个头文件


--实体描述部分
ENTITY fenpin IS
      PORT(                  --端口声明
               CLKIN    : IN  STD_LOGIC;
               CLK1HZ : OUT STD_LOGIC
           ); 
END fenpin;


--结构体描述部分
ARCHITECTURE bhv OF fenpin IS
 
 SIGNAL Q : STD_LOGIC;
 
BEGIN
 PROCESS(CLKIN)  --IF语句放在进程中
  CONSTANT shuru_05CLK :integer := 50000;        --shuru_05CLK是标准输入频率的一半,这里使shuru_05CLK=50000,
                                                                                   --就是假设标准信号是100000HZ,要根据实际输入频率更改这个常量
        VARIABLE CNT :integer := 0 ;              
 BEGIN
  IF (CLKIN\'EVENT AND CLKIN=\'0\') THEN     --功能:当时钟下降沿到来,判断变量CNT=shuru_05CLK的值没有
   IF CNT=shuru_05CLK THEN                        --      不等于就继续累加,直到CNT=shuru_05CLK,此时就将信
    CNT := 0; Q <= NOT Q;                               --      号Q取反,并把CNT清零,也就是每shuru_05CLK(这里是
    ELSE CNT := CNT + 1;                                --      50000)次时钟变化,才让Q变一次,达到了分频效果。
   END IF;
  END IF;  
 END PROCESS;    --进程结束
 CLK1HZ <= Q ;
END bhv;                  --结束结构体

 

其次是测频控制模块,主要用来产生1S的闸门信号,如下:

-------------------------------------------------------------------
-- 说明: 测频控制模块
-- 文件: kongzhi.vhd
-- 作者:
-- 日期: 2012/04/09
-- 修改:
-- 软件: Altera QuartusII 9.0 
-- 芯片: Altera Cyclone FPGA (EP1C3T144C8)
-------------------------------------------------------------------


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
--USE IEEE.STD_LOGIC_UNSIGNED.ALL;   --运算符重载的一个头文件


--实体描述部分
ENTITY kongzhi IS
      PORT(                  --端口声明
                              CLKK : IN  STD_LOGIC;
               RST_CNT,CNT_EN,LOAD : OUT STD_LOGIC
           ); 
END kongzhi;


--结构体描述部分
ARCHITECTURE bhv OF kongzhi IS
 
 SIGNAL Q : STD_LOGIC;
 
BEGIN
 PROCESS(CLKK)  --IF语句放在进程中
 BEGIN
  IF (CLKK\'EVENT AND CLKK=\'1\') THEN
   Q <= NOT Q;
  END IF;
  IF CLKK=\'0\' AND Q = \'0\' THEN       RST_CNT <= \'1\' ;
   ELSE RST_CNT <= \'0\';
  END IF;
 END PROCESS;    --进程结束
 CNT_EN <= Q ;
 LOAD <= NOT Q ;
END bhv;            --结束结构体

 

第三步是计数器部分,对待测信号进行频率计数:

-------------------------------------------------------------------
-- 说明: 1位十进制计数器模块
-- 文件: CNT10.vhd
-- 作者:
-- 日期: 2012/04/09
-- 修改:
-- 软件: Altera QuartusII 9.0 
-- 芯片: Altera Cyclone FPGA (EP1C3T144C8)
-------------------------------------------------------------------


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;   --运算符重载的一个头文件


--实体描述部分
ENTITY CNT10 IS
      PORT(                   --端口声明
            CLK, CLR, EN, RESET : IN  STD_LOGIC;
         COUT : OUT STD_LOGIC;
          Q : OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0 )
           ); 
END CNT10;


--结构体描述部分
ARCHITECTURE bhv OF CNT10 IS
 
 SIGNAL Q1 : STD_LOGIC_VECTOR ( 3 DOWNTO 0 );--定义四位宽的矢量型信号节点
 
BEGIN
 PROCESS(CLR,CLK)  --IF语句放在进程中
 BEGIN
  IF RESET = \'0\' THEN Q1 <= "0000";COUT <= \'0\';        --复位信号,当RESET为0时复位,正常为低电平
   ELSIF CLR = \'1\' THEN Q1 <= "0000";COUT <= \'0\';     --清零信号,当CLR为1时清零,正常为低电平
    ELSIF CLK\'EVENT AND CLK = \'1\' THEN
       IF EN=\'1\' THEN
      IF Q1<9 THEN Q1 <= Q1+1;COUT <= \'0\';    --计数器未计满9就继续计数
       ELSE Q1 <= "0000";COUT <= \'1\';                --计数器计满9就清零,产生进位信号
      END IF;
     END IF;
  END IF;
 END PROCESS;    --进程结束
 Q <= Q1;                --端口赋值
END bhv;                 --结束结构体

[1] [2]

关键字:赛灵思  FPGA  频率计

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2013/0127/article_3298.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:短波扩频猝发通信系统的DSP+FPGA实现方案
下一篇:USB读数装置及上位机的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
赛灵思
FPGA
频率计

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved