《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)實(shí)現(xiàn)智能家居的遠(yuǎn)程控制
單片機(jī)實(shí)現(xiàn)智能家居的遠(yuǎn)程控制
維庫
摘要: 隨著科技的發(fā)展和人們生活水平的提高,人們對居住環(huán)境方便快捷的要求越來越高,智能家居系統(tǒng)應(yīng)運(yùn)而生,。智能家居是現(xiàn)代電子技術(shù),、通訊技術(shù)及自動(dòng)化技術(shù)相結(jié)合的產(chǎn)物。它能夠?qū)崿F(xiàn)對家電設(shè)備的自動(dòng)控制和
Abstract:
Key words :

 

  1 引言

  隨著科技的發(fā)展和人們生活水平的提高,,人們對居住環(huán)境方便快捷的要求越來越高,智能家居系統(tǒng)應(yīng)運(yùn)而生。智能家居是現(xiàn)代電子技術(shù),、通訊技術(shù)及自動(dòng)化技術(shù)相結(jié)合的產(chǎn)物。它能夠?qū)崿F(xiàn)對家電設(shè)備的自動(dòng)控制和管理,、對家庭的安全進(jìn)行監(jiān)測報(bào)警,,能夠?yàn)橛脩籼峁┌踩孢m、高效便利的生活環(huán)境,。本文結(jié)合語音識別技術(shù),,利用SPCE061A 豐富的語音處理功能,在已有的電力線和電話線的基礎(chǔ)上,, 設(shè)計(jì)了一套智能家居系統(tǒng),, 該系統(tǒng)結(jié)構(gòu)簡單、功能完善并且具有較高的性價(jià)比,。

  2 系統(tǒng)架構(gòu)

  系統(tǒng)主要由主控制器,、分控制器(89C51)、電話接口和電力線載波通信等幾部分組成,。本系統(tǒng)使用了大量的硬件電路來完成部分功能模塊,,其目的就是充分利用硬件電路的可靠性和穩(wěn)定性以使系統(tǒng)達(dá)到較高的性能。系統(tǒng)的總體結(jié)構(gòu)如下圖1所示,。

  本系統(tǒng)主要完成遠(yuǎn)程控制家用電器和自動(dòng)報(bào)警兩個(gè)功能,, 下面我們簡要介紹一下系統(tǒng)的工作過程:

  當(dāng)用戶通過遠(yuǎn)方任何一部電話撥打家中的電話時(shí),系統(tǒng)檢測到電話線上出現(xiàn)的振鈴信號并開始計(jì)數(shù)。如果五次振鈴無人接聽,, 主控制器則發(fā)出摘機(jī)信號,, 實(shí)現(xiàn)模擬摘機(jī),并播放語音提示,。用戶根據(jù)語音提示輸入密碼,,DTMF 電路將接收到的DTMF 信號進(jìn)行解碼,并將解碼后的數(shù)字信號送入CPU 驗(yàn)證密碼是否正確,, 三次輸入密碼錯(cuò)誤則系統(tǒng)自動(dòng)掛機(jī),。如果密碼正確,則進(jìn)一步提示用戶輸入控制命令,,這時(shí)用戶可以通過按鍵或者直接用口令對家用電器進(jìn)行控制,。

  如果采用口令來控制,則口令經(jīng)電話線,,以及電話接口的語音通道進(jìn)入,,SPCE061A 單片機(jī)則將采集到的話音與預(yù)先存儲(chǔ)的模板進(jìn)行比較,進(jìn)行語音識別并判斷出用戶的指令,,然后發(fā)送相應(yīng)的控制信號,。控制信號被送入電力線調(diào)制解調(diào)器調(diào)制后,,通過電力線接口電路耦合到電力線上進(jìn)行傳輸,,控制信息也就以廣播形式發(fā)送出去。

  由電力線傳送的被調(diào)制信號由分控制器系統(tǒng)的電力線接口電路接收并被送入ST7537 進(jìn)行解調(diào),,解調(diào)后的信號被送入分控制器,。每個(gè)分控制器都有自己的固定地址,分控器讀取解碼后的地址信息,,并判斷與自己的固有地址是否一致,,若一致則接收數(shù)據(jù)信息并執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)了對相應(yīng)家電的控制,。操作完成后,,分控制器向主控制器發(fā)回確認(rèn)信息,再由主控制器控制語音提示電路發(fā)出操作完成或失敗的語音提示,,通知電話遙控者,。

  如果采用按鍵控制,用戶發(fā)出的按鍵信號(DTMF)經(jīng)解碼后送入CPU,CPU 接收到信號后從中分析出地址信息和控制信息并發(fā)出控制信號,??刂菩盘柦?jīng)ST7537 調(diào)制后通過電力線傳輸?shù)椒挚刂破?,由分控制器?zhí)行相應(yīng)的操作,。

  當(dāng)傳感器檢測到警情時(shí), 就會(huì)發(fā)出報(bào)警信號, 分控制器接收到報(bào)警信號,, 則將報(bào)警信號耦合到電力線上,。

  中心控制器接收到報(bào)警信號后則自動(dòng)撥打用戶預(yù)先設(shè)置的電話號碼, 電話接通后延遲兩秒,, 系統(tǒng)自動(dòng)播放語音報(bào)警信息,。

  3 SPCE061A 芯片特性簡介

  SPCE061A 是一款基于μ 'nSP 內(nèi)核的16 位單片機(jī),其芯片特性如下:

  1.工作電壓:內(nèi)核工作電壓VDD 為3.0-3.6V(CPU),,I/O 口工作電壓VDDH 為2.4~5.5V(I/O),;2. CPU 時(shí)鐘:0.32MHz~49.152MHz;3. 內(nèi)置 2K 字SRAM 和32K 閃存ROM;4. 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于2 μ A@3.6V;5 . 具備觸鍵喚醒的功能,;6 . 3 2 位通用可編程輸入/ 輸出端口,;7 . 2 個(gè)1 6 位可編程定時(shí)器/ 計(jì)數(shù)器( 可自動(dòng)預(yù)置初始計(jì)數(shù)值) ;8. 7 通道10 位電壓模- 數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模- 數(shù)轉(zhuǎn)換器;9. 2 個(gè)10 位DAC(數(shù)- 模轉(zhuǎn)換)輸出通道,;10.14 個(gè)中斷源可來自定時(shí)器A/B,時(shí)基,,2 個(gè)外部時(shí)鐘源輸入, 鍵喚醒,;1 1. 具備串行設(shè)備接口,;12. 低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(LVD)功能;13. 內(nèi)置在線仿真(ICE,In-Circuit Emulator)接口,。

  SPCE061A 的內(nèi)部結(jié)構(gòu)框圖如圖2 所示,。

  4 語音識別技術(shù)簡介

  語音識別技術(shù)就是一種讓機(jī)器通過識別和理解過程把語音信號轉(zhuǎn)變成相應(yīng)的文本或命令的技術(shù)。機(jī)器對語音進(jìn)行識別,、處理的過程與人對語音進(jìn)行識別,、處理的過程基本上是一致的。目前主流的語音識別技術(shù)是基于統(tǒng)計(jì)模式識別的基本理論,。一個(gè)完整的語音識別系統(tǒng)可大致分為語音特征提取,、聲學(xué)模型與模式匹配(識別算法)和語義理解三部分。其基本原理如下圖所示,。

  從圖中我們可以看出語音識別一般分為兩個(gè)步驟:

  第一步是系統(tǒng)“學(xué)習(xí)”或“訓(xùn)練”階段,,這一個(gè)階段的任務(wù)是建立識別基本單元的聲學(xué)模型以及進(jìn)行文法分析的語言模型, 即構(gòu)建參考模式庫,。第二步是“識別”或“測試”階段,,根據(jù)識別系統(tǒng)的類型選擇能夠滿足要求的識別方法,采用語音分析方法分析出這種識別方法所要求的語音特征參數(shù),,按照一定的準(zhǔn)則和測度與參考模式庫中的模型進(jìn)行比較, 通過判決得出結(jié)果,。

 

 

 在本應(yīng)用中,語音識別技術(shù)方面采用凌陽SPCE061A作為關(guān)鍵器件,,同時(shí)凌陽公司提供bsrv222SDL.lib 庫函數(shù)支持,在使用時(shí)通過調(diào)用庫函數(shù)里相關(guān)的API 函數(shù)來實(shí)現(xiàn)所要求的功能,。

 

  5 主要硬件模塊設(shè)計(jì)

  下面主要對主控制器和語音提示電路作介紹,。

  5.1 主控制器

  系統(tǒng)主控制器主要由MIC 輸入模塊,、控制模塊,、存儲(chǔ)模塊,、功放和喇叭輸出模塊四部分組成,,其結(jié)構(gòu)如下,。

  (1) 控制單元與語音識別:由SPCE061A 單片機(jī)完成,。

  (2) MIC 輸入模塊:SPCE061A 的A/D 轉(zhuǎn)換器有8個(gè)通道,,其中有一個(gè)通道是MIC_IN 輸入,專門對語音信號進(jìn)行采樣,。選用駐極體話筒,其偏壓由SPCE061A 的VMIC 腳提供,。該模塊電路比較簡單,,只需外接三個(gè)電阻和電容對電流信號進(jìn)行濾波就可以了。

 ?。?) 功放和喇叭輸出模塊:SPCE061A 提供雙通道10 位的D/A 輸出AUD1,、AUD2,每個(gè)通道的輸出能力是30mA,。為了能驅(qū)動(dòng)揚(yáng)聲器放音,,我們將輸出電路設(shè)計(jì)為由負(fù)載電阻和三極管8050 組成的功放電路。

 ?。?) 存儲(chǔ)模塊:由于芯片內(nèi)置的存儲(chǔ)空間有限,,為了運(yùn)行復(fù)雜的識別程序,必須通過擴(kuò)展必要的存儲(chǔ)芯片來完成系統(tǒng)的功能,。在本系統(tǒng)中我們采用SPBA01B 和W29C040 來對SPCE061A 進(jìn)行Memory 擴(kuò)展,。

  5.2 語音提示單元

  本系統(tǒng)主要由語音識別電路和語音提示電路來完成人機(jī)交互,,其中語音提示電路的電路原理圖如圖4 所示。

