基于單片機的家居安防系統(tǒng)設(shè)計
1 引言
現(xiàn)在,人們對工作和生活環(huán)境不僅要求舒適健康、可靠便利,而且更加看重安全性,并利用安防系統(tǒng)來提高家庭抵御各種意外情況的能力?,F(xiàn)在的安防系統(tǒng)可借助計算機技術(shù)、IC 卡技術(shù)、通信技術(shù)等來實現(xiàn),CAN總線應(yīng)用于安防系統(tǒng)對家居智能化發(fā)展起到了良好的促進作用。CAN總線是一種應(yīng)用較為廣泛的現(xiàn)場總線,它支持多主節(jié)點,有完善的錯誤處理機制,通信速率快,傳送距離遠,可掛接控制設(shè)備多。而把DTMF 技術(shù)應(yīng)用于安防系統(tǒng),不需要專門的布線,不占用無線電頻率資源,沒有電磁污染。文中設(shè)計了一種基于CAN 總線和DTMF技術(shù)的以AT89S52單片機為核心的新型智能家居安防系統(tǒng),使原來小區(qū)安防系統(tǒng)的實時性和可靠性有了一個新層次的提高。本系統(tǒng)可以對整個家居的安全環(huán)境進行實時監(jiān)控,監(jiān)控的范圍包括室內(nèi)防盜、火災(zāi)報警、煤氣泄露等一系列不安全因素。一旦有上述事故發(fā)生,該報警系統(tǒng)就會發(fā)出相應(yīng)的報警信息,用語音播出警情類別,向遠方用戶和相關(guān)部門提供警情語音。
2 系統(tǒng)總體構(gòu)成
系統(tǒng)框圖如圖1所示。單片機控制DTMF收發(fā)電路、數(shù)字語音電路、摘掛機控制電路。探測器能夠快速、準(zhǔn)確地監(jiān)測到住宅的異常狀況,經(jīng)確認(rèn)后及時通知控制器,再由單片機來控制電話接口電路,實現(xiàn)模擬摘機,自動撥打預(yù)先設(shè)置的電話號碼進行語音報警并通知管理中心。當(dāng)監(jiān)測到對方回應(yīng)后,自動恢復(fù)警戒狀態(tài)。
圖1 家居安防系統(tǒng)框圖
3 硬件設(shè)計
系統(tǒng)主控部分采用AT89S52單片機,無需擴展外部存儲器。看門狗電路采用具有可編程的串行EEPROM - X25045。X25045依次存儲了標(biāo)志字段、話機號碼、警情代號、系統(tǒng)設(shè)置等數(shù)據(jù)信息。數(shù)字語音電路采用數(shù)字語音芯片ISD1420。系統(tǒng)中ISD1420僅作為基本錄放音電路,所以所有的地址線全部置為0, 因此放音的起始地址是0。語音信號由駐極話筒拾取,從M IC和M IC REF兩端輸入芯片內(nèi)部的放大器放大,經(jīng)過功放后的音頻信號從SP+ 被用來與通話電路相連,以送出語音信號。
3. 1 振鈴檢測及模擬摘掛機單元
系統(tǒng)并于電話線兩端,時刻處于監(jiān)控狀態(tài),不會影響電話的正常工作。當(dāng)系統(tǒng)接收到振鈴信號時,會進行振鈴檢測。振鈴信號經(jīng)三個反相器后接入AT89S52的P3. 4口。若5次振鈴后無人接聽,則系統(tǒng)進入自動摘機狀態(tài)。單片機P1. 2 引腳輸出高電平,三極管V501導(dǎo)通則繼電器K1動作,將負(fù)載電阻接入電路實現(xiàn)模擬摘機。此后電話線上就會出現(xiàn)大于10mA的電流,交換中心檢測到這一電流后就不再輸出振鈴信號而是轉(zhuǎn)為接通電話。如果振鈴信號沒有達到預(yù)設(shè)值就消失,則單片機的計數(shù)值清零,控制器不動作。
3. 2 DTMF收發(fā)單元
DTMF收發(fā)電路采用DTMF信號編/解碼芯片MT8880[ 5] 芯片,單片機通過DTMF收發(fā)電路撥出電話號碼進行電話報警,DTMF收發(fā)電路如圖2所示。
圖2 DTMF收發(fā)電路
MT8880提供了與微處理器相連的接口,以對其發(fā)送、接收和工作模式進行控制。它的接收部分采用單端輸入,由R27、R28和C16 組成,其輸入電壓增益為1, 通過改變R28可調(diào)節(jié)輸入信號的增益。它的發(fā)送部分由R29、C17、C18和XTAL2構(gòu)成。它的控制部分由R30 和C19 構(gòu)成。IRQ /CP與單片機P3. 5 腳相連。當(dāng)MT8880接收到有效的雙音多頻信號時,單片機進行中斷處理。MT8880的IN - 端和通話電路TEA 1062 的QR 端相連,MT8880的TONE端和TEA1062的DTMF端相連。
3. 3 通話單元
通話電路使用電話機專用通話集成電路TEA1062。送話時,語音信號(來自ISD1420)通過M IC + 引腳輸入,DTMF信號(來自MT8880)通過DTMF引腳輸入,經(jīng)過TEA1062 放大后從LN 引腳一起送到電話外線上。受話時,信號通過消側(cè)音網(wǎng)絡(luò),從IR 引腳輸入,放大后從引腳QR 輸出,分兩路:一路送到ISD1420的ANA IN端供語音錄制用,另一路送到MT8880的IN-端提取DTMF信號。
3. 4 CAN 總線數(shù)據(jù)傳輸單元
CAN 總線數(shù)據(jù)傳輸單元由兩部分構(gòu)成,一部分是CAN控制器,實現(xiàn)對總線數(shù)據(jù)的交互與控制,另一部分是CAN 數(shù)據(jù)收發(fā)器,實現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸。
單片機AT89S52通過控制CAN控制器來實現(xiàn)對總線的訪問,同時還負(fù)責(zé)功能單元的測量和控制, CAN 總線接口電路如圖3所示。
圖3 CAN總線接口電路
AT89S52通過中斷方式訪問CAN控制器SJA1000,為了增強CAN總線節(jié)點的抗干擾能力,SJA1000通過高速光耦6N137與CAN總線驅(qū)動器PCA82C50相連。PCA82C50的CANH和CANL引腳各自接了一個5的電阻與CAN總線相連,可以起到限流作用,以免PCA82C50受到過電流沖擊。
4 軟件設(shè)計
系統(tǒng)的軟件采用模塊化設(shè)計,主要包括主程序模塊、CAN通信模塊、振鈴檢測模塊、語音報警模塊、DTMF收發(fā)模塊等,這里主要介紹主程序和CAN通信模塊設(shè)計。
4. 1 主程序設(shè)計
主程序主要完成各功能模塊的調(diào)用,檢測系統(tǒng)輸入,然后根據(jù)系統(tǒng)狀態(tài)進行判斷處理。程序進行主循環(huán)之前還要進行必要的初始化,如MT8880、ISD1420、SJA1000相關(guān)標(biāo)志位等。主程序流程如圖4所示。
圖4 主程序流程圖
4. 2 CAN通信模塊設(shè)計
CAN通信模塊包括控制器初始化、數(shù)據(jù)接收和發(fā)送子程序。SJA1000有復(fù)位模式和工作模式兩種狀態(tài),兩種狀態(tài)下寄存器配置不同。當(dāng)參數(shù)設(shè)置完后,CPU發(fā)出命令,SJA1000處于工作狀態(tài),進行正常通信。如果通信出錯,CPU會使SJA1000回到復(fù)位模式。接收模塊負(fù)責(zé)節(jié)點報文的接收及相關(guān)處理。接收過程中CPU會讀數(shù)據(jù),根據(jù)命令字判斷數(shù)據(jù)幀的類型進行不同處理。發(fā)送模塊負(fù)責(zé)報文的發(fā)送,SJA1000發(fā)送數(shù)據(jù)前,要判斷是否滿足發(fā)送條件,如果滿足,則把報文幀信息、標(biāo)識符和要發(fā)送的數(shù)據(jù)寫入緩沖區(qū),即可發(fā)送。JA 1000的收發(fā)流程圖如圖5所示。
圖5 JA 1000的收發(fā)流程圖
5 結(jié)束語
本系統(tǒng)以AT89S52單片機為核心,不用對電話網(wǎng)進行任何改造,實現(xiàn)對家居設(shè)防點進行自動檢測和語音報警。設(shè)計中用CAN總線結(jié)構(gòu)組成安防系統(tǒng),有較好的靈活性和擴展性,同時利用CAN 總線引入實時的數(shù)據(jù)處理,提高了系統(tǒng)的可靠性??蓪怯羁梢晫χv、智能小區(qū)管理、門禁管理等有較大的應(yīng)用推廣價值。