摘 要: 介紹了以AT89C51單片機(jī)作為控制核心的自動(dòng)撥號(hào)、檢測(cè)和放音的智能語音撥號(hào)報(bào)警系統(tǒng)" title="報(bào)警系統(tǒng)">報(bào)警系統(tǒng)。重點(diǎn)論述了自動(dòng)撥號(hào)和語音部分的電路結(jié)構(gòu)、工作原理" title="工作原理">工作原理和軟件設(shè)計(jì)方法。
關(guān)鍵詞: 單片機(jī) 自動(dòng)撥號(hào) 語音芯片 信號(hào)音檢測(cè)
隨著人們生活水平的提高和安防" title="安防">安防意識(shí)的增強(qiáng),急需開發(fā)面向大眾、價(jià)格低廉、運(yùn)行可靠的自動(dòng)報(bào)警系統(tǒng)。鑒于住宅電話和移動(dòng)通信設(shè)備的普及,以及電話語音報(bào)警的快捷、有效及價(jià)格低廉等優(yōu)點(diǎn),公共通信網(wǎng)成了報(bào)警系統(tǒng)的最佳傳輸媒介。本文介紹的報(bào)警系統(tǒng)就是在此基礎(chǔ)上發(fā)展起來的一種智能語音撥號(hào)報(bào)警系統(tǒng),該系統(tǒng)可廣泛用于各種對(duì)安防要求較高的場(chǎng)合,如智能樓宇、商場(chǎng)、銀行和工廠等。
電話自動(dòng)報(bào)警的主要功能為:用戶根據(jù)需要把自己的手機(jī)號(hào)碼、辦公室電話或報(bào)警監(jiān)控中心的電話預(yù)存入報(bào)警主機(jī)。報(bào)警主機(jī)不斷地對(duì)所監(jiān)控的設(shè)備(門禁、煙霧探測(cè)器、窗磁、攝像頭等)狀況進(jìn)行巡檢,當(dāng)有不安全情況(如火災(zāi)、非法入室、視頻丟失等)發(fā)生時(shí),報(bào)警主機(jī)撥通預(yù)先存入的電話號(hào)碼,播放相應(yīng)的警情語音。若電話占線或者無人接聽,可撥下一個(gè)預(yù)存的電話號(hào)碼,如果所有預(yù)存的電話都占線或者無人接聽,則會(huì)自動(dòng)把所有的預(yù)存電話重?fù)芤槐?,保證了報(bào)警的有效性和可靠性。
1 系統(tǒng)組成和工作原理
系統(tǒng)組成框圖如圖1所示。采用AT89C51單片機(jī)作為控制核心,外接E2PROM用于存儲(chǔ)電話號(hào)碼、設(shè)置參數(shù)(定時(shí)布/撤防、聯(lián)動(dòng)、視頻等)以及警情信息等。當(dāng)AT89C51單片機(jī)實(shí)時(shí)巡檢到新的警情信號(hào)(防區(qū)故障、視頻丟失、主電斷電或上位機(jī)死機(jī))時(shí),報(bào)警主機(jī)就會(huì)自動(dòng)進(jìn)行警情處理(聲光報(bào)警、啟動(dòng)相應(yīng)聯(lián)動(dòng)、記錄警情以及撥號(hào)報(bào)警等)。撥號(hào)報(bào)警的工作原理如下:系統(tǒng)自動(dòng)地控制摘/掛機(jī)電路模擬摘機(jī),同時(shí)AT89C51單片機(jī)通過可編程" title="可編程">可編程并行接口8255將MT8880置為呼叫模式,檢測(cè)是否有撥號(hào)音。若有撥號(hào)音,則將MT8880設(shè)為突發(fā)方式,并按用戶預(yù)設(shè)的電話號(hào)碼自動(dòng)撥號(hào)。撥完電話號(hào)碼以后立即檢測(cè)對(duì)方是否摘機(jī),一旦檢測(cè)到對(duì)方摘機(jī),就啟動(dòng)語音提示電路發(fā)送與警情相一致的語音信息,完成自動(dòng)撥號(hào)報(bào)警。
2 硬件設(shè)計(jì)
2.1 警情采集電路
信號(hào)采集電路由16路防區(qū)輸入信號(hào)采集電路和16路視頻丟失檢測(cè)采集電路組成。16路防區(qū)輸入信號(hào)采集電路如圖2所示。采集電路通過一片可編程并行接口芯片8255與AT89C51單片機(jī)的P0口接口,而16路防區(qū)輸入信號(hào)則通過光電隔離后與8255的PA口和PB口相接。PA口和PB口均設(shè)為輸入口,這16個(gè)輸入口分別對(duì)應(yīng)16路探測(cè)器的輸入。系統(tǒng)通過采集8255的PA、PB口的數(shù)據(jù)來判斷是否有警情產(chǎn)生。
16路視頻丟失檢測(cè)采集電路如圖3所示。該電路首先通過一片16路模擬開關(guān)芯片CD4067進(jìn)行視頻通路選擇,隨后經(jīng)過視頻信號(hào)檢測(cè)電路,最后再與AT89C51單片機(jī)的P1.3口相接。系統(tǒng)首先將視頻通路號(hào)送給模擬開關(guān)CD4067,然后將采集的數(shù)據(jù)送給P1.3口,來判斷視頻是否丟失。
2.2 DTMF發(fā)送接收電路MT8880與AT89C51及語音電路的接口
MT8880是MITEL公司推出的專門用于處理DTMF信號(hào)的專用集成電路芯片,不僅具有接收和發(fā)送DTMF信號(hào)的自動(dòng)撥號(hào)功能,還可以檢測(cè)電話干線上撥號(hào)音、回鈴音和忙音等信號(hào)音。適合與單片機(jī)接口,外圍電路簡單。
MT8880內(nèi)部有五個(gè)寄存器,分別為接收數(shù)據(jù)寄存器、發(fā)送數(shù)據(jù)寄存器、收發(fā)控制寄存器" title="控制寄存器">控制寄存器CRA和CRB以及收發(fā)狀態(tài)寄存器。在本設(shè)計(jì)中,由于僅采用發(fā)送數(shù)據(jù)寄存器、收發(fā)控制寄存器CRA和CRB發(fā)送DTMF信號(hào)實(shí)現(xiàn)自動(dòng)撥號(hào)功能,因此在此僅介紹這三個(gè)寄存器。發(fā)送數(shù)據(jù)寄存器中的數(shù)據(jù)決定要發(fā)送的雙音頻信號(hào)的頻率,因此只能向發(fā)送數(shù)據(jù)寄存器寫入數(shù)據(jù)。兩個(gè)收發(fā)控制寄存器占用同一個(gè)地址,因此根據(jù)CRA中的寄存器選擇位的值決定是否對(duì)CRB進(jìn)行操作。其接口電路如圖4所示。
ISD1420語音芯片采用直接模擬存儲(chǔ)技術(shù),且錄放音質(zhì)極好,并有一定的混響效果;它的外圍元件簡單,僅需簡單的阻、容器件即可組成簡單的錄、放音電路;無需后備電源,信息存儲(chǔ)時(shí)間長,不需要專用的編程器及語音開發(fā)器;具有較強(qiáng)的選址能力,可把存儲(chǔ)器分成160段來管理,形成最小的錄放時(shí)間為125ms。其接口電路圖如圖4所示。
語音分段方法:地址輸入端A0~A7由低位向高位排列,每位地址代表125ms的尋址,160個(gè)地址覆蓋20s的語音范圍(160×0.125s=20s),錄音及放音功能均從設(shè)定的起始地址開始,錄音結(jié)束由停止操作決定,芯片內(nèi)部在該段的結(jié)束位置自動(dòng)插入結(jié)束標(biāo)志(EOM);而放音時(shí)遇到EOM標(biāo)志即自動(dòng)停止放音。在本設(shè)計(jì)中,因需要四段報(bào)警提示語音,因此在設(shè)計(jì)時(shí)均將每段語音設(shè)為5s,其起始地址分別為00000000B、00101000B、 01010000B、01111000B,由這四段起始地址可以看出A7、A2、A1和A0均為0,因此將其接地。
3 軟件設(shè)計(jì)
3.1 信號(hào)音的識(shí)別方法
系統(tǒng)在巡檢到警情信號(hào)后就模擬摘機(jī)。為了識(shí)別模擬摘機(jī)后電話系統(tǒng)是否處于可撥號(hào)的狀態(tài)、電話撥完號(hào)碼后電話是否接通以及對(duì)方是否摘機(jī)接聽電話等幾種狀態(tài),系統(tǒng)必須進(jìn)行信號(hào)音的識(shí)別。為了識(shí)別信號(hào)音,必須知道各種信號(hào)音的特性。各種信號(hào)音特性如下:
撥號(hào)音:450±25Hz連續(xù)蜂音;
忙 音:0.35s斷0.35s通的450±25Hz蜂音,音斷周期為0.7s;
回鈴音:4s斷1s通的450±25Hz蜂音,音斷周期為5s。
這些電話信號(hào)均是模擬信號(hào),然而單片機(jī)是無法識(shí)別模擬信號(hào)的,故必須先將模擬信號(hào)轉(zhuǎn)換為脈沖信號(hào),然后再根據(jù)脈沖信號(hào)的脈沖個(gè)數(shù)進(jìn)行識(shí)別。這些電話音頻信號(hào)的脈沖個(gè)數(shù)可用下式計(jì)算:
N=tm/T
式中,N為每音段周期的脈沖個(gè)數(shù);T為電話音頻信號(hào)的音頻周期,單位為s;tm為信號(hào)音斷周期的通時(shí)間,單位為s。
在實(shí)際使用中,主要需要識(shí)別撥號(hào)音、忙音和回鈴音。分析這三種信號(hào)的特性可以看出,在一定的計(jì)數(shù)時(shí)間內(nèi),其脈沖個(gè)數(shù)是不一樣的。在設(shè)計(jì)之初,考慮采用5s為一個(gè)計(jì)數(shù)單位來判斷這三種信號(hào)音,但通過實(shí)際的調(diào)試發(fā)現(xiàn):當(dāng)對(duì)方摘機(jī)時(shí),要等待一段時(shí)間才能聽到報(bào)警語音。通過反復(fù)研究及調(diào)試,最終采用2s計(jì)數(shù)判斷撥號(hào)音,采用2.8s(即4個(gè)忙音周期)判斷是否為忙音,若否則代表電話撥通了。隨后采用1s為一個(gè)計(jì)數(shù)單元,采用計(jì)五次后的累加脈沖數(shù)來判斷對(duì)方是否接聽電話。若有,則放相應(yīng)的報(bào)警提示語音;否則再計(jì)1s,然后計(jì)算最后5s內(nèi)的脈沖數(shù),再次判斷對(duì)方是否摘機(jī)。如此反復(fù),直到超過等待時(shí)間仍沒有人接聽電話就掛機(jī)。由于干擾和一些其他因素的存在,難免會(huì)有誤判的現(xiàn)象而導(dǎo)致漏報(bào)警情。因此采取在所有預(yù)先設(shè)定的電話至少有一個(gè)撥通就只撥一遍,如果全部沒撥通或者沒人接聽則把所有預(yù)存電話重?fù)芤贿?,這樣漏報(bào)報(bào)警的概率就非常低以致可忽略不計(jì)。
3.2 軟件設(shè)置
自動(dòng)撥號(hào)程序的流程圖如圖5所示。下面是自動(dòng)撥號(hào)的部分程序(如需要完整的程序,可與作者聯(lián)系)。
AUTOCALL:CLR P1.2 ;模擬摘機(jī)
MOV A,#5DH ;允許信號(hào)音輸出,下一次為寫控制寄存器CRB
MOVX @DPTR,A ;寫控制寄存器CRA
MOV A,#51H ;MT8880置為突發(fā)模式
MOVX @DPTR,A ;寫控制寄存器CRB
MOV A,#56H ;MT8880置為呼叫模式
MOVX @DPTR,A ;寫控制寄存器CRA
LCALL DELAY
LCALL AUTOY ;調(diào)用信號(hào)音判別子程序,看是否有撥號(hào)音
MOV A,#5DH ;允許信號(hào)音輸出,下一次為寫控制寄存器CRB
MOVX @DPTR,A ;寫控制寄存器CRA
MOV A,#50H ;MT8880置為突發(fā)模式
MOVX @DPTR,A ;寫控制寄存器CRB
…… ;撥電話號(hào)碼
MOV A,#56H ;MT8880置為呼叫模式
MOVX @DPTR,A ;寫控制寄存器CRA
LCALL AUTOY ;調(diào)用信號(hào)音判別子程序,看是否有回鈴音
LCALL AUTOY ;調(diào)用信號(hào)音判別子程序, 看對(duì)方是否摘機(jī)
SETB P1.2 ;模擬掛機(jī)
3.3 編程過程中應(yīng)注意的幾點(diǎn)
首先,MT8880的DTMF產(chǎn)生器是發(fā)送部分的主體,它產(chǎn)生全部十六種失真小、精度高的標(biāo)準(zhǔn)雙音頻信號(hào),這些頻率均由3.579545MHz晶體振蕩器分頻產(chǎn)生。電路由數(shù)字頻率合成器、行/列可編程分頻器、開關(guān)電容式D/A變換器組成。行和列單音正弦波經(jīng)混合、濾波后產(chǎn)生雙音頻信號(hào)。通過DTMF編解碼表把編碼數(shù)據(jù)寫入MT8880發(fā)送寄存器產(chǎn)生單獨(dú)的fLOW和fHIGH,一旦編碼錯(cuò)誤就會(huì)導(dǎo)致?lián)芴?hào)失敗,故在編程過程中要十分小心。其編解碼表見MT8880的Datasheet。
其次,在摘機(jī)后應(yīng)延時(shí)一段時(shí)間再去判斷摘機(jī)音,因?yàn)楸鞠到y(tǒng)采用機(jī)械繼電器實(shí)現(xiàn)自動(dòng)摘機(jī),故應(yīng)考慮繼電器的響應(yīng)時(shí)間。
最后,一個(gè)電話號(hào)碼撥完后不能立即撥下一個(gè)電話號(hào)碼,應(yīng)保證掛機(jī)的最短有效時(shí)間以確保前一電話號(hào)碼確實(shí)已掛機(jī),否則撥下一個(gè)電話號(hào)碼時(shí)會(huì)沒有撥號(hào)音。
本系統(tǒng)配置靈活,可以有效、快速地應(yīng)用于對(duì)安防要求比較高的場(chǎng)合。例如:對(duì)不需要監(jiān)視視頻丟失的場(chǎng)合,可以不配置視頻監(jiān)測(cè)盒;而對(duì)智能小區(qū)、醫(yī)院等,可以通過RS485總線將一臺(tái)DVR(Digital Video Recorder)主機(jī)、一套報(bào)警監(jiān)控軟件和多臺(tái)報(bào)警主機(jī)組合到一起,構(gòu)成一個(gè)網(wǎng)絡(luò)型智能監(jiān)控系統(tǒng)。
本報(bào)警系統(tǒng)具有價(jià)格低廉、操作簡便、通訊速度快、可靠性高和誤報(bào)率低的優(yōu)點(diǎn)。
參考文獻(xiàn)
1 張友德,趙志英,涂時(shí)亮. 單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn).上海:復(fù)旦大學(xué)出版社,1993
2 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社, 1990
3 薛均義,張彥斌.MCS-51/96系列單片微型計(jì)算機(jī)及其應(yīng)用.西安:西安交通大學(xué)出版社,1990