圖4 語音提示電路

  數(shù)碼語音芯片選用的是單片語音錄放集成電路ISD25120,它具有抗斷電,、音質(zhì)好、使用方便,、無需專用的開發(fā)系統(tǒng)等優(yōu)點(diǎn),。錄音時(shí)間為120s,能重復(fù)錄放達(dá)10 萬次,。芯片采用多電平直接模擬量存儲(chǔ)專利技術(shù),,省去了A/D,、D/A 轉(zhuǎn)換器。每個(gè)采樣值直接存儲(chǔ)在片內(nèi)單個(gè)存儲(chǔ)單元中,, 因此能夠非常真實(shí),、自然地再現(xiàn)語音,、音樂,、音調(diào)和效果聲,。

  SPCE061A的IOA11~IOA15 與ISD25120 的地址線相連,,用以設(shè)置語音段的起始地址,。IOB11 和IOB13 用以控制錄放音狀態(tài),。IOB12 連接一按鍵,供錄放音測試時(shí)使用,。ANA IN 與ANA OUT 是模擬信號的輸入端和輸出端,,它們之間連接耦合電容,,通常取值為0.22~1uF。

  語音信號由SP+ 和SP- 端經(jīng)耦合器耦合到電話線或由揚(yáng)聲器直接播放,。錄音時(shí),,單片機(jī)通過口線設(shè)置語音段的起始地址,,再使端PD 端和P/ R 端和CE 為低電平啟動(dòng)錄音,。結(jié)束時(shí),,單片機(jī)又讓CE 端回到高電平,,即完成一段語音的錄制。放音時(shí),,根據(jù)需要播放的語音內(nèi)容,,找到相應(yīng)的語音段起始地址,并通過口線送出,。再將P/ R端設(shè)為高電平, PD 端設(shè)為低電平,,并讓CE 端產(chǎn)生一負(fù)脈沖啟動(dòng)放音,這時(shí)單片機(jī)只需等待ISD25120 的信息結(jié)束信號,,即低電平EOM 的產(chǎn)生,。結(jié)束信號為一負(fù)脈沖,,在負(fù)脈沖的上升沿,, 標(biāo)志著該段語音播放結(jié)束。

  6 軟件設(shè)計(jì)

  6.1 系統(tǒng)軟件結(jié)構(gòu)

  軟件的設(shè)計(jì)不僅要考慮到各個(gè)模塊實(shí)現(xiàn)的功能,,而且要對整個(gè)系統(tǒng)進(jìn)行有效的管理和協(xié)調(diào)。在此基礎(chǔ)之上,,才能夠從整個(gè)系統(tǒng)的角度全面完善地實(shí)現(xiàn)系統(tǒng)所需要的各項(xiàng)功能,。本系統(tǒng)的軟件主要包括一個(gè)主程序和四個(gè)子程序, 其總體結(jié)構(gòu)如下圖所示,。

  主程序主要負(fù)責(zé)對整個(gè)控制器的工作進(jìn)行管理,、協(xié)調(diào)和對子程序的調(diào)用以及對用戶的各種服務(wù)的響應(yīng),。

  四個(gè)子程序分別是語音識別,、DTMF 收發(fā),、語音錄放,、信號音檢測四個(gè)子程序,。限于篇幅,,下面只對語音識別子程序的軟件設(shè)計(jì)進(jìn)行介紹,。

  6.2 語音識別子程序設(shè)計(jì)

  語音識別程序設(shè)計(jì)包括三部分: 訓(xùn)練樣本,; 識別,; 語音提示,。

  訓(xùn)練過程即提取語音樣本的特征參數(shù)過程主要調(diào)用庫函數(shù)BSR_Train 完成,。為了防止誤命令,,每條語音命令訓(xùn)練2 遍,,只有2 次命令相同時(shí)才成功,,BSR_Train函數(shù)有8 種可能的返回值, 如: 0 - 訓(xùn)練成功,; - 1 - 沒有語音識別技術(shù)方面有bsrv222SDL.lib 庫函數(shù)支持,在使用時(shí)通過調(diào)用庫函數(shù)里相關(guān)的API 函數(shù)來實(shí)現(xiàn)所要求的功能,。下面給出語音識別的流程圖及具體代碼。

