遠程自動報警系統的設計與實現
o 引 言
隨著國家智能化小區建設的推廣,防盜系統已成為智能小區的必備設備,特別是近幾年,安全防范的迫切需要給家庭防盜報警系統提供了越來越廣泛的市場。從國內來看,比較高檔的防盜報警裝置一般為進口產品,價格昂貴,且大多為有線連接方式。國內產品盡管不少,但大多為模擬電路形式,且結構和功能簡單,可靠性差,難以聯網。
在已普及的公共電話網基礎上研制一種新型家用自動報警系統,這對于保障居民的生命財產安全,提高公安、消防、醫療、保安等部門的快速反應能力,有著十分重要的意義。為此,設計這個多功能遠程自動報警系統裝置,它可以監測火災、盜賊入室行竊和老年人發出的呼救信號。整個系統以單片機at89c51為核心,結合dtmf(雙音多頻)遠程數據傳輸技術,采用無線數據傳輸方式,不需重新布線,特別適用于已裝修用戶及布線不方便的場合。
1系統工作原理
該系統主要通過一個單片機控制中心與電話網相連接。在正常情況下一直處在等待狀態,監視是否有緊急情況發生。一旦有意外情況發生,通過發送中斷信號驅動單片機,讓它從等待狀態進入報警過程,從而實現遠程報警。具體工作過程如下:當傳感器檢測到有溫度的異常、氣體濃度的巨大變化、紅外掃描到人的紅外波以及老人按下了求救按鍵時,通過無線收發電路傳給單片機的ini1引腳,引起單片機產生中斷;然后開始執行中斷程序,啟動撥號電路,模擬摘機,收到了交換機反饋的撥號音后,開始撥打事先設定好的電話號碼,若占線則自動重撥;檢測到對方已經摘機后,啟動語音電路,播放事先錄制好的話音,播放完畢后掛機,整個系統的功能便已完成。
2電路設計方案
整個系統分成無線發射和接收、單片機控制中心、dtmf收發電路、語音電路等5大模塊。系統框圖如圖1所示。

對于類似火災這類意外,報警系統與現場需要有一定的安全距離。所以,當現場的傳感器監測到有意外情況發生時,采用無線收發裝置來給整個控制系統提供發生意外的種類、地點等具體信息。該模塊可分為發射和接收兩部分電路。
發射部分主要由編址電路、編碼電路、無線電發射電路組成。電路通過cd40147、pt2262、max2608這3個集成芯片實現。首先,cd40147將不同的探測器編為不同的二進制代碼,使單片機可以通過程序來判斷報警的種類與地點;然后,通過pt2262編碼,將不能直接調頻發射的數字信號轉化為中頻,再通過調頻發射芯片將報警信號發送出去。具體電路如圖2所示。


本系統采用單片機at89c51作為系統的控制中心。at89c51是一種低功耗、高性能的8位單片機,片內有一個4 kb flash perom(可編程可擦除的讀存儲器)。單片機接收到由fm接收機發送來的信號,通過固化在內部rom中的應用軟件來判斷是什么地方發生了情況,然后轉到相應的中斷處理過程。系統中,89c51要控制語音芯片的開啟、結束以及地址信息,實現芯片中存放的語音可以有選擇地送到電話線上。它還要控制撥號芯片產生正確的dtmf信號,完成對遠處電話機的呼叫。另外,還要能有效地判斷當前線路的狀態,如果遇到線路忙等情況時可以有相應的等待機制。在長時間不通的情況下可以更換不同的號碼多次嘗試,直到有人獲得報警信息為止。如果是火警、匪警,在此呼叫期問,本地的警笛可以發出連續、刺耳的聲音,起到提示或者威懾的作用。具體電路見圖4。

