本系統采用8套完全相同的以MAX913芯片為核心的振蕩器,通過2個CD4069反相器反相后分別送到4個差頻器74LS74的D端,每一個差頻器74LS74內部有2個D觸發器。
2個6M高精度有源晶振分別經時鐘芯片CDCV304后變成8個6M輸出信號,分別送到4個差頻器74LS74的CLK端。經過4個差頻器74LS74差頻后的頻率信號" title="頻率信號">頻率信號送到可編程邏輯器件" title="可編程邏輯器件">可編程邏輯器件EPM570GT100C3芯片的I/O口。
為何選擇EPM7128LC84-10?
石英晶體振蕩頻率對晶體表面質量負載(質量效應)和反應體系物理性狀如密度、粘度、電導率等(非質量效應)的改變高度敏感,具有亞ng級的質量檢測能力,其靈敏度可達1ng/Hz。由于一個通道所使用的邏輯門比較少,因此選擇可編程邏輯器件EPM7128LC84-10。
圖1 系統設計總體框圖
硬件設計
1、石英晶體振蕩及差頻電路
自激振蕩器通常是由基本放大電路、正反饋網絡和選頻網絡三部分組成的。
采用差頻的目的是為了降低輸入到可編程邏輯器件EPM7128的頻率,測量用QCM振蕩電路輸出的方波信號送入差頻器74LS74的D端,參考用高精度6M晶振輸出的方波信號送入差頻器74LS74的CLK端,得到的差頻信號送入可編程邏輯器件進行計數。
在石英晶體振蕩電路中,石英晶體作為正反饋網絡的主要組成部分,也是一種選頻網絡,只有在石英晶體振蕩器的固有諧振頻率下才能滿足條件。根據這一原理,采用以MAX913芯片為核心的振蕩器,它的輸出是TTL電平,便于單片機或可編程邏輯器件的信號采集。
圖2 石英晶體振蕩及差頻電路
2、EPM7128和AT89S52的控制電路
經過差頻器74LS74后的差頻信號,從74LS74的5腳輸出送到可編程邏輯器件EPM7128的6腳I/O口上。由于在EPM7128設計的是32位計數器,而51單片機是8位機,因此需要4次分時處理32位數據信號,由選擇信號SEL0~SEL2來控制。最終從EPM7128輸出8位數據信號到AT89S52的P0數據口,經單片機處理后通過串口發到上位機進行最后的數據處理和圖形界面顯示。
在開始測量時,上位機通過串口給51單片機AT89S52發出命令,AT89S52先給EPM7128的22腳一個RST復位命令,使EPM7128復位后開始工作計頻,頻率測量計時時間為100ms,計時結束后,EPM7128的46腳發出中斷信號送給AT89S52的外中斷0口(INT0),單片機接收到中斷信號后從P1口的P10~P12給EPM7128發出3個選擇信號SEL0~SEL2。
圖3 可編程邏輯器件EPM7128和51單片機AT89S52的控制電路
EPM7128的83腳是全局時鐘,外接工作用的時鐘信號。該時鐘信號可以使用有源晶振來產生,也可以使用無源晶振加振蕩器產生。EPM7128的14、71、23、62腳分別是TDI、TDO、TMS、TCK端,是JTAG編程口。AT89S52的14、15腳外接晶振和電容組成單片機的振蕩電路,4腳是復位端,由IPM810控制,IPM810具備上電復位、手動復位及欠壓復位功能。
EPM7128也是采用在線編程方式進行程序的燒寫,采用JTAG在線編程。其他引腳基本上都是I/O口,可根據需要指定。
AT89S52使用PLCC44腳封裝的貼片器件,利用單片機AT89S52的P1口和復位口進行在線編程,使用at89isp軟件在線編程,進行程序的燒寫。
軟件設計
本系統使用MAX+plusII10.1編譯系統或Quartus II 4.2編譯系統編譯,設計實現了分頻" title="分頻">分頻、頻率計數、數據選擇等功能。
1、可編程邏輯器件EPM7128的頂層電路
頂層電路由分頻模塊、計數模塊、數據選擇模塊組成,分頻模塊和計數模塊采用Verilog HDL硬件描述語言編寫,數據選擇模塊用圖形輸入方式。由于計數模塊的計時器是32位的,因此通過3個8位的二選一數據選擇器,在單片機給出的SEL0~SEL2片選信號控制下,分時選擇從EPM7128的輸出端OUTPUT7~OUTPUT0輸出的8位數據信號到AT89S52的P0數據口。
圖4 可編程邏輯器件EPM7128的頂層電路
AT89S52給EPM7128的RST端提供復位RST信號,使EPM7128復位,開始記錄差頻器送到EPM7128的CLKX1端的頻率信號。記時時間到,EPM7128的輸出端INT發出中斷信號,通知單片機接收數據。12M的振蕩信號送到EPM7128的CLK端,經過分頻模塊后變成10Hz的頻率信號給計數模塊提供基準時基。
2、可編程邏輯器件EPM7128的計數模塊
被測脈沖加到計數模塊中閘門的輸入端,開始測頻時,先將計數器置0,待門控" title="門控">門控信號到來后,打開閘門,允許被測脈沖通過,計數器開始計數,直到門控信號結束,閘門關閉,停止計數。
因此,當門控信號的周期為1s時,在閘門開通時間1s通過閘門的被測脈沖個數即為該被測信號的頻率,為了使上位機獲得更多的數據和精度,使門控信號的周期為0.1s。
3、可編程邏輯器件EPM7128的分頻模塊
分頻模塊的目的是將可編程邏輯器件EPM7128的83腳輸入的12M頻率信號,分頻成10Hz頻率信號給計數模塊做基準時鐘,即計時時間是100ms。
以下是EPM7128的計數模塊的程序部分代碼:
CLK_1hz表示門控信號,CLKX表示被測脈沖,RST為系統復位信號,FRE為鎖存后的脈沖頻率數據,INT為給單片機的中斷信號,這幾個信號是計數模塊中的輸入、輸出信號。在計數模塊中還有幾個內部定義的信號,CNT_EN為計數允許信號,CNT_CLR為計數清零信號,LOAD表示鎖存信號,OUT表示鎖存前的脈沖頻率信號。
門控信號為10Hz,每兩個時鐘周期進行一次頻率測量,即在每兩個時鐘周期CLK_1hz內,先到來半個時鐘周期的CNT_CLR,用于清零;隨后,CNT_EN在一個時鐘周期CLK_1hz內有效,進行計數;最后,在后到來的半個時鐘周期內,當LOAD的上升沿到來時,鎖存計數結果。
4、51單片機AT89S52的程序
當EPM7128計時時間到,給AT89S52的外中斷0發出中斷信號,AT89S52的程序跳到外中斷中,進行數據處理,分別給出選擇信號SEL0~SEL2的組合,分時接收EPM7128的數據信號,再通過串口發給上位機。
51單片機先初始化定時器、串口及中斷設置等,給EPM7128發出復位信號,然后進入大循環程序,等待外中斷。由于所測頻率不會超過10MHz,因此只讀取24位數據即可。
圖5 外中斷0中斷程序流程圖
實驗結果
先往流池內加100微升血漿(溫浴180S),旋轉螺桿到刻度17.0,然后再通過側面小孔注射進TT凝血酶溶液然后抽出注射器。
圖6 直徑6毫米血漿凝結實驗
此圖是石英晶體采用AT切向,電極為銀膜,基頻I0MHZ,晶體直徑6mm(沒有使用差頻器),直接將10MHz石英晶體的頻率送到可編程邏輯器件計數的結果。壓電石英晶體傳感器用于凝血因子檢測具有使用方便、精度高和成本低等優點,有廣闊的臨床應用和推廣前景。
QCM作為微質量傳感器被廣泛應用于化學、物理、生物、醫學和表面科學等領域中,具有結構簡單、成本低、振動Q值大、靈敏度高、測量精度可以達到納克量級的優點。