采用QCM傳感器的生物芯片檢測電路的原理設計
軟件設計
本系統中ALTERA公司可編程邏輯器件EPM7128的內核程序采用Verilog HDL硬件描述語(yǔ)言編寫(xiě),使用MAX+plusII10.1編譯系統或Quartus II 4.2編譯系統編譯,設計實(shí)現了分頻、頻率計數、數據選擇等功能。51單片機AT89S52用C語(yǔ)言和匯編語(yǔ)言混合編程,使用Keil C51編譯系統編譯。
1、可編程邏輯器件EPM7128的頂層電路
頂層電路如圖4所示,由分頻模塊、計數模塊、數據選擇模塊組成,分頻模塊和計數模塊采用Verilog HDL硬件描述語(yǔ)言編寫(xiě),數據選擇模塊用圖形輸入方式。12M的振蕩信號送到EPM7128的CLK端,經(jīng)過(guò)分頻模塊后變成10Hz的頻率信號給計數模塊提供基準時(shí)基。AT89S52給EPM7128的RST端提供復位RST信號,使EPM7128復位,開(kāi)始記錄差頻器送到EPM7128的CLKX1端的頻率信號。記時(shí)時(shí)間到,EPM7128的輸出端INT發(fā)出中斷信號,通知單片機接收數據。由于計數模塊的計時(shí)器是32位的,因此通過(guò)3個(gè)8位的二選一數據選擇器,在單片機給出的SEL0~SEL2片選信號控制下,分時(shí)選擇從EPM7128的輸出端OUTPUT7~OUTPUT0輸出的8位數據信號到AT89S52的P0數據口。
圖4 可編程邏輯器件EPM7128的頂層電路
2、可編程邏輯器件EPM7128的分頻模塊
分頻模塊的目的是將可編程邏輯器件EPM7128的83腳輸入的12M頻率信號,分頻成10Hz頻率信號給計數模塊做基準時(shí)鐘,即計時(shí)時(shí)間是100ms。
3、可編程邏輯器件EPM7128的計數模塊 由分頻模塊分頻后的10Hz信號送到計數模塊,它通過(guò)門(mén)控電路,加到可以控制開(kāi)、閉時(shí)間的閘門(mén)上。被測脈沖加到計數模塊中閘門(mén)的輸入端,開(kāi)始測頻時(shí),先將計數器置0,待門(mén)控信號到來(lái)后,打開(kāi)閘門(mén),允許被測脈沖通過(guò),計數器開(kāi)始計數,直到門(mén)控信號結束,閘門(mén)關(guān)閉,停止計數。因此,當門(mén)控信號的周期為1s時(shí),在閘門(mén)開(kāi)通時(shí)間1s通過(guò)閘門(mén)的被測脈沖個(gè)數即為該被測信號的頻率,為了使上位機獲得更多的數據和精度,使門(mén)控信號的周期為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機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論