智能家居控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:介紹了以PC(個(gè)人計(jì)算機(jī))、MCU(單片機(jī)AT89C52)、雙音多頻編解碼集成電路MT8880C、語音錄放芯片ISD4004和無線數(shù)據(jù)收發(fā)芯片nRF401為核心,通過現(xiàn)有的電話網(wǎng)絡(luò)終端或者互聯(lián)網(wǎng)網(wǎng)絡(luò)終端實(shí)現(xiàn)遠(yuǎn)程控制的智能家居系統(tǒng),給出了該系統(tǒng)的電路原理和辦硬件設(shè)計(jì)與實(shí)現(xiàn)方法。 關(guān)鍵詞:遠(yuǎn)程控制 雙音多頻 網(wǎng)絡(luò)通訊 無線通訊 家庭自動(dòng)化 21世紀(jì)是信息化的世紀(jì),各種電信和互聯(lián)網(wǎng)新技術(shù)推動(dòng)了人類文明的巨大進(jìn)步。數(shù)字化家居控制系統(tǒng)的出現(xiàn)使得人們可以通過手機(jī)或者互聯(lián)網(wǎng)在任何時(shí)候、任意地點(diǎn)對(duì)家中的任意電器(空調(diào)、熱水器、電飯煲、燈光、音響、DVD錄像機(jī))進(jìn)行遠(yuǎn)程控制;也可以在下班途中,預(yù)先將家中的空調(diào)打開、讓熱水器提前燒好熱水、電飯煲煮好香噴噴的米飯……;而這一切的實(shí)現(xiàn)都僅僅是輕輕的點(diǎn)幾下鼠標(biāo),或者打一個(gè)簡(jiǎn)單的電話。此外,該系統(tǒng)還可使家庭具有多途徑報(bào)警、遠(yuǎn)程監(jiān)聽、數(shù)字留言等多種功能,如果不幸出現(xiàn)某種險(xiǎn)情,您和110可以在第一時(shí)間獲得通知以便進(jìn)一步采取行動(dòng)。舒適、時(shí)尚的家居生活是社會(huì)進(jìn)步的標(biāo)志,智能家居系統(tǒng)能夠在不改變家中任何家電的情況下,對(duì)家里的電器、燈光、電源、家庭環(huán)境進(jìn)行方便地控制,使人們盡享高科技帶來的簡(jiǎn)便而時(shí)尚的現(xiàn)代生活。 智能家居系統(tǒng)由系統(tǒng)主機(jī)、系統(tǒng)分機(jī)、Internet服務(wù)器和網(wǎng)絡(luò)接口等部分組成。其中系統(tǒng)主機(jī)通過服務(wù)器(個(gè)人計(jì)算機(jī))連入Internet,并通過自己的PSTN?公用電話交換網(wǎng)?接口電路連入PSTN。其結(jié)構(gòu)圖如圖1所示。主機(jī)與分機(jī)通過無線傳輸組成星形拓?fù)浣Y(jié)構(gòu)。系統(tǒng)主機(jī)通過本地?zé)o線傳輸網(wǎng)絡(luò)同系統(tǒng)分機(jī)進(jìn)行通訊、傳輸控制命令和反饋信息。 該系統(tǒng)正常工作時(shí),用戶可以通過Internet和PSTN兩種網(wǎng)絡(luò)進(jìn)行訪問,當(dāng)通過Internet訪問時(shí),本系統(tǒng)可提供一個(gè)界面友好的終端軟件,用戶只需登陸到運(yùn)行在家中的服務(wù)器即可對(duì)家中的設(shè)備進(jìn)行遠(yuǎn)程控制;當(dāng)通過PSTN訪問時(shí),本系統(tǒng)將為用戶提供語音操作界面。其工作流程如圖2所示。 2 系統(tǒng)的硬件構(gòu)成 本系統(tǒng)的硬件主要有系統(tǒng)主機(jī)與系統(tǒng)分機(jī)兩大部分。系統(tǒng)主機(jī)由單片機(jī)AT89C52和各種接口電路組成,如圖3所示。系統(tǒng)分機(jī)由單片機(jī)AT89C52和各種接口電路、傳感器單元電路、固態(tài)繼電器控制電路組成,并由固態(tài)繼電器控制具體設(shè)備,具體硬件組成框圖如圖4所示。 通過系統(tǒng)主機(jī)的各種接口電路可將主機(jī)CPU從繁忙的計(jì)算中解脫出來,以便把主要精力運(yùn)用在控制和信息傳遞上。系統(tǒng)主機(jī)主要依照各個(gè)功能電路的輸出結(jié)果進(jìn)行邏輯判斷和控制命令的輸出。系統(tǒng)分機(jī)的各種接口電路和主機(jī)相似,只是根據(jù)設(shè)備的不同(傳感器單元)有著細(xì)節(jié)上的變化。下面主要介紹系統(tǒng)主機(jī)的各種接口電路。 2.1 nRF401 無線數(shù)據(jù)傳輸電路 無線數(shù)據(jù)傳輸電路由Nordic公司的單片UHF無線數(shù)據(jù)收發(fā)芯片nRF401及其外圍電路構(gòu)成。nRF401采用FSK調(diào)制解調(diào)技術(shù),其工作效率可達(dá)20kbit/s,且有兩個(gè)頻率通道供選擇,并且支持低功耗和待機(jī)模式。它不用對(duì)數(shù)據(jù)進(jìn)行曼徹斯特編碼,其天線接口設(shè)計(jì)為差分天線,因而很容易用PCB來實(shí)現(xiàn)。 看門狗電路由MAX813L及其外圍元件組成。通常,在單片機(jī)的工作現(xiàn)場(chǎng),可能有各種干擾源。這些干擾源可能導(dǎo)致程序跑飛、造成死機(jī)或者程序不能正常運(yùn)行。如果不及時(shí)恢復(fù)或使系統(tǒng)復(fù)位,就容易造成損失??撮T狗電路的作用就是在程序跑飛或者死機(jī)時(shí),能有效地使系統(tǒng)復(fù)位以使系統(tǒng)恢復(fù)正常運(yùn)轉(zhuǎn)。因此,在程序中定期給P1.5送入看門狗信號(hào),就可以保證在程序運(yùn)行異常時(shí),由MAX813L使單片機(jī)復(fù)位。 2.3 DS1307時(shí)鐘接口電路 DS1307時(shí)鐘芯片是美國(guó)DALLAS公司生產(chǎn)的I2C總線接口實(shí)時(shí)時(shí)鐘芯片。DS1307可以獨(dú)立于CPU工作,它不受晶振和電容等的影響,并且計(jì)時(shí)準(zhǔn)確,月積累誤差一般小于10秒。此芯片還具有掉電時(shí)鐘保護(hù)功能,可自動(dòng)切換到后備電源供電。同時(shí)還具有閏年自動(dòng)調(diào)整功能,可以產(chǎn)生秒、分、時(shí)、日、月、年等數(shù)據(jù),并將其保存在具有掉電保護(hù)功能的時(shí)間寄存器內(nèi),以便CPU根據(jù)需要對(duì)其進(jìn)行讀出或?qū)懭搿S捎趩纹瑱C(jī)AT89C52沒有I2C總線接口,因此,要驅(qū)動(dòng)DS1307,就必須采用單主機(jī)方式下的I2C總線虛擬技術(shù)。在此方式下,以單片機(jī)為主節(jié)點(diǎn)(主器件),主器件永遠(yuǎn)占有總線而不出現(xiàn)總線競(jìng)爭(zhēng),且可以用兩根I/O口線來虛擬I2C總線接口。I2C總線上的主器件(單片機(jī))可在時(shí)鐘線(SDL)上產(chǎn)生時(shí)鐘脈沖,在數(shù)據(jù)線(SDA)上產(chǎn)生尋址信號(hào)、開始條件、停止條件以及建立數(shù)據(jù)傳輸?shù)钠骷?。任何被選中的器件都將被主器件看成是從器件。在這里,DS1307作為I2C總線的從器件。I2C總線為同步串行數(shù)據(jù)傳輸總線,其內(nèi)部為雙向傳輸電路,端口輸出為開漏結(jié)構(gòu),因此,需加上拉電阻。 2.4 MT8880C雙音頻編解碼電路 由于單片機(jī)是通過MT8880C芯片得到PSTN網(wǎng)絡(luò)的雙音頻信號(hào)解碼輸出,也就是說,單片機(jī)可以識(shí)別來自PSTN網(wǎng)絡(luò)的控制信號(hào),用戶可以根據(jù)系統(tǒng)的語音提示進(jìn)行按鍵選擇以實(shí)現(xiàn)用戶身份的識(shí)別與遠(yuǎn)程控制。因此,利用MT8880C的雙音頻編碼功能,系統(tǒng)可以在緊急時(shí)刻將用戶預(yù)置的緊急電話打到PSTN網(wǎng)絡(luò),從而把損失減少到最低。 2.5 ISD4004語音錄放電路 ISD4004是美國(guó)ISD公司生產(chǎn)的一種語音錄放芯片。它可錄制8~16分鐘的語音信號(hào)。該芯片可提供SPI標(biāo)準(zhǔn)接口和單片機(jī)進(jìn)行接口,其語音的錄放控制均通過單片機(jī)來實(shí)現(xiàn)。該芯片的一個(gè)最大特點(diǎn)是可以按地址編程錄放,因而可由ISD4004和單片機(jī)編程控制來構(gòu)成本系統(tǒng)與PSTN網(wǎng)絡(luò)用戶的語音平臺(tái)。由于ISD4004的INT和RAC腳輸出為開漏結(jié)構(gòu),因此需要加上拉電阻。 2.6 MAX202串行通訊電路 通訊電路可由串行通訊專用芯片MAX202組成,通過此電路可以方便地與PC機(jī)進(jìn)行串行通訊。 2.7 鈴流檢測(cè)與摘掛機(jī)控制電路 當(dāng)系統(tǒng)被呼叫時(shí),電話交換機(jī)發(fā)出鈴流信號(hào)。振鈴為253V的正弦波,失真小于10%,電壓有效值為9015V。振鈴信號(hào)以5秒為周期,即1秒送,4秒斷。由于振鈴信號(hào)電壓比較高,所以先要通過高壓穩(wěn)壓二極管進(jìn)行降壓,然后輸入至光耦。再經(jīng)光耦隔離轉(zhuǎn)換后,從光耦輸出時(shí)通時(shí)斷的正弦波,最后經(jīng)RC回路進(jìn)行濾波以輸出標(biāo)準(zhǔn)的方波。該方波信號(hào)可以直接輸出至單片機(jī)的定時(shí)器1進(jìn)行計(jì)數(shù),以實(shí)現(xiàn)對(duì)鈴流的檢測(cè)。 由于程控電話交換機(jī)在電話摘機(jī)時(shí)電話線回路電流會(huì)突然變大(約30mA),因此,交換機(jī)檢測(cè)到回路電流變大就認(rèn)為電話機(jī)已經(jīng)摘機(jī)。自動(dòng)摘掛機(jī)電路可以通過單片機(jī)的P1.7來控制一個(gè)固態(tài)繼電器,固態(tài)繼電器的控制端應(yīng)連接一個(gè)大約300Ω的電阻后再接入電話線兩端,從而完成模擬摘掛機(jī)。 本系統(tǒng)軟件主要由系統(tǒng)主機(jī)和系統(tǒng)分機(jī)的C51程序和系統(tǒng)與Internet網(wǎng)絡(luò)通訊程序組成。 3.1 系統(tǒng)主機(jī)程序的編制 系統(tǒng)主機(jī)程序主要用于實(shí)現(xiàn)系統(tǒng)的總體功能。包括無線數(shù)據(jù)傳輸程序、看門狗程序、時(shí)間戳程序、雙音頻編解碼程序、語音錄放程序、串行通訊程序、鈴流檢測(cè)與摘掛機(jī)控制程序、系統(tǒng)初始化程序、意外事件處理程序等。程序編制以消息驅(qū)動(dòng)為主導(dǎo)思想。消息由計(jì)數(shù)器中斷1、外部中斷0和串行中斷產(chǎn)生,在中斷服務(wù)程序中,應(yīng)將相應(yīng)的狀態(tài)位置位,而在消息循環(huán)中則應(yīng)按相應(yīng)的狀態(tài)位調(diào)用功能函數(shù),然后由功能函數(shù)將相應(yīng)的狀態(tài)位清0并完成所需功能,并最后返回到消息循環(huán)中。其程序流程如圖5所示。該系統(tǒng)的分機(jī)程序和主機(jī)類似,故此不再詳述。 3.2 系統(tǒng)與Internet網(wǎng)絡(luò)通訊程序的編制 這部分通訊程序分為服務(wù)器和客戶端兩個(gè)程序,主要通過Internet網(wǎng)絡(luò)完成用戶的控制功能。 服務(wù)器程序主要完成客戶端與系統(tǒng)主機(jī)通訊的中轉(zhuǎn),即將客戶端發(fā)來的控制或者查詢命令翻譯成系統(tǒng)主機(jī)能識(shí)別的格式,或者將系統(tǒng)主機(jī)收到的報(bào)警等信息上傳到客戶端。服務(wù)器程序使用Socket與客戶端進(jìn)行Internet通訊。 客戶端程序是運(yùn)行在遠(yuǎn)端用戶的控制界面,主要用于完成家居內(nèi)狀態(tài)的顯示以及對(duì)家居內(nèi)電器的遠(yuǎn)程控制,同時(shí)使客戶端直接連接到服務(wù)器。 4 結(jié)論 本系統(tǒng)充分利用了現(xiàn)有的網(wǎng)絡(luò)資源。通過在實(shí)際電話網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)中的試運(yùn)行證明:該系統(tǒng)能夠達(dá)到設(shè)計(jì)初期的各項(xiàng)要求。相信將在信息家電、智能小區(qū)等方面得到廣泛應(yīng)用。 | |
評(píng)論