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