欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      基于FPGA的等精度頻率計

      時間:2019-05-12 07:14:39下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《基于FPGA的等精度頻率計》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《基于FPGA的等精度頻率計》。

      第一篇:基于FPGA的等精度頻率計

      光電與通信工程學院

      課程設計報告書

      課 設 名 稱: 等精度頻率計 年級專業(yè)及班級:

      姓 名: 學 號:

      一、課程設計目的

      1、進一步熟悉 Quartus Ⅱ的軟件使用方法,熟悉 keil 軟件使用;

      2、熟悉單片機與可編程邏輯器件的開發(fā)流程及硬件測試方法;

      3、掌握等精度頻率計設計的基本原理。

      4、掌握獨立系統(tǒng)設計及調(diào)試方法,提高系統(tǒng)設計能力。

      實驗設備

      EDA最小系統(tǒng)板一塊(康芯)、PC機一臺、示波器一臺、信號發(fā)生器一臺、萬用表一個。

      二、設計任務

      利用單片機與FPGA設計一款等精度頻率計,待測脈沖的檢測及計數(shù)部分由 FPGA實現(xiàn),F(xiàn)PGA的計數(shù)結(jié)果送由單片機進行計算,并將最終頻率結(jié)果顯示在 數(shù)碼管上。要求該頻率計具有較高的測量精度,且在整個頻率區(qū)域能保持恒定的 測試精度,具體指標如下:

      a)具有頻率測試功能:測頻范圍 100Hz~5MHz。測頻精度:相對誤差恒為基準 頻率的萬分之一。

      b)具有脈寬測試功能:測試范圍 10μs~1s,測試精度:0.1μs。c)具有占空比測試功能:測試精度1%~99%。d)具有相位測試功能。

      (注:任務a 為基本要求,任務 b、c、d 為提高要求)

      三、基本原理

      基于傳統(tǒng)測頻原理的頻率計的測量精度將隨被測信號頻率的下降而降低,在 實用中有較大的局限性,而等精度頻率計不但具有較高的測量精度,而且在整個 頻率區(qū)域能保持恒定的測試精度。

      3.1 等精度測頻原理

      等精度頻率計主控結(jié)構(gòu)如圖 1 所示

      預置門控信號 CL 選擇為 0.1~1s 之間(通過測試實驗得出結(jié)論:CL 在這個

      范圍內(nèi)選擇時間寬度對測頻精度幾乎沒有影響)。BZH 和 TF 分別是 2 個高速計數(shù)器,BZH 對標準頻率信號(頻率為 Fs)進行計數(shù),設計數(shù)結(jié)果為 Ns;TF 對 被測信號(頻率為Fx)進行計數(shù),計數(shù)結(jié)果為 Nx,則有

      MUX64-8 模塊并不是必須的,可根據(jù)實際設計進行取舍。分析測頻計測控 時序,著重分析 START的作用,完成等精度頻率計設計。

      3.2 FPGA 模塊

      FPGA模塊所要完成的功能如圖 1 所示,由于單片機的速度慢,不能直接測 量高頻信號,所以使用高速 FPGA 為測頻核心。100MHZ 的標準頻率信號由 FPGA 內(nèi)部的 PLL 倍頻實現(xiàn),待測信號 TCLK 為方波,由信號發(fā)生器給出待測 方波信號(注意:該方波信號帶有直流偏置,沒有負電壓,幅值3.3V)。預制門控信號 CL 由單片機發(fā)出,BRNA 和 ENA 分別是 BZH 與 TF 兩個計數(shù)器的計數(shù)允許信號端。FPGA 將允許計數(shù)時間內(nèi)的 BZH、TF 的運行結(jié)果送入單片機進

      行最后的計算。

      頂層文件如下:

      2以下是把20M 5倍頻的設置,利用FPGA內(nèi)部的PLL。

      電路需要100M標準頻率信號,F(xiàn)PGA提供20M的頻率,所以需要建立PLL模塊,使之五杯頻,得到所需的100M信號。

      功能仿真設置:

      下圖是波形仿真的結(jié)果:

      3.3 單片機模塊 單片機模塊完成對整個測頻系統(tǒng)的控制,包括對FPGA的控制以及數(shù)碼管的顯示控制。測頻允許信號由單片機發(fā)出,并且單片機的P0 口負責循環(huán)讀取FPGA發(fā)送過來的測頻結(jié)果數(shù)據(jù)(BZH、TF兩個計數(shù)器的計數(shù)結(jié)果,每次傳送8位數(shù)據(jù)),P2負責發(fā)送控制信號,單片機可以通過結(jié)束信號了解測頻記數(shù)是否結(jié)束,以確定何時開始讀取數(shù)據(jù)。

      附上康芯原理圖截圖:

      四、實驗現(xiàn)象

      占空比

      五、心得體會

      這周課程設計的題目是等精度頻率計的設計,由于書本上有一段程序,所以一開始只是將書上的程序和顯示波形研究了一下。當?shù)秸n程設計的時候,將書上程序敲入并實現(xiàn)效果后有點茫然的感覺。于是,我又仔仔細細地分析了一遍設計原理,從新改變了輸入的代碼,加上自己的思路,并能自己添加預置控制信息CL模塊。原本我還想將測試頻率顯示在數(shù)碼管上,但是最終沒能實現(xiàn),這應該是我的一個遺憾吧。設計中,我感受到了硬件描述語言的強大,我可以幾乎不用考慮硬件條件,將代碼導入就可實現(xiàn)功能。不要總想著去依靠書本上的原題或者是他人,自己思考的做出來的,才算是自己真正收獲的。本次實驗最大的收獲莫過于,獨立系統(tǒng)的去完成一項任務。在其中我查閱了大量的資料,尤其是數(shù)字電路、quartersⅡ軟件使用說明、EDA設計等方面的資料。

      通過本次學習使我對時序電路有了更深的理解,具體體現(xiàn)在復位、計數(shù)、鎖存多環(huán)節(jié)的控制上。同時,在這次實驗中,我第一次聯(lián)合單片機和EDA一起完成一個項目。EDA充分的發(fā)揮其高頻工作的特點,使得頻率測量的上限很高。單片機則在整個系統(tǒng)中充當控制及數(shù)據(jù)處理的作用

      設計的優(yōu)點及缺點

      本頻率計最大優(yōu)點在于它的高精度。信號頻率的測量,不受閘門信號精度的影響。在被測信號送入計數(shù)器之前,先通過D觸發(fā)器,使閘門信號和被測信號同步,有效地避免了±1誤差。不僅如此,本頻率計對100HZ至5MHZ的全域相對誤差均小于百萬之一。

      當然,本頻率計也存在缺點。在頻率計的設計中,乘法器為32位,除法器采用64位,資源占用率太大。單片機處理32位數(shù)據(jù)的方式有待改進,要是它變得更優(yōu)化

      六、系統(tǒng)設計步驟及程序,結(jié)果

      FPGA: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;

      ENTITY EQUALFRECOUNT IS PORT(BCLK,TCLK:IN STD_LOGIC;

      DATA_OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

      EN:IN STD_LOGIC;

      ADDRESS:IN STD_LOGIC_VECTOR(3 DOWNTO 0));END EQUALFRECOUNT;

      ARCHITECTURE ARCH OF EQUALFRECOUNT IS SIGNAL EN2,WIDE_TEST:STD_LOGIC;SIGNAL WIDE_COUNT,B_COUNT,T_COUNT:STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL SAVE_WIDE,SAVE_B,SAVE_T:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN

      PROCESS(EN,TCLK)BEGIN IF RISING_EDGE(TCLK)THEN

      EN2<=EN;ELSE NULL;END IF;END PROCESS;PROCESS(EN2,TCLK,BCLK)BEGIN

      IF EN2='1' THEN IF RISING_EDGE(TCLK)THEN

      IF T_COUNT=X“FFFF_FFFF” THEN

      T_COUNT<=(OTHERS=>'1');

      ELSE T_COUNT<=T_COUNT+1;

      SAVE_T<=T_COUNT+1;--SAVE T_COUNT

      END IF;ELSE NULL;END IF;IF FALLING_EDGE(TCLK)THEN

      IF WIDE_TEST='0' THEN

      WIDE_COUNT<=B_COUNT;

      WIDE_TEST<='1';

      ELSE SAVE_WIDE<=WIDE_COUNT;--SAVE WIDE_COUNT

      END IF;END IF;IF RISING_EDGE(BCLK)THEN

      IF B_COUNT=X“FFFF_FFFF” THEN

      B_COUNT<=(OTHERS=>'1');

      ELSE B_COUNT<=B_COUNT+1;

      SAVE_B<=B_COUNT+1;--SAVE B_COUNT IN SAVE_B

      END IF;ELSE NULL;END IF;ELSE--WHEN ENA=0,WE OUTPUT THE DATA AND RESET THE COUNTER.WIDE_COUNT<=(OTHERS=>'0');B_COUNT<=(OTHERS=>'0');T_COUNT<=(OTHERS=>'0');WIDE_TEST<='0';END IF;END PROCESS;PROCESS(ADDRESS,EN2,SAVE_T,SAVE_B,SAVE_WIDE,BCLK)BEGIN IF RISING_EDGE(BCLK)THEN

      IF EN2='0' THEN

      --USE SOME CONSTANTS TO TEST

      CASE ADDRESS IS

      WHEN X“0”=>DATA_OUT<=SAVE_T(7 DOWNTO 0);

      WHEN X“1”=>DATA_OUT<=SAVE_T(15 DOWNTO 8);

      WHEN X“2”=>DATA_OUT<=SAVE_T(23 DOWNTO 16);

      WHEN X“3”=>DATA_OUT<=SAVE_T(31 DOWNTO 24);

      WHEN X“4”=>DATA_OUT<=SAVE_B(7 DOWNTO 0);

      WHEN X“5”=>DATA_OUT<=SAVE_B(15 DOWNTO 8);

      WHEN X“6”=>DATA_OUT<=SAVE_B(23 DOWNTO 16);

      WHEN X“7”=>DATA_OUT<=SAVE_B(31 DOWNTO 24);

      WHEN X“8”=>DATA_OUT<=SAVE_WIDE(7 DOWNTO 0);

      WHEN X“9”=>DATA_OUT<=SAVE_WIDE(15 DOWNTO 8);

      WHEN X“A”=>DATA_OUT<=SAVE_WIDE(23 DOWNTO 16);

      WHEN X“B”=>DATA_OUT<=SAVE_WIDE(31 DOWNTO 24);

      WHEN OTHERS=>NULL;

      END CASE;

      ELSE NULL;

      END IF;ELSE NULL;END IF;END PROCESS;END ARCH;

      單片機:

      /* *.c文件,文件名:EqualFre_main.c *各模塊的流程控制*/ #include “EqualFre_main.h” int main(void){

      } //數(shù)據(jù)載入

      static void loadData(){

      fre = getFre_Ex();wide = getWide_Ex();duty = getDuty_Ex();

      communicationInit_Ex();while(1){

      } mode = getMode_Ex();askForData_Ex();} disData();

      //數(shù)據(jù)顯示 loadData();

      //確定選擇的模式

      //請求數(shù)據(jù)

      //表示沒有固定數(shù)據(jù)時,則載入數(shù)據(jù) if(HOLD_DATA_MODE!= mode){ } /*************************************** 數(shù)據(jù)顯示中:

      wData(uchar)傳入的參數(shù)意義 0 19 跟了點號的0-9 20 暗選

      ***************************************/ static void disDelay(){ //顯示延時

      } //數(shù)據(jù)顯示--總控 static void disData(){

      } /*static void disFre(){

      } static void disWide(){

      } static void disDuty(){

      }*/ //數(shù)據(jù)顯示--顯示頻率,單位Hz或MHz(雙模式)

      static void disFre(){

      uchar data dataTemp[8],i;ulong data freTemp = fre;//為了顯示1位小數(shù),這里已經(jīng)將頻率擴大10倍 uchar data flag = 0;//消零標志位

      if(1000000 <= freTemp){//當頻率值大于1M時,使用兆顯示模式 uchar data i;for(i=0;i<8;i++)wData_Ex(3);uchar data i;for(i=0;i<8;i++)wData_Ex(2);uchar data i;for(i=0;i<8;i++)wData_Ex(1);switch(mode){ case SHOW_FRE_MODE: case SHOW_DUTY_MODE: default:break;}

      disFre();disDelay();break;

      disDelay();break;

      disDuty();disDelay();break;case SHOW_WIDE_MODE: disWide();

      uchar data x,y;for(x=250;x>0;x--)for(y=50;y>0;y--);

      }

      } freTemp /= 100000;//0.00MHz for(i=2;i<8;i++){//數(shù)據(jù)從低位到高位裝入數(shù)據(jù)暫存器dataTemp,這里保留2位,} dataTemp[4] += 10;//取2位小數(shù),這里是加入小數(shù)點 dataTemp[1] = 21;//n dataTemp[0] = 22;//H dataTemp[i] =(uchar)(freTemp%10);freTemp /= 10;用于顯示nH(即MHz)else{

      } for(i=1;i<8;i++){

      } dataTemp[2] += 10;dataTemp[0] = 22;//H } dataTemp[i] =(uchar)(freTemp%10);freTemp /= 10;for(i=0;i<8;i++){//數(shù)據(jù)從高位到低位顯示,并進行高位消零操作

      if(0!= dataTemp[7-i]){ } if((0==dataTemp[7-i])&&(0==flag)){ } wData_Ex(dataTemp[7-i]);

      //顯示數(shù)據(jù) dataTemp[7-i] = 20;flag = 1;//數(shù)據(jù)顯示--顯示脈寬,單位us,意味著最大只能測1MHz的頻率 static void disWide(){

      uchar data dataTemp[8],i;ulong data wideTemp = wide;uchar data flag = 0;for(i=0;i<8;i++){

      } for(i=0;i<8;i++){//數(shù)據(jù)從高位到低位顯示,并進行高位消零操作

      if(0!= dataTemp[7-i]){ } dataTemp[1]|=10;if((0==dataTemp[7-i])&&(0==flag)){ dataTemp[7-i] = 20;flag = 1;dataTemp[i] =(uchar)(wideTemp%10);wideTemp /= 10;

      }

      } } wData_Ex(dataTemp[7-i]);//數(shù)據(jù)顯示--顯示占空比 static void disDuty(){

      } /* *.h文件,文件名:EqulaFre_SGMDisplay.h *SGM顯示模塊,用于顯示由主程序傳過來的數(shù)據(jù)

      *硬件資源:

      */ #ifndef _EQUALFRE_SGMDISPLAY_H_H_ #define _EQUALFRE_SGMDISPLAY_H_H_ #include #include #define uchar unsigned char sbit sgm_clk=P3^1;//164時鐘端 sbit sgm_data=P3^0;

      };//接口函數(shù)

      void wData_Ex(uchar);#endif /*

      //在數(shù)碼管上顯示數(shù)據(jù)

      //164數(shù)據(jù)端

      static uchar code num[] = {//從低位到高位,高電平有效

      0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,//數(shù)字0-9 0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7,//帶點號的0-9 0x00,0x2a,0x6e//暗選,n,h 164時鐘端--P3.1 164數(shù)據(jù)端--P3.0 uchar data dataTemp[4],i;uint data dutyTemp = duty;for(i=0;i<4;i++){

      } dataTemp[i] =(uchar)(dutyTemp%10);dutyTemp /= 10;

      dataTemp[2] += 10;wData_Ex(20);//補4個暗選 wData_Ex(20);wData_Ex(20);wData_Ex(20);for(i=0;i<4;i++){ } wData_Ex(dataTemp[3-i]);*.c文件,文件名:EqualFre_SGMDisplay.c */ #include “EqualFre_SGMDisplay.h” //接口函數(shù)

      void wData_Ex(uchar index){ uchar data i,byte;byte = num[index];for(i=0;i<8;i++){

      sgm_clk = 0;

      sgm_data =(bit)((byte>>i)&0x01);

      _nop_();

      sgm_clk = 1;

      _nop_();} } /* *.c文件,文件名:EqualFre_modeFromKey.c */ #include “EqualFre_modeFromKey.h” //**************內(nèi)部函數(shù)************ //按鍵檢測延時 static void keyDelay(){ uchar data x,y;for(x=100;x>0;x--);for(y=200;y>0;y--);} //按鍵掃描

      static void keyScan(){

      if(0 == Key_Mode){

      keyDelay();

      if(1 == Key_Mode)return;

      switch(mode){

      case SHOW_FRE_MODE:

      mode = SHOW_WIDE_MODE;

      break;

      case SHOW_WIDE_MODE:

      mode = SHOW_DUTY_MODE;

      break;

      case SHOW_DUTY_MODE:

      mode = SHOW_FRE_MODE;

      break;

      default:

      mode = SHOW_FRE_MODE;break;

      //選擇模式

      //測頻率

      //下一次測的是脈寬

      //測脈寬

      //下一次測的是占空比

      //測占空比

      //下一次測的是頻率

      }

      } } while(0 == Key_Mode);keyDelay();

      if(0 == Key_Hold_Data){

      } keyDelay();if(1 == Key_Hold_Data)return;mode = HOLD_DATA_MODE;while(0 == Key_Hold_Data);keyDelay();

      //按下 Key_Hold_Data,即為P1^1時,數(shù)據(jù)保持不變

      //*******************接口函數(shù)************** uchar getMode_Ex(void){

      } /* *.h文件,文件名:equalFre.h *模式控制模塊,通過鍵盤來控制模式的選擇,并將所選模式傳遞給函數(shù)

      *所使用的硬件資源:

      頻率顯示、脈寬顯示、占空比顯示的切換建---P1.0

      測試值保持鍵--P1^1 */ #ifndef _EQUALFRE_MODEFROMKEY_H_H_ #define _EQUALFRE_MODEFROMKEY_H_H_ #include #define SHOW_FRE_MODE 0 #define SHOW_WIDE_MODE 1 #define SHOW_DUTY_MODE 2 #define HOLD_DATA_MODE 3 #define uchar unsigned char sbit Key_Mode = P1^0;static uchar data mode;//內(nèi)部函數(shù)

      static void keyDelay();static void keyScan();//接口函數(shù)

      uchar getMode_Ex(void);#endif /* *.h文件,文件名:EqulaFre_communication.h

      //在數(shù)碼管上顯示數(shù)據(jù)

      //按鍵檢測延時

      //按鍵掃描

      //實現(xiàn)頻率顯示,脈寬顯示,占空比顯示的轉(zhuǎn)化

      sbit Key_Hold_Data = P1^1;

      //將測得的數(shù)值定住 keyScan();return mode;

      //返回mode,確定選擇的模式 *通信模塊,用于和FPGA通信,獲取頻率、脈寬、占空比的原始數(shù)據(jù)。

      *并將處理好數(shù)據(jù)傳給主程序

      *所使用的硬件資源:

      地址線0---P2.0

      地址線1---P2.1

      地址線2---P2.2

      地址線3---P2.3

      測頻標志位---P2.4

      數(shù)據(jù)線----P0

      定時器T0 */ #ifndef _EQUALFRE_COMMUNICATION_H_H_ #define _EQUALFRE_COMMUNICATION_H_H_ #include #include #define uchar unsigned char #define ulong unsigned long #define uint unsigned int #define MY_TH0 0x5d//對于20Mhz晶振來說,25ms #define MY_TL0 0x3d #define FREE_TIME 80//空閑時間,即讓FPGA測頻率的時間,50ms*FREE_TIME #define DATA_IN P0 #define BASE_FRE 100000000 //FPGA的基準頻率 sbit address0 = P2^0;sbit address1 = P2^1;sbit address2 = P2^2;sbit address3 = P2^3;sbit TEST_EN = P2^4;//當它為1表示測頻結(jié)束 static ulong data fre,wide;static uint data duty;//內(nèi)部函數(shù)

      static ulong getSourceData(uchar);//接口函數(shù)

      void communicationInit_Ex(void);void askForData_Ex(void);ulong getFre_Ex(void);ulong getWide_Ex(void);uint getDuty_Ex(void);

      #endif /* *.c文件,文件名:EqualFre_communication.c */ #include “EqualFre_communication.h”

      //請求數(shù)據(jù)

      //計算頻率值

      //計算脈寬值

      //計算占空比

      //從FPGA中獲得基準信號,被測信號的數(shù)據(jù) //從FPGA那里獲得頻率、脈寬、占空比的原始值 static ulong getSourceData(uchar sourceKind){

      address3 = 0;address2 = 1;address1 = 1;address0 = 1;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte3 = DATA_IN;break;address3 = 1;address2 = 0;address1 = 0;address0 = 0;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte0 = DATA_IN;

      address3 = 0;address2 = 1;address1 = 1;address0 = 0;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte2 = DATA_IN;

      address3 = 0;address2 = 1;address1 = 0;address0 = 1;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte1 = DATA_IN;

      address3 = 0;address2 = 0;address1 = 1;address0 = 1;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte3 = DATA_IN;break;address3 = 0;address2 = 1;address1 = 0;address0 = 0;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte0 = DATA_IN;

      address3 = 0;address2 = 0;address1 = 1;address0 = 0;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte2 = DATA_IN;uchar data byte0,byte1,byte2,byte3;ulong data temp = 0;byte0 = byte1 = byte2 = byte3 = 0;switch(sourceKind){ case 1://被測信號T值

      address3 = 0;address2 = 0;address1 = 0;address0 = 0;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte0 = DATA_IN;

      address3 = 0;address2 = 0;address1 = 0;address0 = 1;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte1 = DATA_IN;case 2://基準信號B值

      case 3://脈寬W值

      } //20MHz,25ms void t0()interrupt 1{

      } /*********************************************接口函數(shù)********************** ****定義了傳向主函數(shù)的頻率、脈寬、占空比的值 ****接收來自主函數(shù)的請求 */ //通信模塊初始化

      void communicationInit_Ex(void){

      IE |= 0x82;TMOD = 0x01;TH0 = MY_TH0;TL0 = MY_TL0;TR0 = 1;TEST_EN = 1;//允許測頻 static uchar data count;TH0 = MY_TH0;TL0 = MY_TL0;count++;if(FREE_TIME == count){//測頻時間 FREE_TIME *50ms } if(2*FREE_TIME == count){

      } TEST_EN = 1;count = 0;TEST_EN = 0;

      } temp = byte0 + byte1*256 + byte2*65536 + byte3*256*65536;//轉(zhuǎn)化為十進制 return temp;address3 = 1;address2 = 0;address1 = 1;address0 = 1;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte3 = DATA_IN;break;

      address3 = 1;address2 = 0;address1 = 1;address0 = 0;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte2 = DATA_IN;

      address3 = 1;address2 = 0;address1 = 0;address0 = 1;_nop_();_nop_();_nop_();_nop_();//FPGA反應時間 byte1 = DATA_IN;default:break;} //數(shù)據(jù)請求

      void askForData_Ex(void){ //

      小數(shù)

      fre = T;wide = B;duty =(uint)W;wide=W;/*tmp = BASE_FRE *(double)T;tmp=tmp/(double)B;fre =(long int)tmp;tmp =(double)W+(double)duty;ulong data B,T,W;double tmp;if(0 == TEST_EN){

      T = getSourceData(1);B = getSourceData(2);W = getSourceData(3);if(0 == B)B = 1;fre=(ulong)(T/(0.1*B)*BASE_FRE);//頻率先擴大10倍,即分母乘以0.1,以保留一wide=(ulong)(0.1*W);//脈寬單位us duty=(uint)(W*T/(0.0001*B));//占空比以百分數(shù)顯示,并擴大100倍,以保留2位

      //被測信號的周期數(shù)

      //基準信號的周期數(shù)

      //脈寬的周期數(shù)

      位小數(shù) ,單位hz

      tmp =(double)W /tmp;

      tmp = tmp*100;

      duty=(long int)(tmp+0.5);

      } ulong getFre_Ex(void){ } ulong getWide_Ex(void){ } uint getDuty_Ex(void){ } return duty;

      //返回測量的占空比 return wide;

      //返回測量的脈寬值 return fre;

      //返回測量的頻率值

      } wide=W;tmp=B*(double)T;tmp=tmp/(double)B;fre=(long int)tmp;*/

      第二篇:頻率計(格式)數(shù)字邏輯

      課程設計任務書

      (指導教師填寫)

      課程設計名稱 電子技術課程設計 學生姓名

      專業(yè)班級

      設計題目

      簡易數(shù)字頻率計

      一、課程設計的任務和目的

      任務: 設計一個簡易數(shù)字頻率計,用來測量單位時間內(nèi)數(shù)字信號的脈沖個數(shù),并用數(shù)碼管顯示出來。

      目的:

      掌握簡易數(shù)字頻率計的設計、組裝、調(diào)試方法。掌握有關集成電路的工作原理。

      二、設計內(nèi)容、技術條件和要求

      1.設計簡易數(shù)字頻率計:

      ⑴.設計一個簡易數(shù)字頻率計,用于測量數(shù)字信號的頻率并顯示,用一個開關控制頻率計的起動和停止,并可對頻率計置數(shù)。

      ⑵.測頻范圍為0.1Hz到9999Hz。

      ⑶.測量所需時基時間可調(diào),分1秒和10秒兩檔。

      ⑷.能連續(xù)循環(huán)測量顯示,若用1秒檔時要求6秒完成一個循環(huán),其中1秒計數(shù)測量;4秒顯示結(jié)果;1秒清零。然后依次循環(huán)。

      2.根據(jù)上述要求,畫出電路框圖、原理總圖。3.對原理圖進行仿真。4.在實驗箱上組裝、調(diào)試。5.撰寫設計總結(jié)報告。

      三、時間進度安排

      本課程設計共兩周時間。第一周:理論設計

      周二

      布置設計任務;提出課程設計的目的和要求;講解電子電路的一般設計方法和電子電路的安裝、調(diào)試技術;明確對撰寫總結(jié)報告和繪制原理總圖的要求;安排答疑、實驗時間。

      周二至周五

      學生查資料,進行理論設計,其中安排三次答疑,指導學生設計。第二周:仿真和安裝調(diào)試、撰寫設計總結(jié)報告 周一

      交設計草圖供老師審閱。

      周二至周三

      在EDA實驗室對其設計的電路進行仿真,并可根據(jù)仿真情況修正設計以確定設計正確,能完成設計要求。周三至周四

      在實驗箱上進行安裝、調(diào)試,并通過老師驗收。最后,撰寫設計總結(jié)報告、繪制原理總圖。

      四、主要參考文獻

      1.各種版本的數(shù)字電子技術基礎教材; 2.各種版本的電子技術課程設計指導書;

      3.集成電路手冊。

      指導教師簽字:

      2013 年12月 16 日

      第三篇:精度報告材料

      爾林兔中學禁絕毒品教育

      匯報材料

      我們崇德中學自2205年以來,始終堅定不移地把德育工作擺在素質(zhì)教育的首要位置,堅持以德治校,以德育人。而在日常行為規(guī)范教育中,又始終把禁毒教育放在非常重要的地位上,并嚴抓不懈。

      學校嚴格遵循中共中央宣傳部、公安部、教育部、司法部、共青團中央、全國婦聯(lián)等十一部委關于《全民禁毒教育實施意見》和教育部、國家禁毒委等聯(lián)發(fā)的《關于進一步加強中小學生毒品預防教育工作的通知》及市、縣學校禁毒教育工作考核評分標準等文件精神,積極有效地開展各種形式的禁毒預防教育活動。目前,全校師生正為使我?!敖窘逃被顒尤〉眯鲁尚?、更上新臺階而不懈努力。

      現(xiàn)將我校近來開展禁毒預防教育活動的一些做法和探索匯報如下:

      一、健全組織,制定措施,加強禁毒教育的統(tǒng)一領導

      為了加強學校禁毒教育的組織管理,建立長效管理機制,學校成立了以校長李建功同志為組長,分管副校長邵青峰和法制校長張易為副組長,政教主任和團支部書記為骨干,其他各部門負責人和各班班主任為組員的學校禁毒教育活動領導小組,使各項活動有組織、有計劃、有落實、有實效。同時制定了相關的制度和措施,具體落實禁毒工作。

      二、加強宣傳,真抓實干,營造良好濃厚的禁毒氛圍

      1、利用各種媒體和載體廣泛宣傳。禁毒工作是一項復雜的社會系統(tǒng)工程,宣傳工作是禁毒教育的關鍵環(huán)節(jié)。充分發(fā)揮自身優(yōu)勢,在上級部門的大力支持下,充分利用集會、廣播、報刊、圖書、板報、校園網(wǎng)、書信等宣傳陣地和手段,動員全體師生,廣泛宣傳毒品給我國造成的歷史災難以及對社會、家庭和個人造成的嚴重危害,積極宣傳禁毒工作面臨的形勢和重大意義,形成了強大的禁毒宣傳聲勢。

      2、利用節(jié)假日和重大活動進行宣傳。經(jīng)常性宣傳與重大宣傳相結(jié)合,在“6·3”虎門銷煙、“6·26”國際禁毒日等重要紀念日,立足校園,廣泛開展了演講、競賽、“珍愛生命,遠離毒品”大型簽名等多種形式的活動,掀起了“遠離毒品”活動高潮,在校園及周邊村鎮(zhèn)營造了良好的防毒、禁毒氛圍。

      3、利用多媒體,以“中國禁毒網(wǎng)”網(wǎng)站為載體,豐富禁毒宣傳教育渠道。網(wǎng)站內(nèi)設法律法規(guī)、專家咨詢、禁毒知識、禁毒論壇等10余個子欄目。在電腦課上正確引導學生拒絕毒品,回答拒毒、防毒的有關問題,就青少年吸毒、如何拒絕毒品誘惑等問題開展了專題討論。網(wǎng)絡載體的運用,進一步豐富了青少年禁毒宣傳教育的渠道,有效地擴大了禁毒宣傳教育的作用面,有力地加強了預防青少年吸毒工作的社會影響力。

      三、廣拓渠道,就地取材,開展豐富多彩的禁毒教育活動

      1、禁毒知識與學科教學整合。學科教學是毒品預防教育的主渠道,在學科中滲透禁毒教育是充分發(fā)揮主渠道作用的重要途徑。我校本著先易后難的原則,在每學期每班不少于6節(jié)禁毒課的基礎上,利用現(xiàn)有學科資源,結(jié)合毒品的產(chǎn)地、毒品的危害、中國禁毒的光榮歷史以及相關禁毒法律法規(guī)等內(nèi)容,在地理、心理健康教育、歷史、思想政治等學科中進行毒品預防教育知識的滲透,使毒品預防教育滲透到日常的教育教學中,成為學校素質(zhì)教育的一個抓手,成為學校課程改革的一個重要環(huán)節(jié)。

      2、禁毒教育與學生日常行為規(guī)范教育結(jié)合。我校始終將毒品預防教育列入學校行為規(guī)范教育當中,并在行規(guī)教育中要加大禁毒教育的力度,引導學生交友謹慎,不盲目獵奇,不涉足電腦網(wǎng)吧等未成年人禁入場所,養(yǎng)成健康、文明的生活習慣。

      3、禁毒教育與學校法制教育整合。法制教育是毒品預防教育的重要途徑,是減少乃至杜絕青少年吸毒的有力屏障。為了使禁毒教育與學校法制教育整合,我們做了以下幾方面的工作:

      第一,通過師生互動教育活動、集中授課等形式,幫助青少年掌握禁毒法律法規(guī); 第二,我校每學期還專門聘請龍口鎮(zhèn)派出所干警——我校法制副校長張易對學生進行法制講座,現(xiàn)場解答學生疑難,為學生指點迷津。取得了很好的效果,得到了家長的一致好評。

      第三,與班主任簽訂了《班級安全、法制和禁毒教育工作責任書》,將禁毒教育工作的法律義務責任到班、責任到人。

      4、禁毒教育與中學生心理健康教育結(jié)合。學校政教處、團支部聯(lián)合個班班主任老師結(jié)合學生實際情況,開設了以“珍愛生命,遠離毒品”為主題的心理健康講座,引導學生們通過查閱、展示資料,了解學生家長及親屬吸毒現(xiàn)狀,討論分析青少年吸毒的原因及其危害性,增強禁毒、拒毒意識。并依據(jù)健康教育課開設“青春期專題講座”,分析吸毒對青少年的身心影響,在全校范圍內(nèi)進行了毒品預防宣傳教育。讓學生通過實踐活動內(nèi)化了學校的毒品知識教育,自覺形成了禁毒意識。

      5、禁毒教育與家長學校和家庭教育整合。讓家庭教育成為青少年毒品預防教育的基礎陣地,在家庭中進行毒品預防教育有著許多優(yōu)勢。為了使家庭教育與學校毒品預防教育保持一致性,發(fā)揮家庭教育作為毒品預防教育的“主戰(zhàn)場”作用,我們通過家長會、致學生家長一封信和校信通等形式,組織家長接受禁毒教育,幫助家長掌握有關禁毒知識和教育子女拒絕毒品、遠離毒品的方法,要求家長以其特殊而有效的身份影響子女拒絕毒品、遠離毒品,力爭禁毒教育的實效性。

      6、切實做好“六個一”活動。

      第一,上好一堂禁毒教育課,學校要求各班利用班會課上一節(jié)禁毒教育課;各班主任都能積極通過上網(wǎng)或看書查找資料,認真?zhèn)湔n,以生動形象的語言進行授課,切實讓學生了解毒品形勢和國家有關禁毒法律法規(guī)。

      第二,看一部宣傳片,統(tǒng)一組織學生觀看“拒絕毒品、關愛未來”專題宣傳教育片,讓師生們更深刻地認識到禁毒的重要性和當前形勢的嚴峻性;

      第三,讀好一本書,各班認真組織學生學習《禁毒教育》讀本,讓學生切實掌握毒品知識和國家對禁毒的法律法規(guī);

      第四,參觀一次掛圖展覽,上半年,我們于“6.26”國際禁毒日期間,組織全校學生參觀禁毒圖片展一次,下半年,我們于12月初組織全校學生參觀禁毒圖片展一次;

      第五,開辟一期內(nèi)容豐富的禁毒墻報、櫥窗、專欄;第六,組織一次大型禁毒教育主題活動,如禁毒知識競賽、黑板報評比、大型簽名、拒絕毒品書法美術作品展等。

      四、常抓不懈,注重實效,春華秋實見成效

      近年來,通過我校全體師生的共同努力,圓滿實現(xiàn)了“兩個一”目標:①全校學生接受禁毒知識教育面達100%;②在校學生無涉毒行為面達100%,全校師生預防毒品的知識和意識普遍提高。學校的毒品預防工作深受學生家長和社會各界的稱贊。同時,學校優(yōu)良的校風帶動著周邊村鎮(zhèn)的精神文明建設,對周邊村民的精神文明建設水平的提升具有明顯推動作用。

      五、不斷努力,總結(jié)經(jīng)驗,為禁毒工作再做新貢獻

      禁毒工作是一項復雜的社會系統(tǒng)工程。我們在實踐工作中也碰到諸多的困難,同時我們也在進行著禁毒預防教育新途徑、新方式的思考和探索,以求得更大、更好的禁毒教育成效。禁絕毒品,功在當代,利在千秋。今后,我們將進一步探索并實踐更多形式的禁毒教育活動,扎扎實實做好中學生毒品預防教育工作,為將我校禁毒教育工作長期有效地開展下去而不懈努力,為優(yōu)化青少年成長環(huán)境,維護社會穩(wěn)定作出新的更大的貢獻。

      第四篇:VHDL課程設計報告 頻率計

      目錄

      1.前言...........................................................................................................................2 2.設計要求...................................................................................................................2 3.整體設計..................................................................................................................3 4.設計原理...................................................................................................................3 5.設計程序...................................................................................................................3

      5.1頂層文件.............................................................................................................3 5.2 8位是進制計數(shù)器..............................................................................................4 5.3 10進制計數(shù)器...................................................................................................5 5.4 測頻控制電路.....................................................................................................6 5.5 32位鎖存器及其控制器.....................................................................................6

      6.引腳鎖定...................................................................................................................8 7.綜合結(jié)果...................................................................................................................8

      7.1 RTL電路.............................................................................................................8 7.2 測頻控制電路.....................................................................................................9 7.3 8位十進制計數(shù)器..............................................................................................9 7.3 32位鎖存器......................................................................................................9

      8.實驗結(jié)果.................................................................................................................10 7.實驗總結(jié)...................................................................................................................10 參考文獻......................................................................................................................12

      自適應數(shù)字頻率計數(shù)器設計

      1.前言

      傳統(tǒng)的數(shù)字頻率計一般是由分離元件搭接而成,用到的器件較多,連線比較復雜,而且會產(chǎn)生比較大的延時,造成測量誤差大、可靠性差。后來隨著單片機的大規(guī)模的應用, 出現(xiàn)了不少用單片機控制的頻率測量系統(tǒng)。相對于以前用分離元件搭接起來的頻率測量系統(tǒng), 單片機控制的頻率測量系統(tǒng)在頻率測量范圍、頻率測量精度和頻率測量速度上都有了很大的提高。但由于單片機工作頻率的限制、單片機內(nèi)部計數(shù)器位數(shù)的限制等因素, 由單片機控制的頻率測量系統(tǒng)無法在頻率測量范圍、頻率測量精度和頻率測量速度上取得重大突破。若再增加別的器件, 以彌補單片機的不足, 不僅會大大增加系統(tǒng)的復雜性, 而且不利于系統(tǒng)的集成化。以E D A 工具作為開發(fā)平臺,運用V H D L 語言,將使整個系統(tǒng)大大簡化,從而提高整體的性能和可靠性。本課題采用的是等精度數(shù)字頻率計,在一片F(xiàn)PGA開發(fā)板里實現(xiàn)了數(shù)字頻率計的絕大部分功能, 它的集成度遠遠超過了以往的數(shù)字頻率計。又由于數(shù)字頻率計最初的實現(xiàn)形式是用硬件描述語言寫成的程序, 具有通用性和可重用性。所以在外在的條件(如基準頻率的提高, 基準頻率精度的提高)的允許下,只需對源程序作很小的改動, 就可以使數(shù)字頻率計的精度提高幾個數(shù)量級。同時對于頻率精度要求不高的場合, 可以修改源程序, 使之可以用較小的器件實現(xiàn), 從而降低系統(tǒng)的整體造價。

      2.設計要求

      設計一個頻率計,頻率測量范圍為1-9999KHZ,量程分別為10、100、1M三檔,要求如下: a.當讀數(shù)大于999時,頻率計處于超量程狀態(tài),下一次測量時,量程自動增大1檔 b.當讀數(shù)小于099時,頻率計處于欠量程狀態(tài),下一次測量時,量程自動減小1檔

      c.當超過頻率范圍時,顯示器自動溢出

      3.整體設計

      當被測頻率進入時候,檔位1、2能自動換擋實現(xiàn)功能,在檔位1中,有一個LED燈亮(表示Hz);檔位2中有2個LED燈亮(表示kHz);當計數(shù)頻率超出9999kHz的時候,顯示“E”而且LED燈全部熄滅,表示溢出功能。在程序代碼中,必須要清晰表示出計數(shù)的運行狀況。

      檔位1:當被測頻率為0—9999Hz時候,直接顯示f x的值(單位為Hz); 檔位2:當被測頻率為10k—9999kHz時候,顯示10-9999(單位kHz);

      4.設計原理

      根據(jù)頻率的定義和頻率測量的基本原理,測定信號的頻率必須有一個脈寬為1 秒的輸入信號脈沖計數(shù)允許的信號;1 秒計數(shù)結(jié)束后,計數(shù)值被鎖入鎖存器,計數(shù)器清0,為下一測頻計數(shù)周期作好準備。測頻控制信號可以由一個獨立的發(fā)生器來產(chǎn)生。

      5.設計程序

      5.1頂層文件

      LIBRARY IEEE;--頻率計頂層文件 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FREQTEST IS PORT(CLK1HZ : IN STD_LOGIC;FSIN : IN STD_LOGIC;DOUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);LED : OUT STD_LOGIC_VECTOR(1 DOWNTO 0));END FREQTEST;ARCHITECTURE struc OF FREQTEST IS COMPONENT FTCTRL PORT(CLKK : IN STD_LOGIC;--1Hz CNT_EN : OUT STD_LOGIC;--計數(shù)器時鐘使能 RST_CNT : OUT STD_LOGIC;--計數(shù)器清零 Load : OUT STD_LOGIC);--輸出鎖存信號 END COMPONENT;COMPONENT COUNTER PORT(FIN : IN STD_LOGIC;--時鐘信號 CLR : IN STD_LOGIC;--清零信號 ENABL : IN STD_LOGIC;--計數(shù)使能信號

      DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0));--計數(shù)結(jié)果 END COMPONENT;COMPONENT REG32B PORT(LK : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);LEDOUT : OUT STD_LOGIC_VECTOR(1 DOWNTO 0));END COMPONENT;SIGNAL TSTEN1 : STD_LOGIC;SIGNAL CLR_CNT1 : STD_LOGIC;SIGNAL Load1 : STD_LOGIC;SIGNAL DTO1 : STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL CARRY_OUT1 : STD_LOGIC_VECTOR(6 DOWNTO 0);BEGIN U1 : FTCTRL PORT MAP(CLKK =>CLK1HZ,CNT_EN=>TSTEN1, RST_CNT =>CLR_CNT1,Load =>Load1);U2 : REG32B PORT MAP(LK => Load1, DIN=>DTO1, DOUT => DOUT,LEDOUT=>LED);

      U3 : COUNTER PORT MAP(FIN => FSIN, CLR => CLR_CNT1, ENABL => TSTEN1, DOUT=>DTO1);END struc;

      5.2 8位是進制計數(shù)器

      LIBRARY IEEE;--8位十進制計數(shù)器 USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER IS PORT(FIN : IN STD_LOGIC;--時鐘信號 CLR : IN STD_LOGIC;--清零信號 ENABL : IN STD_LOGIC;--計數(shù)使能信號

      DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0));--計數(shù)結(jié)果 END COUNTER;ARCHITECTURE behav OF COUNTER IS

      COMPONENT COUNTER10 IS PORT(FIN : IN STD_LOGIC;--時鐘信號 CLR : IN STD_LOGIC;--清零信號 ENABL : IN STD_LOGIC;--計數(shù)使能信號

      DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--計數(shù)結(jié)果 COUT : OUT STD_LOGIC);END COMPONENT;

      SIGNAL CLK1,CLK2,CLK3,CLK4,CLK5,CLK6,CLK7: STD_LOGIC;BEGIN u1 : COUNTER10 PORT MAP(FIN=>FIN,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(3 DOWNTO 0),COUT=>CLK1);u2 : COUNTER10 PORT MAP(FIN=>CLK1,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(7 DOWNTO 4),COUT=>CLK2);u3 : COUNTER10 PORT MAP(FIN=>CLK2,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(11 DOWNTO 8),COUT=>CLK3);u4 : COUNTER10 PORT MAP(FIN=>CLK3,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(15 DOWNTO 12),COUT=>CLK4);u5 : COUNTER10 PORT MAP(FIN=>CLK4,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(19 DOWNTO 16),COUT=>CLK5);u6 : COUNTER10 PORT MAP(FIN=>CLK5,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(23 DOWNTO 20),COUT=>CLK6);u7 : COUNTER10 PORT MAP(FIN=>CLK6,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(27 DOWNTO 24),COUT=>CLK7);u8 : COUNTER10 PORT MAP(FIN=>CLK7,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(31 DOWNTO 28));

      END ARCHITECTURE behav;

      5.3 10進制計數(shù)器

      LIBRARY IEEE;--10位計數(shù)器 USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER10 IS PORT(FIN : IN STD_LOGIC;--時鐘信號 CLR : IN STD_LOGIC;--清零信號 ENABL : IN STD_LOGIC;--計數(shù)使能信號

      DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--計數(shù)結(jié)果 COUT : OUT STD_LOGIC);END COUNTER10;ARCHITECTURE behav OF COUNTER10 IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(FIN, CLR, ENABL)BEGIN IF CLR = '1' THEN CQI <=(OTHERS=>'0');--清零 ELSIF FIN'EVENT AND FIN = '1' THEN IF ENABL = '1' THEN IF CQI<9 THEN CQI <= CQI + 1;ELSE CQI <=(OTHERS=>'0');END IF;END IF;END IF;

      IF CQI=“1001” THEN COUT<='1';ELSE COUT<='0';END IF;END PROCESS;DOUT <= CQI;END behav;

      5.4 測頻控制電路

      LIBRARY IEEE;--測頻控制電路 USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL IS PORT(CLKK : IN STD_LOGIC;--1Hz CNT_EN : OUT STD_LOGIC;--計數(shù)器時鐘使能 RST_CNT : OUT STD_LOGIC;--計數(shù)器清零 Load : OUT STD_LOGIC);--輸出鎖存信號 END FTCTRL;ARCHITECTURE behav OF FTCTRL IS SIGNAL Div2CLK : STD_LOGIC;BEGIN PROCESS(CLKK)BEGIN IF CLKK'EVENT AND CLKK = '1' THEN--1Hz時鐘2分頻 Div2CLK <= NOT Div2CLK;END IF;END PROCESS;PROCESS(CLKK, Div2CLK)BEGIN IF CLKK='0' AND Div2CLK='0' THEN RST_CNT<='1';--產(chǎn)生計數(shù)器清零信號 ELSE RST_CNT <= '0';END IF;END PROCESS;Load <= NOT Div2CLK;CNT_EN <= Div2CLK;END behav;

      5.5 32位鎖存器及其控制器

      LIBRARY IEEE;--32位鎖存器及控制器 USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY REG32B IS PORT(LK : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);LEDOUT : OUT STD_LOGIC_VECTOR(1 DOWNTO 0));END REG32B;ARCHITECTURE behav OF REG32B IS SIGNAL DD : STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN

      PROCESS(LK, DIN)BEGIN IF LK'EVENT AND LK = '1' THEN DD<=DIN;END IF;if DD(31 DOWNTO 28)=“0000” then IF DD(27 DOWNTO 16)=“000000000000” THEN DOUT<=DD(15 DOWNTO 0);LEDOUT<=“01”;ELSIF DD(27 DOWNTO 16)/=“000000000000” THEN DOUT<=DD(27 DOWNTO 12);LEDOUT<=“11”;end if;else DOUT(15 DOWNTO 0)<=“***0”;LEDOUT<=“00”;END IF;END PROCESS;END behav;

      6.引腳鎖定

      7.綜合結(jié)果

      7.1 RTL電路

      7.2 測頻控制電路

      7.3 8位十進制計數(shù)器

      7.3 32位鎖存器

      8.實驗結(jié)果

      當計數(shù)頻率為4Hz(范圍在0-9999Hz)的時候,此時LED燈有一個亮,計數(shù)為:0004;當計數(shù)頻率為500KHz(范圍在10K-9999KHz)的時候,此時設定兩個LED燈都亮,計數(shù)為0500;當計數(shù)頻率大于9999KHz的時候,設定此時兩個LED燈都處于熄滅狀態(tài),而計數(shù)則輸出一個‘E’值,表示范圍超出計數(shù)范圍。

      7.實驗總結(jié)

      經(jīng)系統(tǒng)測試表明,本圖頻率計的各項功能正常,能實現(xiàn)對頻率的0~9999kHz頻率范圍的測量,并通過LED指示和數(shù)碼管顯示,操作簡單,是理想頻率計解決方案。

      經(jīng)過一個多星期的努力,本設計系統(tǒng)終于完成了。通過該課程設計,掌握了編譯程序工作的基本過程及其各階段的基本任務,熟悉了VHDL程序開發(fā)的總流程框圖,了解了編譯程序的生成過程及其相關的技術,對課本上的知識也有了更深的理解。老師常說,課本上的知識是機械的,要學會去運用,要舉一反三?,F(xiàn)在終于深刻的了解了這句話。經(jīng)過這次的課程設計,發(fā)現(xiàn)書本上很深奧的知識變的更為簡單,同樣,對實驗原理也了有更深的理解。知道和理解了該理論在計算機中是怎樣執(zhí)行的,對該理論在實踐中的應用有深刻的理解。通過該課程設計,把死板的課本知識變得生動有趣,激發(fā)了學習的積極性。能夠把課堂上學的知識通過自己設計的程序表示出來,加深了對理論知識的理解。

      課程設計中的電路和程序比較復雜,因此調(diào)試的過程更是考驗我們耐性和細心。除了課堂外,課程設計是最能學到東西的,最考驗人的。在做課程設計的這段時間,時刻都感到自己學的知識有多么的貧瘠。經(jīng)過這次課程設計,讓我對VHDL語言和FPGA有了更深的認識,操作能力有了一定的提高。明白了,要想是寫出的代碼能運行,需要耐心細心,毅力以及充沛的體力。只有經(jīng)過多次編輯,多次編譯,再多次運行,才能編寫出更好的程序,有時候需要多次的更正才能達到所要的運行結(jié)果。

      參考文獻

      [1] 潘松、黃繼業(yè),EDA技術應用教程 VHDL篇[J].北京:高等教育出版社.2010

      [2] 徐成劉彥李仁發(fā),一種全同步數(shù)字頻率測量方法的研究[J].北京:高等教育出版社.2004 [3] 李云鵬王思明,基于FPGA 的等精度頻率計設計[J].北京:高等教育出版社.2007

      第五篇:FPGA常用術語

      標題:FPGA常用術語

      2010-05-13 11:16:29

      FPGA常用術語

      1:LCA(Logic Cell Array):邏輯單元陣列,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。

      2: IOB(Input Output Block):可編程輸入輸出單元,為了便于管理和適應多種電器標準,F(xiàn)PGA的IOB被劃分為若干個組(bank),每個bank的接口標準由其接口電壓VCCO決定,一個bank只能有一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標準的端口才能連接在一起,VCCO電壓相同是接口標準的基本條件。

      3:CLB(Configurable Logic Block):可配置邏輯模塊,是FPGA內(nèi)的基本邏輯單元,每個CLB都包含一個可配置開關矩陣,此矩陣由4或6個輸入、一些選型電路(多路復用器等)和觸發(fā)器組成。在賽靈思公司公司的FPGA器件中,CLB由多個(一般為4個或2個)相同的Slice和附加邏輯構(gòu)成。

      4:Slice:是賽靈思公司公司定義的基本邏輯單位,一個Slice由兩個4輸入的函數(shù)、進位邏輯、算術邏輯、存儲邏輯和函數(shù)復用器組成。

      5:LUT(Look-Up-Table):查找表。本質(zhì)上就是一個RAM,目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的 的RAM。

      6:DCM(數(shù)字時鐘管理模塊):提供數(shù)字時鐘管理和相位環(huán)路鎖定。

      7:BRAM(嵌入式塊RAM):塊RAM可被配置為單端口RAM、雙端口RAM、內(nèi)容地址存儲器(CAM)以及FIFO等常用存儲結(jié)構(gòu)。單片塊RAM的容量為18k比特,即位寬為18比特、深度為1024,可以根據(jù)需要改變其位寬和深度,但要滿足兩個原則:首先,修改后的容量(位寬 深度)不能大于18k比特;其次,位寬最大不能超過36比特。當然,可以將多片塊RAM級聯(lián)起來形成更大的RAM,此時只受限于芯片內(nèi)塊RAM的數(shù)量,而不再受上面兩條原則約束。

      下載基于FPGA的等精度頻率計word格式文檔
      下載基于FPGA的等精度頻率計.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

      相關范文推薦

        如何學習fpga

        如何學習FPGA關鍵詞:工作人員, 硬件, 設計, FPGA 掌握FPGA可以找到一份很好的工作,對于有經(jīng)驗的工作人員,使用FPGA可以讓設計變得非常有靈活性。掌握了FPGA設計,單板硬件設計就......

        FPGA學習心得

        回想起自己學FPGA,已經(jīng)有一段時間了,從開始的茫然,到后來的瘋狂看書,設計開發(fā)板,調(diào)電路,練習各種FPGA實例,到最后能獨立完成項目,一路走來,感受頗多,拿出來和大家分享,順便介紹下自己的......

        FPGA學習心得

        回想起自己學FPGA,已經(jīng)有一段時間了,從開始的茫然,到后來的瘋狂看書,設計開發(fā)板,調(diào)電路,練習各種FPGA實例,到最后能獨立完成項目,一路走來,感受頗多,拿出來和大家分享,順便介紹下自己的......

        淺談FPGA學習

        為什么大量的人會覺得FPGA難學?一位高人決心開貼來詳細講一下菜鳥覺得FPGA難學的幾大原因。 1、不熟悉FPGA的內(nèi)部結(jié)構(gòu),不了解可編程邏輯器件的基本原理。 FPGA為什么是可以編......

        精度公司企業(yè)文化

        精度公司企業(yè)文化一個企業(yè)沒有文化就等于沒有靈魂。優(yōu)秀的企業(yè)文化,是企業(yè)成長的根本。企業(yè)之間的競爭越來越表現(xiàn)為文化的競爭,資源是會枯竭的,唯有文化生生不息。資源用材在各......

        電子天平的精度:范文大全

        電子天平的精度: 1、超微量電子天平:超微量天平的最大稱量是2至5g,其標尺分度值小于(最大)稱量的10-6。 2、微量天平:微量天平的稱量一般在3至50g,其分度值小于(最大)稱量的10-5。 3......

        VHDL八位數(shù)碼管頻率計課程設計

        一、課程設計要求 設計一個8位數(shù)碼管顯示的頻率計(頻率分辨率為1Hz)。 二、總體結(jié)構(gòu)框圖 系統(tǒng)時鐘分頻及控制待測頻率計數(shù)數(shù)據(jù)鎖存動態(tài)掃描數(shù)碼管段選數(shù)碼管位選數(shù)碼管顯示......

        頻率計的發(fā)展簡介(5篇)

        頻率計的發(fā)展簡介 一、數(shù)字頻率計的簡介 數(shù)字式頻率計即DFM-Digital Frequencymeter,也稱為數(shù)字頻率表或電子計數(shù)器。它不僅是電子測量和儀器儀表專業(yè)領域中測量頻率與周期、......