dtmf收發電路是實現電話線遠程通信的關鍵部分。它需實現自動撥號、忙音識別、鈴聲識別、遠程按鍵數字信號識別等功能。
系統選用intel微處理器接口功能較強的dtmf發送和接收器件mt8888。
mt8888與單片機及音頻放大電路組合,實現各種信號音的檢測及dtmf信號的產生,并將dtmf信號送到電話線上,實現報警和打電話共用一條線。具體電路如圖4所示。圖中,mt8888的do~d3分別與at89c51的p0.0~p0.3相連,rd、wr分別與at89c51的rd、wr相連,irq/cp接至int0,cs、rs0接至地址線p2.1、p2.0。
mt8888共有6種工作模式:dtmf模式、call(呼叫處理)模式、burst(突發)模式、test(測試)模式以及中斷模式。dtmf模式可以發送和接收dtmf信號,完成撥號的功能;call模式可以檢測交換機反饋回來的各種信號音,該電路由單片機通過rs0、wr、rd、d0~d3等引腳進行控制;在中斷模式,當接收或發送了有效的音頻信號后,irq/cp引腳輸出低電平,產生中斷信號供給cpu,在延遲控制電壓的跳變緣將數據鎖存至輸出端;在call模式,只能接收250 hz~550 hz的信號音,在拒收或無輸入時,irq/cp引腳輸出低電平。
電話線開關接口電路必須滿足電話入網的條件,為此采用了電話線匹配變壓器與電話線交流耦合,這樣可以大大地減少電話線上的支流成分對后面電路產生的影響。同時,為了能夠達到模擬摘機掛機的功能,在變壓器與電話線之間接入了電磁繼電器作為控制開關。
2.4語音電路
為了便于通信,系統在呼叫用戶成功時需啟動播放事先錄制好的報警話音電路,也就是說,整個電路還需采用語音芯片來實現語音提示和報警功能。本系統中的語音電路采用美國isd公司的優質集成語音芯片isd1420來實現。
isd1420芯片為單片語音記錄、回放一體化芯片,記錄時長為20 s,可劃分為160小段,每段125 ms。可進行連續錄音,也可進行分段錄音。通過分段錄音和放音,可以發出不同的警報聲。當rec引腳為低電平時,實現錄音功能;playe引腳或playl引腳為低時可實現放音。
具體電路如圖4所示。語音電路的具體設置主要包括分段錄音和分段放音。
3系統的軟件設計與實現
3.1主程序
本程序初始地址為0000h,因此開機后自動運行,大部分工作都是在中斷后完成的,所以主程序比較短,僅對mt8888進行初始化,同時寫ie使得中斷可以進行,然后就處于等待狀態,直至int0收到信號。
3.2中斷子程序
系統功能的實現全部在中斷子程序中,因此中斷子程序是最重要的,它主要由撥號子程序、撥號音判斷子程序、語音播放子程序、延時子程序以及電話號碼表組成,其流程如圖5所示。

信號音的判斷方法是:對t0引腳信號計數5 s,若計數值位于2175~2357范圍內,則為撥號音;若計數值位于1041~1212范圍內,則為忙音;若計數值位于425~475范圍內,則為回鈴音。在實際編程中,考慮到計數的誤差以及程序的簡化,可將范圍適當放寬,但不能重疊。
3.2.2撥號子程序
撥號子程序是實現功能最主要的程序。在程序的執行中,80c51通過mt8888將dtmf信號發送出去,即完成撥號功能,同時又應用mt8888的dtmf接收功能判斷電話是否被接通。在撥號子程序中要用到其他幾個子程序,其總的結構是兩個循環,同一號碼不同位的選擇循環嵌在不同號碼的選擇中,整個循環只有一個出口,就是接通電話播送了警報,否則就不停地循環撥號,這與系統的功能也是相適應的。
3.2.3其他程序
其他程序包括語音播放子程序、延時子程序以及電話號碼表,都較為簡單。其中語音播放程序先向isd1420的地址引腳寫入在中斷開始時收到的報警數據,以此數據對應相應的報警錄音段(其對應的形成應該在錄音時人為設定,非本部分內容),然后向playl引腳先后寫入高、低電平,并維持低電平狀態,isd1420就自動將音頻信號向電話接口播放。
4結束語
運用單片機控制技術和雙向dtmf數據通信技術,設計出基于公共電話網的遠程自動報警系統,與其他一些自動報警系統相比,具有多功能、低成本、易普及、高可靠性等突出優點,具有廣泛的市場發展前景。
評論