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