圖7 語音識別流程圖

  其中,BSR-GetResult 函數(shù)為啟動(dòng)辯識,,當(dāng)無命令識別出來時(shí),,返回0;識別器停止、未初始化或識別未激活返回-1 ;當(dāng)識別不合格時(shí)返回-2 ;當(dāng)識別出來時(shí)返回命令的序號,。部分程序源代碼如下:

  7 結(jié)語

  本系統(tǒng)主要有以下性能特點(diǎn):實(shí)現(xiàn)了語音控制家用電器的啟動(dòng)和關(guān)閉,;實(shí)現(xiàn)雙向的功能:能夠遠(yuǎn)距離控制家用電器,又能快速及時(shí)地傳送報(bào)警信息;設(shè)計(jì)簡單,,系統(tǒng)組織靈活,控制范圍可大可小,,利用已有電力線和電話布置設(shè)施成本低,且不受供電范圍和距離的限制,;使用單片機(jī)實(shí)現(xiàn)語音識別控制功能,提高了系統(tǒng)的性價(jià)比,。隨著經(jīng)濟(jì)的發(fā)展,,人們對物質(zhì)文化需求的日益增長,智能家居系統(tǒng)必將受到人們的青睞,,相信這種功能強(qiáng)大的單片機(jī)系統(tǒng)會(huì)有廣闊的應(yīng)用和發(fā)展前景,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。