關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 采用QCM傳感器的生物芯片檢測電路的原理設計

        采用QCM傳感器的生物芯片檢測電路的原理設計

        作者: 時間:2011-04-06 來源:網絡 收藏

        軟件

          本系統中ALTERA公司可編程邏輯器件EPM7128的內核程序Verilog HDL硬件描述語言編寫,使用MAX+plusII10.1編譯系統或Quartus II 4.2編譯系統編譯,實現了分頻、頻率計數、數據選擇等功能。51單片機AT89S52用C語言和匯編語言混合編程,使用Keil C51編譯系統編譯。

        1、可編程邏輯器件EPM7128的頂層

        頂層如圖4所示,由分頻模塊、計數模塊、數據選擇模塊組成,分頻模塊和計數模塊Verilog HDL硬件描述語言編寫,數據選擇模塊用圖形輸入方式。12M的振蕩信號送到EPM7128的CLK端,經過分頻模塊后變成10Hz的頻率信號給計數模塊提供基準時基。AT89S52給EPM7128的RST端提供復位RST信號,使EPM7128復位,開始記錄差頻器送到EPM7128的CLKX1端的頻率信號。記時時間到,EPM7128的輸出端INT發出中斷信號,通知單片機接收數據。由于計數模塊的計時器是32位的,因此通過3個8位的二選一數據選擇器,在單片機給出的SEL0~SEL2片選信號控制下,分時選擇從EPM7128的輸出端OUTPUT7~OUTPUT0輸出的8位數據信號到AT89S52的P0數據口。


        圖4 可編程邏輯器件EPM7128的頂層

        2、可編程邏輯器件EPM7128的分頻模塊

        分頻模塊的目的是將可編程邏輯器件EPM7128的83腳輸入的12M頻率信號,分頻成10Hz頻率信號給計數模塊做基準時鐘,即計時時間是100ms。

        3、可編程邏輯器件EPM7128的計數模塊 由分頻模塊分頻后的10Hz信號送到計數模塊,它通過門控電路,加到可以控制開、閉時間的閘門上。被測脈沖加到計數模塊中閘門的輸入端,開始測頻時,先將計數器置0,待門控信號到來后,打開閘門,允許被測脈沖通過,計數器開始計數,直到門控信號結束,閘門關閉,停止計數。因此,當門控信號的周期為1s時,在閘門開通時間1s通過閘門的被測脈沖個數即為該被測信號的頻率,為了使上位機獲得更多的數據和精度,使門控信號的周期為0.1s。

        以下是可編程邏輯器件EPM7128的計數模塊的程序部分代碼:

        always @ (posedge CLK_1hz or negedge RST)

        begin

        if (!RST)

        begin

        CNT_EN=0;

        LOAD=1;

        end

        else

        begin

        CNT_EN=~CNT_EN;

        LOAD=~CNT_EN;

        end

        end

        assign CNT_CLR=~(~CLK_1hzLOAD);

        ssign INT=LOAD; //使用LOAD的上升沿使單片機中斷。

        DIY機械鍵盤相關社區:機械鍵盤DIY




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 遵义市| 西充县| 讷河市| 平阳县| 汤阴县| 扬州市| 毕节市| 古蔺县| 曲靖市| 许昌县| 济源市| 凤阳县| 沙田区| 灌云县| 滁州市| 安图县| 宜君县| 松溪县| 乌鲁木齐县| 玉树县| 平阳县| 昭通市| 侯马市| 岳阳市| 徐州市| 泸溪县| 东兰县| 华蓥市| 台中市| 门源| 乌拉特前旗| 平乐县| 绥江县| 定结县| 宁明县| 凤台县| 长海县| 天水市| 来宾市| 溧水县| 隆子县|