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