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