倪 原,王 芳,陸文總,孟祥艷,潘海仙
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西 西安 710032)
制造爆炸事件一直以來(lái)都是恐怖分子危害國(guó)家安定和國(guó)民人身財(cái)產(chǎn)安全的主要手段,所以檢測(cè)爆炸物的技術(shù)在不斷研究、發(fā)展和改進(jìn),爆炸物檢測(cè)主要有塊狀炸藥探測(cè)和微量炸藥探測(cè)[1-3]。本文介紹的是基于分子印跡壓電傳感器的微量炸藥探測(cè)系統(tǒng)。系統(tǒng)使用的傳感器輸出方波信號(hào),設(shè)計(jì)兩路傳感器輸入,一路為檢測(cè)傳感器;一路為參考傳感器。設(shè)計(jì)思想是在電路中提取檢測(cè)傳感器和參考傳感器的相對(duì)輸出,兩路信號(hào)經(jīng)混頻得到頻率差信號(hào)[3],頻差信號(hào)經(jīng)過(guò)變換后送入單片機(jī),軟件對(duì)外部輸入信號(hào)計(jì)算后進(jìn)行數(shù)碼管顯示。由于設(shè)計(jì)中要處理四路爆炸物的檢測(cè),所以單片機(jī)外圍需要設(shè)計(jì)多路開(kāi)關(guān)和按鍵選擇,通過(guò)多路開(kāi)關(guān)確定4路信號(hào)中的哪一路輸入給單片機(jī),從而確定被測(cè)爆炸物的種類。
文中使用的傳感器是基于分子印跡和壓電晶體[6]制作而成,能夠?qū)Ρ粶y(cè)物進(jìn)行識(shí)別[3]。實(shí)驗(yàn)中所用晶振的頻率在幾~十幾MHz左右,傳感器結(jié)合被測(cè)物之后的頻率變化量在幾~十幾kHz左右,故而在電路處理中設(shè)計(jì)參考電路和檢測(cè)電路以實(shí)現(xiàn)輸出傳感器與被測(cè)物結(jié)合反應(yīng)后的頻差信號(hào)[4]。
如圖1所示,檢測(cè)一種被測(cè)物需要在混頻電路前設(shè)計(jì)兩路處理電路,分別對(duì)檢測(cè)傳感器和參考傳感器的輸出信號(hào)進(jìn)行處理,電路參數(shù)保持一致,以便維持模擬電路處理部分兩路頻率信號(hào)的穩(wěn)定。
圖1 探測(cè)系統(tǒng)原理框圖Fig.1 Detection system block diagram
設(shè)計(jì)中有四路被測(cè)爆炸物,檢測(cè)電路相同,但是實(shí)際參數(shù)設(shè)置不同。傳感器輸出方波信號(hào),檢測(cè)傳感器因?yàn)榻Y(jié)合被測(cè)物發(fā)生反應(yīng),故而輸出頻率(f0m)下降;參考傳感器不發(fā)生與被測(cè)物的結(jié)合,故輸出頻率(fr)與檢測(cè)傳感器未結(jié)合被測(cè)物的輸出頻率(f0)一致。 設(shè)計(jì)中提取的頻差就是 fd=( fr)-(f0m),混頻器可以得到兩輸入信號(hào)的和頻分量、差頻分量的疊加信號(hào)?;祛l器輸入要求是正弦波,所以頻率為(f0m)和(fr)兩路方波信號(hào)需要進(jìn)行波形變換,轉(zhuǎn)換成正弦波作為混頻器的輸入,混頻后得到頻差信號(hào)的輸出,正弦波經(jīng)過(guò)低通濾波整形后可以得到頻率為fd的方波信號(hào),該信號(hào)既可作為單片機(jī)的輸入信號(hào),做下一步的頻率測(cè)量和顯示。
高頻電子電路中常常需要將信號(hào)頻率變換為另一頻率,這樣不僅能滿足各種無(wú)線電設(shè)備的需求,而且有利于提高設(shè)備的性能。對(duì)信號(hào)進(jìn)行頻率變換,實(shí)際上是指新頻率等于信號(hào)原來(lái)頻率與某一參考頻率的和或差?;祛l器常用的非線性器件有二極管、三極管、場(chǎng)效應(yīng)管和乘法器。參考信號(hào)VL需要是與輸入信號(hào)VS等幅的信號(hào)。因?yàn)槟M相乘器的輸出頻率是包含兩個(gè)輸入頻率和差的疊加信號(hào),故模擬乘相器加濾波器即可得到和頻或者差頻,構(gòu)成混頻器。
設(shè)載波頻率為fS,參考頻率為fL;輸入信號(hào)為vS=VScos(2πfS),參考信號(hào)為 vL=VLcos(2π fL),則混頻后 Sout=VSVLcos[2π(fS+fL)]+VSVLcos[2π(fS-fL)]。 再經(jīng)過(guò)低通濾波器即可得到兩輸入信號(hào)的頻率差信號(hào)。
本系統(tǒng)采用MC1496設(shè)計(jì)混頻電路,如圖2所示,Port1和Port2分別輸入相同幅度不同頻率(fS和fL)的正弦波信號(hào),經(jīng)過(guò)電路后由OUT輸出fS和fL的差頻分量、和頻分量的疊加信號(hào),根據(jù)差頻的范圍設(shè)計(jì)合適的低通濾波器,從而濾除和頻分量。
圖2 MC1496混頻電路Fig.2 MC1496 Mixer circuit
4路被測(cè)物經(jīng)過(guò)模擬電路處理后接入多路開(kāi)關(guān)的4個(gè)通道,多路開(kāi)關(guān)使能狀態(tài)下(INH=1)輸入的地址碼CBA用了決定通道選通狀態(tài),從而將被測(cè)物的差頻方波信號(hào)接入單片機(jī)做頻率的計(jì)算和顯示[8]。
圖3 多路開(kāi)關(guān)與單片機(jī)連接原理圖Fig.3 Multiplexer and microcontroller connection schematic
系統(tǒng)設(shè)計(jì)檢測(cè)四路被測(cè)物,所以多路開(kāi)關(guān)只需要BA兩個(gè)地址碼編譯選通通道,OUTPUTA,OUTPUTB,OUTPUTC,OUTPUTD為四路fdA,fdB,fdC,fdD方波信號(hào),通道選通后經(jīng)過(guò)OUTPUT接入單片機(jī)的P1.1口。CD4051的INH,B,A分別接單片機(jī)的P2.3,P2.0,P2.1口。DD4051使能條件下,BA的狀態(tài)(00,01,10,11)分別接通(fdA, fdB, fdC, fdD)信號(hào)的通道。INH 的狀態(tài)決定了CD4051是否處于選通功能,INH為高電平時(shí)CD4051不允許信號(hào)接入單片機(jī),INH為低電平時(shí)CD4051。設(shè)計(jì)3個(gè)按鍵,分別接單片機(jī)的P1.0,P1.3,P1.4口,3個(gè)按鍵的功能分別設(shè)定為CD4051的開(kāi)關(guān)鍵、通道選通加、通道選通減。
如圖4所示,使用MAX7219顯示驅(qū)動(dòng)芯片能夠有效地節(jié)省單片機(jī)IO口資源,該驅(qū)動(dòng)芯片與單片機(jī)僅需要三根引線,CLK時(shí)鐘序列輸入端。最大速率為10 MHz在時(shí)鐘的上升沿,數(shù)據(jù)移入內(nèi)部移位寄存器。下降沿時(shí),數(shù)據(jù)從DOUT端輸出。DIN串行數(shù)據(jù)輸入端口。在時(shí)鐘上升沿時(shí)需要顯示的數(shù)據(jù)被載入內(nèi)部的16位寄存器。LOAD載入數(shù)據(jù)。連續(xù)數(shù)據(jù)的后16位在LOAD端的上升沿時(shí)被鎖定。MAX7219芯片可一次驅(qū)動(dòng)8個(gè)7段數(shù)碼管,根據(jù)不同的位選點(diǎn)亮不同位置的數(shù)碼管。
圖4 MAX7219與數(shù)碼管連接圖Fig.4 MAX7219 and digital tube connection diagram
軟件包括:按鍵掃描模塊,LED顯示,多路選通模塊,信號(hào)處理模塊。
如圖5所示,單片機(jī)檢測(cè)到有按鍵按下時(shí)程序進(jìn)入按鍵中斷服務(wù)程序,設(shè) P1IO口對(duì)應(yīng)鍵號(hào)分別為0x01、0x08,0x10,相應(yīng)按鍵按下時(shí)所對(duì)應(yīng)鍵值分別為 0x18、0x11,0x09,Key Process_x()中根據(jù)鍵值分別編寫處理程序,其中x取值為0、3、4。
連接P1.0的按鍵按下時(shí)使能CD4051,連接P1.3的按鍵按下時(shí)通道選擇上移,連接P1.4的按鍵按下時(shí)通道選擇上移。使能多路開(kāi)關(guān)的按鍵KeyProcess_0()中置位使能標(biāo)志,使得按鍵中斷處理中使能按鍵優(yōu)先級(jí)最高,通道選擇處理程序中必須先判斷多路開(kāi)關(guān)是否使能,再?zèng)Q定通道上移或者下移。
圖5 按鍵掃描中斷服務(wù)程序流程圖Fig.5 Key scan interrupt service routine flow chart
圖6 按鍵處理程序流程圖Fig.6 Key treatment program flow chart
選通的頻率信號(hào)由P1.1接入單片機(jī),程序設(shè)計(jì)中將P1.1口設(shè)置為輸入的IO,允許P1.1中斷,設(shè)置上升沿(下降沿)觸發(fā)中斷,單片機(jī)檢測(cè)到脈沖信號(hào)上升沿(下降沿)時(shí)P1IFG1.1置位,進(jìn)入到P1口中的斷服務(wù)程序,完成脈沖信號(hào)的計(jì)數(shù)和記錄當(dāng)前脈沖到來(lái)時(shí)定時(shí)器A寄存器TACCR0中的值,若是第一個(gè)脈沖則將TACCR0的值存入變量Cap_first;否則將存入變量Cap_last,其中P1IFG1.1需要手動(dòng)軟件清零,以便于下次中斷事件置位,流程圖如圖7所示。
圖7 信號(hào)捕獲中斷服務(wù)程序流程圖Fig.7 Signal capture interrupt service routine flow chart
定時(shí)時(shí)間到時(shí)程序執(zhí)行定時(shí)器的中斷服務(wù)程序,若還沒(méi)有檢測(cè)到脈沖則存儲(chǔ)脈沖個(gè)數(shù)的變量Pulse_count賦零;否則定時(shí)時(shí)間內(nèi)捕獲到的脈沖個(gè)數(shù)儲(chǔ)存到Pulse_count,捕獲到的脈沖總周期的時(shí)長(zhǎng)為Pulse_time,置位頻率計(jì)算標(biāo)志,流程圖如圖8所示。
圖8 定時(shí)器中斷服務(wù)程序流程圖Fig.8 Timer interrupt service routine flow chart
主程序中檢測(cè)到頻率計(jì)算標(biāo)志置位后結(jié)合通道選擇值調(diào)用頻率計(jì)算程序,各種爆炸物有不同的閾值頻率值,達(dá)到閾值的頻率值就認(rèn)為有爆炸物結(jié)合到傳感器上,能夠顯示出當(dāng)下傳感器結(jié)合了被測(cè)物之后檢測(cè)傳感器相對(duì)于參考傳感器的輸出頻率差值,并且顯示出該爆炸物對(duì)應(yīng)的種類,實(shí)現(xiàn)爆炸物探測(cè)的定性分析。
圖9 主程序流程圖Fig.9 Main program flow chart
文中設(shè)計(jì)的探測(cè)系統(tǒng)各項(xiàng)功能能夠滿足要求,其中文中提出的頻率測(cè)量方法充分利用了MSP430單片機(jī)的高性能和片內(nèi)資源,所設(shè)計(jì)的硬件電路性能良好,可靠性高,成本低,解決了10 Hz-65 kHz范圍內(nèi)的頻率準(zhǔn)確測(cè)量問(wèn)題,相對(duì)誤差均保持在0.05%以內(nèi),并能夠?qū)崿F(xiàn)測(cè)試通道選擇、測(cè)試數(shù)據(jù)顯示、報(bào)警、通信等功能。
[1]曹磊.MSP430單片機(jī)C程序設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2007.