本設(shè)計旨在制作出一種功能強大的報警系統(tǒng),在出現(xiàn)緊急情況時能及時通知當(dāng)事人,即便其不在現(xiàn)場附近,并自動呼叫報警。相比普通的報警器,本設(shè)計將重點放在遠(yuǎn)程語音報警上,只要接上適當(dāng)?shù)膫鞲衅骶涂山M成防盜報警、火災(zāi)報警、煤氣泄露報警等多功能報警系統(tǒng),并附加實現(xiàn)一些智能控制功能,賦予報警系統(tǒng)更強大和完整的功能,以滿足人們對安全報警的需求。本系統(tǒng)基于電話網(wǎng)絡(luò)但是與電話互相獨立不會影響電話的正常使用,并通過語音提示操作,人機交互友好。
系統(tǒng)原理及系統(tǒng)框圖
本系統(tǒng)主要包括電話自動摘機和掛機電路,DTMF信號收發(fā)電路,語音提示電路,報警電路,鍵盤顯示電路,人體信號檢測電路,編碼電路,無線發(fā)射電路,以及作為主核心的單片機控制電路,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。我們設(shè)定報警部分為本系統(tǒng)主體工作部分,即實時監(jiān)控房內(nèi)安全情況,在軟件上表現(xiàn)為主循環(huán),當(dāng)有振鈴信號或設(shè)定信號時才中斷去執(zhí)行相應(yīng)操作。在此我們需要對人體的紅外輻射敏感并且抗干擾(如小動物等)的傳感器,為此我們選用被動式熱釋電紅外探測器,并在它的輻射照面覆蓋特殊的菲尼爾濾光片,使環(huán)境的干擾受到明顯的控制作用。設(shè)定部分的功能是存儲報警時需要撥打的號碼,并設(shè)定主人身份驗證密碼。為了系統(tǒng)的簡潔采用液晶屏顯示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
當(dāng)紅外線人體檢測電路檢測到有人體入侵時,編碼電路將該檢測探頭的地址編碼,并且經(jīng)過無線發(fā)射電路將檢測到有人體入侵的探頭的地址發(fā)送給無線接收電路,經(jīng)CPU譯碼后,LED顯示報警地址,同時發(fā)出聲光報警或者向主任撥打預(yù)先設(shè)定的電話進行報警。
信號檢測電路
信號檢測電路主要由熱釋電紅外檢測探頭SD02和BISS0001信號處理電路組成。
信號檢測電路如圖2所示。配以濾波鏡片和阻抗匹配用場效應(yīng)管組成的熱釋電紅外傳感器,以非接觸方式檢測出來自人體的紅外輻射并將其轉(zhuǎn)換成電信號,經(jīng)BISS0001中的運放N1的前置放大、運算放大器N2的第二級放大,將直流電位抬高為內(nèi)置電壓Um后送到由比較器N4、N5組成的雙向鑒幅器,檢出有效觸發(fā)信號Us。由于內(nèi)置電壓UH≈0.7UDD、UL≈0.3UDD,當(dāng)UDD=5V時,可有效地抑制±1V的噪聲干擾。N3作為條件比較器,當(dāng)輸入電壓Uc小于內(nèi)置電壓UR(≈0.2UDD)時,N3輸出為低電平封住了Us向下級遞送。而當(dāng)Uc>UR時,N3輸出為高電平,打開與門N7,此時若有觸發(fā)信號Us的上跳變前沿到來,則可啟動延時定時器,同時Uo輸出為高電平。比較器的域值選取很重要,域值太低易誤報,太高則靈敏度低。
圖2 信號檢測電路
在定時周期Tx內(nèi),BISS0001的輸出端2為高電位,則晶體管VT1飽和導(dǎo)通,其集電極為低電位,將這一信號送到由單片機及無線發(fā)射電路組成的編碼及無線發(fā)射電路,接到編碼用的單片機的 P0.0口,單片機將該探頭編碼后通過無線發(fā)射;在Tx結(jié)束時,BISS0001進入封鎖周期Ti,其輸出端變?yōu)榈碗娖?,晶體管截止,其集電極為高電平。BISS0001的1腳(A端)與電源相連,使信號檢測電路處于重復(fù)觸發(fā)。Tx定時間隔可由BISS0001的3腳和4腳上所接的電阻和電容來確定。信號檢測探頭仰角可在120°范圍內(nèi)調(diào)節(jié),并通過改變仰角來進行實際探測距離的調(diào)節(jié),我們可通過實際測試來調(diào)整,也可以調(diào)整信號檢測電路中的可調(diào)電阻RP來調(diào)整探頭的檢測距離,本設(shè)計電路可探測距離為30m。
編碼電路與無線收發(fā)射模塊
編碼電路和無線發(fā)射電路由單片機和收發(fā)一體芯片nRF401組成,其電路外圍元件少,電路簡單。
本設(shè)計中采用挪威Nordic公司新推出的集發(fā)射接收為一體的nRF401無線數(shù)傳芯片,它是一個為433MHz ISM頻段設(shè)計的真正單片機UHF無線收發(fā)芯片,采用FSK調(diào)制解調(diào)技術(shù)。采用高增益天線的情況下傳輸距離可達(dá)3000m。
編碼及無線收發(fā)射電路如圖3所示。通過AT89C51的P2.0口控制射頻芯片的PWR_UP,使其為“1”時表示進入正常工作模式,為“0”時表示進入待機模式;P2.2接射頻芯片的CS,控制發(fā)送接收頻率,為“1”表示工作頻率為434.32MHz。為“0”表示工作頻率為433.92MHz。P2.1控制射頻芯片的TXEN端,使其為“1”表示進入發(fā)送模式,為“0”表示進入接收模式。
圖3 無線收發(fā)射電路
MT8880與AT89C51及語音電路的接口
DTMF信號發(fā)送/接收電路采用MITEL公司推出的專門用于處理DTNF信號的專用集成電路MT8880芯片,不僅具有接收和發(fā)送DTMF信號的自動撥號功能,還可以檢測電話干線上撥號音、回鈴音和忙音等信號音。適合與單片機接口,外圍電路簡單。
MT8880內(nèi)部有5個寄存器,分別為接收數(shù)據(jù)寄存器、發(fā)送數(shù)據(jù)寄存器、收發(fā)控制寄存器CRA和CRB以及收發(fā)狀態(tài)寄存器。在本設(shè)計中,僅采用發(fā)送數(shù)據(jù)寄存器、收發(fā)控制寄存器CRA和CRB發(fā)送DTMF信號實現(xiàn)自動撥號功能。發(fā)送數(shù)據(jù)寄存器中的數(shù)據(jù)決定要發(fā)送的雙音頻信號的頻率,因此只能向發(fā)送數(shù)據(jù)寄存器寫入數(shù)據(jù)。兩個收發(fā)控制寄存器占用同一個地址,因此根據(jù)CRA中的寄存器選擇位的值決定是否對CRB進行操作。
ISDl420語音芯片采用直接模擬存儲技術(shù),且錄放音質(zhì)極好,并有一定的混響效果;它的外圍元件簡單,僅需簡單的阻、容器件即可組成簡單的錄、放音電路;無須后備電源,信息存儲時間長,不需要專用的編程器及語音開發(fā)器;具有較強的選址能力,可把存儲器分成160段來管理,形成最小的錄放時間為125ms。在本設(shè)計中,因需要四段報警提示語音,因此在語音分段方法設(shè)計時均將每段語音設(shè)為5s,其起始地址分別為00000000B、00101000B、01010000B、01111000B。
ISD1402的數(shù)據(jù)口A3、A4、A5、A6分別接單片機端口擴展芯片8255的PB0、PB1、PB2、PB3口,A0、A1、A2、A7接地,PLAYL接8255的PB5腳,SP經(jīng)電容C14將語音信號偶合后送去電話接口電路。當(dāng)按下開關(guān)SB1,錄音指示LED發(fā)光并同時開始錄音。當(dāng)有警情時,單片機控制DTMF信號發(fā)送/接收電路自動撥打電話,電話接通后單片機根據(jù)不同的探測器送來的信號向ISD1420發(fā)送要放哪一段錄音的指令和放音指令。ISD1420則將語音信號送到電話接口電路,等待放音完畢以后,單片機發(fā)送掛機命令,報警完畢。
MT8880的D0~D3口分別接8255的PA0~PA3口,CLK2接PA4口,R/W接PA5口,RSO接PA6口,CS接PA7口,IRQ接主控電路處理器89C51的T0口,用來記錄各種脈沖的個數(shù)。來自語音電路的信號經(jīng)過R44送到電話線上去。繼電器K用來控制摘掛機,晶體管的B極接主控電路處理器89C51的 P1.2口,當(dāng)P1.2為“1”時,V2導(dǎo)通,繼電器K閉合,電話接通,當(dāng)P1.2為“0”時,V2截止,電話掛機。
主控電路處理器89C51的P0口分別接8255的D0~D7口和74HC373的D0~D7口,74HC373的Q0和Q1分別接8255的A0和A1,89C51的P2.5、P2.6、P2.7分別接74HC138的A、B、C口,74HC138的YO接8255的CS端。
軟件設(shè)計
1 信號音的識別方法
系統(tǒng)在巡檢到警情信號后就模擬摘機。為了識別模擬摘機后電話系統(tǒng)是否處于可撥號的狀態(tài)、電話撥完號碼后電話是否接通以及對方是否摘機接聽電話等幾種狀態(tài),系統(tǒng)必須進行信號音的識別。為了識別信號音,必須知道各種信號音的特性。各種信號音特性如下。
● 撥號音:450±25Hz連續(xù)蜂音。
● 忙音:0.35s斷0.35s通的450 ±25Hz蜂音,音段周期為0.7s。
● 回鈴音:4s斷l(xiāng)s通的450±25Hz蜂音,音段周期為5s。
這些電話信號均是模擬信號,然而單片機是無法識別模擬信號的,故必須先將模擬信號轉(zhuǎn)換為脈沖信號,然后再根據(jù)脈沖信號的脈沖個數(shù)進行識別。這些電話音頻信號的脈沖個數(shù)計算公式為N=tm/T。其中,N為每音段周期的脈沖個數(shù);T為電話音頻信號的音頻周期,單位為s;tm為信號音段周期的導(dǎo)通時間,單位為s。
在實際使用中,主要需要識別撥號音、忙音和回鈴音。分析這3種信號的特性可以看出,在一定的計數(shù)時間內(nèi),其脈沖個數(shù)是不一樣的。在本設(shè)計中采用2s計數(shù)判斷撥號音,采用2.8s(即4個忙音周期)判斷是否為忙音。隨后采用ls為一個計數(shù)單元,采用計五次后的累加脈沖數(shù)來判斷對方是否接聽電話。若有,則放相應(yīng)的報警提示語音;否則再計ls,然后計算最后5s內(nèi)的脈沖數(shù),再次判斷對方是否摘機。如此反復(fù)。直到超過等待時間仍沒有人接聽電話就掛機。由于干擾和一些其他因素的存在,難免會有誤判的現(xiàn)象而導(dǎo)致漏報警情。因此采取在所有預(yù)先設(shè)定的電話至少有一個撥通就只撥一遍。如果全部投撥通或者沒人接聽則把所有預(yù)存電話重?fù)芤槐?,這樣漏報報警的概率就非常低以致可忽略不計。
2 軟件流程圖及撥號程序
自動撥號程序的流程圖如圖4所示。
3 編程過程中應(yīng)注意的幾點
首先,MT8880的DTMF產(chǎn)生器是發(fā)送部分的主體,它產(chǎn)生全部16種失真小、精度高的標(biāo)準(zhǔn)雙音頻信號,這些頻率均由3.579545MHz晶體振蕩器分頻產(chǎn)生。電路由數(shù)字頻率合成器、行/列可編程分頻器、開關(guān)電容式D/A變換器組成。行和列單音正弦波經(jīng)混合、濾波后產(chǎn)生雙音頻信號。通過DTMF編解碼表把編碼數(shù)據(jù)寫入MT8880發(fā)送寄存器產(chǎn)生單獨的fLOW和fHIGH,一旦編碼錯誤就會導(dǎo)致?lián)芴柺。试诰幊踢^程中要十分小心。
其次,在摘機后應(yīng)延時一段時間再去判斷摘機音,因為本系統(tǒng)采用機械繼電器實現(xiàn)自動摘機,故應(yīng)考慮繼電器的響應(yīng)時間。
最后,一個電話號碼撥完后不能立即撥下一個電話號碼,應(yīng)保證掛機的最短有效時間以確保前一電話號碼確實已掛機,否則撥下一個電話號碼時會沒有撥號音。
圖4 撥號子程序流程圖
結(jié)論
該系統(tǒng)編碼解碼都用軟件方式實現(xiàn),傳輸方式采用雙向傳輸。如果發(fā)生警情,則向主機發(fā)送一數(shù)據(jù)串,該數(shù)據(jù)串由以下幾個部分組成:4位地址碼,8位數(shù)據(jù)碼,1位起始位,1位奇偶校驗位。主機接收到數(shù)據(jù)后首先進行校驗,如果數(shù)據(jù)有錯則要求重新發(fā)送剛才的數(shù)據(jù),直到正確。接收到正確的數(shù)據(jù)信息后,接下來的工作就是核對地址碼,如果地址碼與主機設(shè)置的地址相同則表明該數(shù)據(jù)可能是來自本系統(tǒng)外的設(shè)備發(fā)送的數(shù)據(jù),不進行解碼,收到與主機設(shè)置地址相同的數(shù)據(jù)才進行解碼