謝 輝,王體見,黃俊森
(重慶三峽學(xué)院 應(yīng)用技術(shù)學(xué)院,重慶 404100)
利用現(xiàn)有的個人通信終端,實現(xiàn)基于陸基移動通信網(wǎng)(PLMN)和公用電話交換網(wǎng)(PSTN)的電話遠(yuǎn)程控制系統(tǒng),將傳統(tǒng)的個體電器進(jìn)行智能化的統(tǒng)一管理和控制,如家用電器的定時開啟、家居環(huán)境的監(jiān)聽等,可使人們盡情享受高科技帶來的簡便而時尚的現(xiàn)代生活[1]。
(1)遠(yuǎn)程家電控制功能。通過電話終端通信設(shè)備對家中電器實現(xiàn)遠(yuǎn)程控制,如控制電飯煲煮飯、空調(diào)開機(jī)等。
(2)自動模擬摘掛機(jī)。在規(guī)定的振鈴次數(shù)內(nèi),認(rèn)為是正常來電,可正常通話;超過規(guī)定振鈴計數(shù),系統(tǒng)自動模擬摘機(jī)。
(3)主人身份校驗。密碼操作。
(4)語音提示。按提示音操作。
(5)聲音監(jiān)聽。通過電話遙控家中座機(jī)模擬摘機(jī),監(jiān)聽家居環(huán)境聲音,隨時了解家中情況。
(6)電器延時開、關(guān)??刂萍译婇_關(guān)機(jī)的定時時間,更好地服務(wù)主人。
(7)狀態(tài)查詢。隨時查詢家用電器的工作狀態(tài)。
本系統(tǒng)以單片機(jī)為核心,加上振鈴檢測與模擬摘機(jī)電路、聲音監(jiān)聽與語音提示電路、雙音多頻信號DTMF(Dual Tone Multi Frequency)解碼電路、密碼存儲及家電控制電路等構(gòu)成,系統(tǒng)總體框圖如圖1所示。根據(jù)電話機(jī)和交換機(jī)發(fā)出的不同信號音以及電話線各種狀態(tài)的不同要求,結(jié)合實際情況對具體的單元功能模塊作出軟件或硬件上的不同分工。其中,信號音檢測、自動摘掛機(jī)、控制電器、DTMF解碼及密碼存儲等功能模塊使用硬件電路實現(xiàn),而信號音計數(shù)、密碼校驗、信息分析、電器狀態(tài)查詢、密碼修改等功能模塊使用軟件編程完成。
圖1 系統(tǒng)總體框圖
本系統(tǒng)的一大特點是采用了盛群公司的HT46RU232單片機(jī)[2]。HT46RU232是一款8 bit的精簡指令集單片機(jī),有 4 096×16 bit程序存儲器 ROM、192×8 bit數(shù)據(jù)存儲器RAM、1個8 bit和2個16 bit的具有溢出中斷的可編程定時/計數(shù)器、八層硬件堆棧、有可降低功耗的 HALT和喚醒功能等。不但運算速度快,集成功能強(qiáng)大,而且價格更便宜,非常適合于家用電器及工業(yè)控制。HT46RU232有28腳和48腳DIP兩種封裝形式 (主要是I/O引腳數(shù)目不同),本系統(tǒng)根據(jù)實際需要選用28腳封裝,使硬件裝置體積大為縮小,系統(tǒng)性價比更高。本文主要給出應(yīng)用電路設(shè)計,其芯片介紹可參閱參考文獻(xiàn)[3]。
設(shè)計系統(tǒng)采用單片機(jī)最小系統(tǒng)方式工作,如圖2所示。單片機(jī)外接晶振和復(fù)位電路,PA、PB、PC、PD 4個口全部用作外接電路的輸入/輸出。其中,PC0、PC1和PC2用于振鈴檢測和模擬摘機(jī),PB口和PA4、PA6、PA7用于語音提示及聲音監(jiān)聽,PA0~PA3及 PA5用于 DTMF檢測;PC3和PC4用于密碼存儲,PD0和PD1用于電器控制。需要注意的是,HT46RU232單片機(jī)晶振頻率采用的是4 MHz或8 MHz,而復(fù)位采用的是低電壓復(fù)位方式,與80C51單片機(jī)系統(tǒng)不同。
振鈴檢測及模擬摘機(jī)電路主要包括振鈴檢測、模擬摘機(jī)和摘機(jī)監(jiān)測三個功能[4],如圖3所示。
圖2 單片機(jī)最小系統(tǒng)電路
(1)振鈴檢測:檢測有無鈴流。在電話線路未來鈴流前,電話線路由電話交換機(jī)提供約48 V的直流電壓,直流信號不能通過電容C4、C9,所以光耦U3不起作用,振鈴信號檢測端PC2輸出高電平。當(dāng)用戶被呼叫時,電話交換機(jī)發(fā)來振鈴信號,振鈴為 25±3 Hz的正弦波,以 5 s為周期,(1 s送,4 s斷),振鈴電壓有效值為 90±15 V。 振鈴信號通過C4、C9,再經(jīng)過光耦U3的隔離轉(zhuǎn)換,輸出很標(biāo)準(zhǔn)的方波。方波信號由PC2端口輸入單片機(jī)進(jìn)行計數(shù),完成振鈴音次數(shù)的檢測。
(2)模擬摘機(jī):當(dāng)單片機(jī)的振鈴計數(shù)達(dá)到預(yù)定的次數(shù)(振鈴計數(shù)可以由軟件設(shè)定)仍無人摘機(jī)時,系統(tǒng)即認(rèn)為不是進(jìn)行正常通話,而是要進(jìn)行家電的遠(yuǎn)程控制。則單片機(jī)通過輸出口PC0發(fā)出一個低電平,光耦U2工作,Q2基極得到一個高電平,Q2、Q1導(dǎo)通,平時48 V的高電壓通過Q1、發(fā)光二極管 D4和 R27后降為 7 V~8 V的低電壓,從而實現(xiàn)了模擬摘機(jī)功能。
圖3 振鈴檢測及模擬摘機(jī)電路
圖4 語音提示及聲音監(jiān)聽電路
(3)摘機(jī)監(jiān)測:電路中的 DW1、R7、R26、C13、U6 組成電話線路摘機(jī)監(jiān)測,平時電話線路的48 V電壓使得DW1擊穿,光耦U6工作,PC1輸出低電平。當(dāng)系統(tǒng)接收到振鈴信號且達(dá)到規(guī)定的振鈴次數(shù)后模擬摘機(jī)時,電話線路上電壓由原來的48 V下降到7 V~8 V,此時DW1截止,U6停止工作,PC1輸出高電平。即單片機(jī)測試到PC1腳的高電平,就可確定系統(tǒng)已經(jīng)模擬摘機(jī),從而進(jìn)行下一步的語音提示功能操作及DTMF解碼工作。
需要注意的是,振鈴檢測與模擬摘機(jī)部分是電話網(wǎng)絡(luò)的48 V高電壓,與系統(tǒng)其他部分的5 V電壓不同,必須隔離。單片機(jī)與本部分電路連接所用的I/O口都采用了光電耦合,語音電路輸出給本部分電路的音頻信號采用變壓器耦合才能正確傳輸。
語音提示是系統(tǒng)的重要組成部分,能為用戶提供直觀的反饋信息,引導(dǎo)用戶更好地進(jìn)行系統(tǒng)的操作。語音芯片能將需要的操作規(guī)則事先存于芯片中,根據(jù)不同的DTMF信號產(chǎn)生不同的提示信息,從而完成控制整個系統(tǒng)的目的。由于需要存儲的信息容量比較大,本系統(tǒng)選用了ISD2560語音芯片,其電路如圖4所示。
聲音監(jiān)聽和語音提示都由PA4進(jìn)行控制,監(jiān)測家居環(huán)境的聲音信號由安置在房間內(nèi)的MIC話筒產(chǎn)生,而語音信號由ISD2560語音芯片輸出。當(dāng)PA4為高電平時,三極管Q7截止,對聲音信號和語音信號沒有放大功能;當(dāng)PA4為低電平時,三極管Q6、Q12導(dǎo)通,繼電器K3動作,K3觸頭控制 ISD2560 Q7的SP-接地,三極管Q7導(dǎo)通,對信號有放大作用。通過電話線傳輸,此時用戶在遠(yuǎn)處通過電話或手機(jī)就可實現(xiàn)對家居環(huán)境的監(jiān)聽或者自動語音提示。
ISD2560是高度集成的語音芯片,可錄60 s的語音信息,只需外接少量的阻容元件即可進(jìn)行錄放音操作[5]。本系統(tǒng)采用了硬件方式錄音,錄音前先給A0~A9賦值,然后再開相應(yīng)的端口就可以實現(xiàn)錄音功能,錄音結(jié)束芯片內(nèi)部自動在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM)。在系統(tǒng)運行過程中根據(jù)需要,從相應(yīng)的錄音地址中取出對應(yīng)的語音信號進(jìn)行播放,遇到EOM標(biāo)志即自動停止放音,從而引導(dǎo)用戶進(jìn)行下一步的操作。
需要注意的是,本程序中涉及的放音地址不是語音輸入地址而是PB口給語音芯片送的地址。
本系統(tǒng)采用EEPROM存儲密碼。為了減小電路的體積及單片機(jī)I/O口,存儲器采用了AT24C02串行EEPROM芯片。該芯片有2 KB的存儲空間,當(dāng)系統(tǒng)掉電后密碼也不會丟失。密碼存儲電路如圖5所示。
圖5 密碼存儲電路
AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。在與HT46RU232連接時全部接地,第8腳和第4腳分別為正、負(fù)電源。第5腳DATA為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這條雙向I2C串行總線與單片機(jī)的PC4進(jìn)行數(shù)據(jù)傳送。第6腳CLK為串行時鐘輸入線,與單片機(jī)的PC3連接。DATA和CLK都需外接一個10 kΩ的上拉電阻才能正常工作??赏ㄟ^軟件編程對密碼進(jìn)行存儲和修改[6]。
DTMF檢測電路是整個系統(tǒng)的關(guān)鍵部分,其工作情況直接決定了系統(tǒng)的可靠性。DTMF編解碼方式在電話撥號系統(tǒng)中應(yīng)用非常廣泛,其突出的優(yōu)點是抗干擾能力很強(qiáng)。本系統(tǒng)采用專用的雙音頻解碼集成芯片MT8870[7],其電路如圖6所示。圖中,PA5為單片機(jī)的中斷引腳,當(dāng)MT8870接收來自電話線的雙音多頻信號并準(zhǔn)備好輸出時,產(chǎn)生中斷信號。MT8870的2、3腳接收來自電話機(jī)的雙音多頻脈沖信號,該信號先經(jīng)其內(nèi)部的撥號音濾波器和濾除撥號音信號,然后經(jīng)前置放大后送入雙音頻濾波器,將雙音頻信號按高、低音頻信號分開,再經(jīng)高、低群濾波器,幅度檢測器送入輸出譯碼電路,經(jīng)過數(shù)字運算后,在其數(shù)據(jù)輸出端(11~14腳)輸出相對應(yīng)的8421碼。MT8870的數(shù)據(jù)輸出端 Q1~Q4連到單片機(jī)的 PA0~PA3口線上,由單片機(jī)識別出4位代碼。
需要注意,為了使單片機(jī)獲取有效數(shù)據(jù),MT8870的STD有效端經(jīng)反相后接CPU的引腳INT。當(dāng)MT8870獲取有效雙音多頻信號后,STD電平由低變高,再反相為低,CPU檢測后,指示PA口從 Q1~Q4接收有效二進(jìn)制代碼。而無效的雙音頻信號(電話線路雜音、人們的語音信號等)是不會引起MT8870的STD端變化的。
本系統(tǒng)采用繼電器來控制家用電器的開關(guān)。單片機(jī)的PD0和PD1輸出低電平控制兩路繼電器,從而控制兩路家電,如空調(diào)和電飯煲。根據(jù)需要,還可設(shè)定延時開、延時關(guān)的功能。電器控制電路如圖7所示。若采用譯碼器進(jìn)行擴(kuò)展,可控制更多路的家電。
圖7 家電控制電路
為提高控制系統(tǒng)的可靠性、可維護(hù)性和編程效率性,控制系統(tǒng)的軟件采用模塊化結(jié)構(gòu),用C語言編寫。在硬件的基礎(chǔ)上,智能型電話遙控器的所有功能都由軟件實現(xiàn),通過軟件編程可以控制電器的開關(guān)、延時開關(guān)、聲音監(jiān)聽及語音提示等。軟件模塊包括振鈴檢測、模擬摘機(jī)、語音提示、密碼存儲、MT8870中斷等[8]。圖8為系統(tǒng)軟件流程圖。由于篇幅所限,下面只給出MT8870中斷程序部分。
圖8 系統(tǒng)軟件流程圖
測試結(jié)果表明,本系統(tǒng)能夠通過任一部電話、手機(jī)對家用電器進(jìn)行遠(yuǎn)程遙控,實現(xiàn)了密碼存儲、修改及家居環(huán)境聲音監(jiān)聽等功能,系統(tǒng)工作正常。
本文介紹的智能家居控制系統(tǒng),充分利用現(xiàn)有電話網(wǎng)絡(luò)的特點,不需專門布線,不占用無線電頻率資源,不受距離和環(huán)境影響,節(jié)約了成本。采用了高性價比的HT46RU232單片機(jī),與傳統(tǒng)的80C51單片機(jī)相比,更具有競爭優(yōu)勢;系統(tǒng)具有遠(yuǎn)程家電控制、工作狀態(tài)查詢、環(huán)境聲音監(jiān)聽等多項功能,操作過程需要驗證密碼,較好地避免了電話正常使用時對家用電器的誤操作,可以讓家居生活更加舒適、安全、高效。系統(tǒng)略作改進(jìn),也可適用于生活小區(qū)、工業(yè)企業(yè)等不同環(huán)境的監(jiān)控管理,因此具有較高的實用性和推廣價值。
[1]蔣昊,李哲英,蔣大明.基于電話交換機(jī)的遠(yuǎn)程家電控制系統(tǒng)[J].微計算機(jī)信息,2007,23(8-2):267-269.
[2]鐘啟仁.HT46XX單片機(jī)原理與實踐[M].北京:北京航空航天大學(xué)出版社,2008.
[3]HT46RU232八位單片機(jī).http://www.holtek.com.cn/china/docum/uc/46x232.htm,2009-12-05.
[4]劉芬,楊繼生.智能電話網(wǎng)遠(yuǎn)程家電控制系統(tǒng)的設(shè)計[J].微型機(jī)與應(yīng)用,2010(1):34-36.
[5]程廣才,蔣小松.ISD系列語音芯片的特性及應(yīng)用[M].北京:電子工業(yè)出版社,2006.
[6]張鵬.HOLTEK HT46系列單片機(jī)C語言實例教程[M].北京:北京郵電大學(xué)出版社,2010.
[7]張慶龍.單片機(jī)控制與網(wǎng)絡(luò)傳輸應(yīng)用[M].北京:中國電力出版社,2007.
[8]王明秋.智能家居控制系統(tǒng)的設(shè)計與實現(xiàn)研究[D].武漢:華中師范大學(xué),2006.