利用公用電話網(wǎng)進(jìn)行遠(yuǎn)程控制家用電器和撥號(hào)報(bào)警,主要解決的問(wèn)題是如何利用電話線傳遞控制信息以及如何對(duì)信息進(jìn)行處理、加工。使用Modem與計(jì)算機(jī)的結(jié)合,可以實(shí)現(xiàn)控制信息的傳送問(wèn)題,而且控制信息可以非常復(fù)雜和豐富,但必須在控制方和被控方設(shè)置一臺(tái)計(jì)算機(jī)Modem,費(fèi)用較高。如果在被控制方操作簡(jiǎn)單,只需較少命令即可實(shí)現(xiàn)控制的情況下,直接使用電話機(jī)上的雙音多頻" title="雙音多頻">雙音多頻信號(hào)或其組合,就足夠?qū)h(yuǎn)程被控制方進(jìn)行有效的控制。
1 系統(tǒng)原理與組成
電話遠(yuǎn)程控制系統(tǒng)主要完成的功能是對(duì)電話雙音多頻(DTMF,double tone multiple frequency)信號(hào)進(jìn)行解碼,并自動(dòng)驅(qū)動(dòng)被控電器設(shè)備進(jìn)行指定操作,同時(shí)用戶可對(duì)被控設(shè)備的工作狀態(tài)進(jìn)行查詢,以及當(dāng)有人非法進(jìn)入室內(nèi)時(shí)通過(guò)撥預(yù)置的電話號(hào)碼進(jìn)行遠(yuǎn)程預(yù)警。由于本系統(tǒng)是利用電話進(jìn)行遠(yuǎn)程控制,所以系統(tǒng)必須能識(shí)別電話線上的振鈴信號(hào),從而實(shí)現(xiàn)自動(dòng)摘機(jī);同時(shí),本系統(tǒng)一般在無(wú)人值守的情況下工作,所以必須能自動(dòng)摘機(jī)、掛機(jī),且在用戶操作完畢忘記掛機(jī)時(shí),必須能自動(dòng)復(fù)位及關(guān)機(jī),為了安全起見(jiàn)還有必要增加密碼校驗(yàn)的功能;要進(jìn)行工作查詢就必須有語(yǔ)音的提示和反饋,這樣的系統(tǒng)才基本上合乎要求。
基于以上要求,此系統(tǒng)主要設(shè)置了系統(tǒng)開啟關(guān)閉模塊,系統(tǒng)模擬摘、掛機(jī)模塊,語(yǔ)音模塊,監(jiān)控模塊 ,DTMF收發(fā)模塊,控制模塊,被控模塊,如圖1所示?,F(xiàn)對(duì)其分述如下。
1.1 系統(tǒng)開啟/關(guān)閉模塊
本系統(tǒng)有多種開啟方式:振鈴啟動(dòng),報(bào)警啟動(dòng),手動(dòng)啟動(dòng),如圖2所示。
本系統(tǒng)的關(guān)機(jī)由單片機(jī)控制時(shí),單片機(jī)發(fā)出一個(gè)高電平信號(hào)后,三極管飽合,繼電器K常開端閉合,使可控硅的K和A短路。單片機(jī)再發(fā)出一個(gè)低電平信號(hào),三極管截?fù)?,繼電器常開端打開,使可控硅Q的K和A兩端開路,從而使可控硅進(jìn)入關(guān)閉狀態(tài),切斷電源使系統(tǒng)關(guān)閉。當(dāng)由手動(dòng)控制時(shí),打開開關(guān)三極管截止,繼電器常開端打開,系統(tǒng)斷電,從而關(guān)閉系統(tǒng)。
1.2 模擬摘掛機(jī)模塊
當(dāng)單片機(jī)發(fā)出摘機(jī)信號(hào)時(shí)三極管飽和,繼電器的常開端閉合,電話線兩端的電阻降至300 Ω左右,從而實(shí)現(xiàn)模擬摘機(jī)。當(dāng)單片機(jī)發(fā)出掛機(jī)信號(hào)時(shí)三極管截止,繼電器常開端打開,從而實(shí)現(xiàn)模擬掛機(jī)。
1.3 語(yǔ)音模塊
本模塊采用美國(guó)ISD公司的新品ISD4004" title="ISD4004">ISD4004系列的錄放芯片,與單片機(jī)構(gòu)成。該芯片聲音錄放采用了CchipCorder專利技術(shù),即無(wú)需A/D轉(zhuǎn)換和壓縮就可以直接儲(chǔ)存,沒(méi)有A/D轉(zhuǎn)換誤差,在一個(gè)記錄位(BIT)可存儲(chǔ)250級(jí)聲音信號(hào),相當(dāng)于通常的A/D記錄的8倍。片內(nèi)集成了晶體震蕩器、麥克前置放大器、自動(dòng)增益控制、抗混迭濾波器、平滑濾波器等,只需很少的外圍器件,就可以構(gòu)成一個(gè)完整的聲音錄放系統(tǒng)。
1.4 監(jiān)控模塊
(1)模塊概述
本模塊采用EEP型熱釋電式紅外傳感器。其原理如下:鈦酸鉛陶瓷具有高熱電系數(shù)和溫度穩(wěn)定性,它能檢測(cè)紅外線。傳感器密封在TO-5殼體內(nèi),熱釋組件和場(chǎng)效應(yīng)管裝在一起,它能輸出與紅外輻射強(qiáng)度成比例的電壓。
(2)監(jiān)控報(bào)警的實(shí)現(xiàn)
在家中無(wú)人時(shí),當(dāng)單片機(jī)接收到來(lái)自監(jiān)控系統(tǒng)的報(bào)警信息時(shí)。P3.0口置高電平,三極管T1飽和,繼電器J動(dòng)作,實(shí)現(xiàn)模擬摘機(jī)。然后由可信音檢測(cè)電路確認(rèn)為撥號(hào)音后,由P0 口發(fā)指令,撥號(hào)芯片MT8880" title="MT8880">MT8880將存儲(chǔ)的報(bào)警號(hào)碼變成雙音多頻(DTMF)信號(hào),反饋入電話線。撥號(hào)后,在完成忙音、回鈴及對(duì)方摘機(jī)檢測(cè)后,啟動(dòng)語(yǔ)音提示電路,向線路發(fā)出報(bào)警語(yǔ)音信號(hào)。如未撥通再次撥號(hào)。
1.5 DTMF收發(fā)模塊
(1)模塊概述
本模塊由MT8880與單片機(jī)組成。
MT8880 是一個(gè)帶有呼叫處理濾波器(call progress filter)的單片DTMF收發(fā)器,它采用MITEL公司的ISO2-CMOS工藝制造,功耗低,可靠性高。MT8880中的DTMF收號(hào)器是基于單片收號(hào)器MT8870工業(yè)標(biāo)準(zhǔn),能接收全部16個(gè)DIMF信號(hào),DTMF發(fā)送器采用開關(guān)電容D/A變換器,信號(hào)失真小、精度高,定時(shí)精確。MT8880有兩種工作模式:DTMF模式和呼叫處理(CP)模式。當(dāng)選擇了呼叫處理模式時(shí),MT8880就用于檢測(cè)電話網(wǎng)上電話呼叫過(guò)程中表示不同進(jìn)程的信號(hào)音(主要是撥號(hào)音,撥號(hào)音的標(biāo)準(zhǔn)頻率為350 Hz或440 Hz),可以進(jìn)行撥號(hào)音識(shí)別。這是目前其他DTMF芯片所不具備的,這樣便可以省去一套復(fù)雜的撥號(hào)音識(shí)別電路。
(2)MT8880簡(jiǎn)介(如圖3所示)
IN+:運(yùn)放輸入;IN-:運(yùn)放輸入;
GS:Gain Select,運(yùn)放輸出端。用于輸入信號(hào)的增益高速;
Vref:參考電壓;
Vss:電源負(fù)極;
OSC1:DTMF時(shí)鐘/振蕩器輸入,采用3.579 545 MHz的時(shí)鐘;
OSC2:時(shí)鐘輸出;
R/W:讀寫控制;
CS:片選;
RS0:寄存器選擇;
& 2:系統(tǒng)時(shí)鐘輸入,TTL電平;
IRQ / CP:中斷請(qǐng)求/呼叫處理,向MCU的中斷申請(qǐng)。當(dāng)選擇了呼叫處理模式時(shí),輸入信號(hào)線上有呼叫信號(hào)時(shí)輸出與之相應(yīng)的方波信號(hào);
DO~D3:數(shù)據(jù)線;
Est:Early steering output,滯后前輸出。當(dāng)檢測(cè)到有效音頻對(duì)時(shí),(也稱信號(hào)條件Signal condition ),就變?yōu)楦唠娖?信號(hào)條件不滿足時(shí)又立刻返回低電平。此引腳上為高電平不一定表示有DTMF信號(hào),話音信號(hào)也會(huì)偶然產(chǎn)生有效音頻對(duì)。
St/Gt:Steering Output/ Guard Time output,滯后輸出/保護(hù)后輸出。當(dāng)電壓高于VTST 時(shí),(參見(jiàn)收發(fā)工作時(shí)序圖)時(shí)就保存檢測(cè)到的音頻對(duì),同時(shí)更新輸出鎖存器的內(nèi)容。當(dāng)電壓低于VTST時(shí),芯片就可以重新接收新的音頻,對(duì)Gt的輸出對(duì)滯后時(shí)間常數(shù)(steering timeconstant)有影響,它的狀態(tài)是Est和加到St的電壓的函數(shù)。
VDD:電源正極。
(3)信號(hào)音判斷的實(shí)現(xiàn)
信號(hào)音判斷的原理是:由于電話系統(tǒng)信號(hào)音的撥號(hào)音。回鈴音和忙音的頻率均為425~475 Hz的正弦波,只是斷續(xù)比不同且在時(shí)間上有明顯的差異(撥號(hào)音連續(xù)信號(hào):忙音為0.35 s通,0.35 s斷,回鈴聲為1 s通,4 s斷)。要判斷信號(hào)音,首先應(yīng)將處理DTMF信號(hào)的MT8880芯片設(shè)置為呼叫處理模式,當(dāng)選擇呼叫處理模式時(shí),MT8880就不能用于檢測(cè)DTMF信號(hào)了。MT8880的呼叫處理濾波器是一個(gè)帶通濾波器,通頻帶為300 ~510 Hz,當(dāng)信號(hào)輸入端有信號(hào)音輸入時(shí),如果MT8880工作在CP模式,在IRQ/CP就輸出一高電平。使電話呼叫過(guò)程中的各種信號(hào)音經(jīng)MT8880濾波,限幅后得到方波,并由MT8880的IRQ輸出。然后對(duì)MT8880輸出的IRQ信號(hào)計(jì)數(shù)5 s,撥號(hào)音的計(jì)數(shù)上限為(450+25)*5=2375,撥號(hào)音的計(jì)數(shù)下限為(450-25)*5=2175。同理,忙音的計(jì)數(shù)范圍為 1041~1212,回鈴音的計(jì)數(shù)范圍為425~475,無(wú)信號(hào)的計(jì)數(shù)應(yīng)為0。
在實(shí)際編程中,考慮到計(jì)數(shù)的誤差,以及簡(jiǎn)化程序,因此采用不同信號(hào)音相鄰計(jì)數(shù)界限的中間值來(lái)區(qū)分不同的信號(hào)音,計(jì)數(shù)值選用2n最后設(shè)定計(jì)數(shù)值大于1792為撥號(hào)音,在1024~1791之間為忙音,在256~1023之間為無(wú)信號(hào)音。
1.6 控制模塊
本系統(tǒng)為了提高可靠性,降低成本,采用了現(xiàn)在已廣泛使用的AT89C51單片機(jī)。其片內(nèi)集成了8 kB的FLASH,無(wú)需外接存儲(chǔ)器,使用方便。該芯片兼容8051的指令,易于編程,且功能強(qiáng)大。在硬件及程序設(shè)計(jì)上,利用P0端口控制MT8880芯片,其中P0.0~P0.3為數(shù)據(jù)輸入輸出位,P0.4~P0.7為MT8880的命令字輸入位;利用P1端口中的5位來(lái)控制ISD4004芯片;利用 P2端口控制家電設(shè)備;利用P3端口中的3位來(lái)控制系統(tǒng)的開啟,摘掛電話及標(biāo)志位的設(shè)定。
1.7 被控模塊
家電大多使用220 V交流電,屬于強(qiáng)電電路。所以使用繼電器來(lái)開關(guān)家電。芯片不能直接驅(qū)動(dòng)繼電器,因此在集成電路芯片與繼電器之間必須設(shè)置一個(gè)驅(qū)動(dòng)繼電器的電路。本系統(tǒng)的所有繼電器都利用三極管的截止與飽和兩個(gè)狀態(tài),來(lái)關(guān)閉或打開繼電器開關(guān)。
2 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì)思想,其程序流程如圖4所示。
系統(tǒng)的DTMF收發(fā)程序說(shuō)明如下:
接收程序:MOVR1,#0
MOVR0,#10H
LOOP1:MOVA,#0FFH
MOVP0,A
SETBP0.7
SETBP0.4
CLRP0.5
SETBP0.6
MOVA,P0; 讀 8880 狀態(tài)寄存器
JNBACC.2, LOOP1
CLRP0.4
MOVA,P0; 讀 8880 接收數(shù)據(jù)寄存器
ANLA,#0FH; 屏蔽高四位
MOV@R0,A
INCR0
INCR1
CJNER1,#07H,LOOP1
發(fā)碼程序:MOVR0,#10H
MOVR1,#7
MOVA,#9DH;寫 8880CRA
MOVP0,A
MOVA,#90H
MOVP0,A;寫 8880CRB,8880模式2為TONE,DTMF,IRQ,BURST
LOOP2:MOVA,@R0
ORLA,#0F0H
ANLA,#8FH
MOVP0,A; 發(fā)送數(shù)據(jù)
MOVA,#0FFH
MOVP0,A
SETBP0.7
SETBP0.4
CLRP0.5
SETBP0.6
LOOP3:MOVA,P0;讀8880狀態(tài)寄存器
JNBACC.1,LOOP3
INCR0
DJNZR1,LOOP2
3 結(jié)語(yǔ)
MT8880構(gòu)成的智能通訊系統(tǒng),具有通訊速度快,可靠性高和誤碼率低的優(yōu)點(diǎn)。該系統(tǒng)自運(yùn)行以來(lái),其工作正常,性能穩(wěn)定,通訊可靠。