1 引言
隨著科技的發(fā)展和人們生活水平的提高,人們對(duì)居住環(huán)境方便快捷的要求越來(lái)越高,智能家居系統(tǒng)應(yīng)運(yùn)而生。智能家居是現(xiàn)代電子技術(shù)、通訊技術(shù)及自動(dòng)化技術(shù)相結(jié)合的產(chǎn)物。它能夠?qū)崿F(xiàn)對(duì)家電設(shè)備的自動(dòng)控制和管理、對(duì)家庭的安全進(jìn)行監(jiān)測(cè)報(bào)警,能夠?yàn)橛脩籼峁┌踩孢m、高效便利的生活環(huán)境。本文結(jié)合語(yǔ)音識(shí)別技術(shù),利用SPCE061A 豐富的語(yǔ)音處理功能,在已有的電力線和電話線的基礎(chǔ)上, 設(shè)計(jì)了一套智能家居系統(tǒng), 該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、功能完善并且具有較高的性價(jià)比。
2 系統(tǒng)架構(gòu)
系統(tǒng)主要由主控制器、分控制器(89C51)、電話接口和電力線載波通信等幾部分組成。本系統(tǒng)使用了大量的硬件電路來(lái)完成部分功能模塊,其目的就是充分利用硬件電路的可靠性和穩(wěn)定性以使系統(tǒng)達(dá)到較高的性能。系統(tǒng)的總體結(jié)構(gòu)如下圖1所示。
本系統(tǒng)主要完成遠(yuǎn)程控制家用電器和自動(dòng)報(bào)警兩個(gè)功能, 下面我們簡(jiǎn)要介紹一下系統(tǒng)的工作過(guò)程:
當(dāng)用戶通過(guò)遠(yuǎn)方任何一部電話撥打家中的電話時(shí),系統(tǒng)檢測(cè)到電話線上出現(xiàn)的振鈴信號(hào)并開(kāi)始計(jì)數(shù)。如果五次振鈴無(wú)人接聽(tīng), 主控制器則發(fā)出摘機(jī)信號(hào), 實(shí)現(xiàn)模擬摘機(jī),并播放語(yǔ)音提示。用戶根據(jù)語(yǔ)音提示輸入密碼,DTMF 電路將接收到的DTMF 信號(hào)進(jìn)行解碼,并將解碼后的數(shù)字信號(hào)送入CPU 驗(yàn)證密碼是否正確, 三次輸入密碼錯(cuò)誤則系統(tǒng)自動(dòng)掛機(jī)。如果密碼正確,則進(jìn)一步提示用戶輸入控制命令,這時(shí)用戶可以通過(guò)按鍵或者直接用口令對(duì)家用電器進(jìn)行控制。
如果采用口令來(lái)控制,則口令經(jīng)電話線,以及電話接口的語(yǔ)音通道進(jìn)入,SPCE061A 單片機(jī)則將采集到的話音與預(yù)先存儲(chǔ)的模板進(jìn)行比較,進(jìn)行語(yǔ)音識(shí)別并判斷出用戶的指令,然后發(fā)送相應(yīng)的控制信號(hào)??刂菩盘?hào)被送入電力線調(diào)制解調(diào)器調(diào)制后,通過(guò)電力線接口電路耦合到電力線上進(jìn)行傳輸,控制信息也就以廣播形式發(fā)送出去。
由電力線傳送的被調(diào)制信號(hào)由分控制器系統(tǒng)的電力線接口電路接收并被送入ST7537 進(jìn)行解調(diào),解調(diào)后的信號(hào)被送入分控制器。每個(gè)分控制器都有自己的固定地址,分控器讀取解碼后的地址信息,并判斷與自己的固有地址是否一致,若一致則接收數(shù)據(jù)信息并執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)了對(duì)相應(yīng)家電的控制。操作完成后,分控制器向主控制器發(fā)回確認(rèn)信息,再由主控制器控制語(yǔ)音提示電路發(fā)出操作完成或失敗的語(yǔ)音提示,通知電話遙控者。
如果采用按鍵控制,用戶發(fā)出的按鍵信號(hào)(DTMF)經(jīng)解碼后送入CPU,CPU 接收到信號(hào)后從中分析出地址信息和控制信息并發(fā)出控制信號(hào)??刂菩盘?hào)經(jīng)ST7537 調(diào)制后通過(guò)電力線傳輸?shù)椒挚刂破鳎煞挚刂破鲌?zhí)行相應(yīng)的操作。
當(dāng)傳感器檢測(cè)到警情時(shí), 就會(huì)發(fā)出報(bào)警信號(hào), 分控制器接收到報(bào)警信號(hào), 則將報(bào)警信號(hào)耦合到電力線上。
中心控制器接收到報(bào)警信號(hào)后則自動(dòng)撥打用戶預(yù)先設(shè)置的電話號(hào)碼, 電話接通后延遲兩秒, 系統(tǒng)自動(dòng)播放語(yǔ)音報(bào)警信息。
3 SPCE061A 芯片特性簡(jiǎn)介
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è)中斷源可來(lái)自定時(shí)器A/B,時(shí)基,2 個(gè)外部時(shí)鐘源輸入, 鍵喚醒;1 1. 具備串行設(shè)備接口;12. 低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;13. 內(nèi)置在線仿真(ICE,In-Circuit Emulator)接口。
SPCE061A 的內(nèi)部結(jié)構(gòu)框圖如圖2 所示。
4 語(yǔ)音識(shí)別技術(shù)簡(jiǎn)介
語(yǔ)音識(shí)別技術(shù)就是一種讓機(jī)器通過(guò)識(shí)別和理解過(guò)程把語(yǔ)音信號(hào)轉(zhuǎn)變成相應(yīng)的文本或命令的技術(shù)。機(jī)器對(duì)語(yǔ)音進(jìn)行識(shí)別、處理的過(guò)程與人對(duì)語(yǔ)音進(jìn)行識(shí)別、處理的過(guò)程基本上是一致的。目前主流的語(yǔ)音識(shí)別技術(shù)是基于統(tǒng)計(jì)模式識(shí)別的基本理論。一個(gè)完整的語(yǔ)音識(shí)別系統(tǒng)可大致分為語(yǔ)音特征提取、聲學(xué)模型與模式匹配(識(shí)別算法)和語(yǔ)義理解三部分。其基本原理如下圖所示。
從圖中我們可以看出語(yǔ)音識(shí)別一般分為兩個(gè)步驟:
第一步是系統(tǒng)“學(xué)習(xí)”或“訓(xùn)練”階段,這一個(gè)階段的任務(wù)是建立識(shí)別基本單元的聲學(xué)模型以及進(jìn)行文法分析的語(yǔ)言模型, 即構(gòu)建參考模式庫(kù)。第二步是“識(shí)別”或“測(cè)試”階段,根據(jù)識(shí)別系統(tǒng)的類(lèi)型選擇能夠滿足要求的識(shí)別方法,采用語(yǔ)音分析方法分析出這種識(shí)別方法所要求的語(yǔ)音特征參數(shù),按照一定的準(zhǔn)則和測(cè)度與參考模式庫(kù)中的模型進(jìn)行比較, 通過(guò)判決得出結(jié)果。
在本應(yīng)用中,語(yǔ)音識(shí)別技術(shù)方面采用凌陽(yáng)SPCE061A作為關(guān)鍵器件,同時(shí)凌陽(yáng)公司提供bsrv222SDL.lib 庫(kù)函數(shù)支持,在使用時(shí)通過(guò)調(diào)用庫(kù)函數(shù)里相關(guān)的API 函數(shù)來(lái)實(shí)現(xiàn)所要求的功能。
5 主要硬件模塊設(shè)計(jì)
下面主要對(duì)主控制器和語(yǔ)音提示電路作介紹。
5.1 主控制器
系統(tǒng)主控制器主要由MIC 輸入模塊、控制模塊、存儲(chǔ)模塊、功放和喇叭輸出模塊四部分組成,其結(jié)構(gòu)如下。
?。?) 控制單元與語(yǔ)音識(shí)別:由SPCE061A 單片機(jī)完成。
?。?) MIC 輸入模塊:SPCE061A 的A/D 轉(zhuǎn)換器有8個(gè)通道,其中有一個(gè)通道是MIC_IN 輸入,專(zhuān)門(mén)對(duì)語(yǔ)音信號(hào)進(jìn)行采樣。選用駐極體話筒,其偏壓由SPCE061A 的VMIC 腳提供。該模塊電路比較簡(jiǎn)單,只需外接三個(gè)電阻和電容對(duì)電流信號(hào)進(jìn)行濾波就可以了。
?。?) 功放和喇叭輸出模塊:SPCE061A 提供雙通道10 位的D/A 輸出AUD1、AUD2,每個(gè)通道的輸出能力是30mA。為了能驅(qū)動(dòng)揚(yáng)聲器放音,我們將輸出電路設(shè)計(jì)為由負(fù)載電阻和三極管8050 組成的功放電路。
(4) 存儲(chǔ)模塊:由于芯片內(nèi)置的存儲(chǔ)空間有限,為了運(yùn)行復(fù)雜的識(shí)別程序,必須通過(guò)擴(kuò)展必要的存儲(chǔ)芯片來(lái)完成系統(tǒng)的功能。在本系統(tǒng)中我們采用SPBA01B 和W29C040 來(lái)對(duì)SPCE061A 進(jìn)行Memory 擴(kuò)展。
5.2 語(yǔ)音提示單元
本系統(tǒng)主要由語(yǔ)音識(shí)別電路和語(yǔ)音提示電路來(lái)完成人機(jī)交互,其中語(yǔ)音提示電路的電路原理圖如圖4 所示。
圖4 語(yǔ)音提示電路
數(shù)碼語(yǔ)音芯片選用的是單片語(yǔ)音錄放集成電路ISD25120,它具有抗斷電、音質(zhì)好、使用方便、無(wú)需專(zhuān)用的開(kāi)發(fā)系統(tǒng)等優(yōu)點(diǎn)。錄音時(shí)間為120s,能重復(fù)錄放達(dá)10 萬(wàn)次。芯片采用多電平直接模擬量存儲(chǔ)專(zhuān)利技術(shù),省去了A/D、D/A 轉(zhuǎn)換器。每個(gè)采樣值直接存儲(chǔ)在片內(nèi)單個(gè)存儲(chǔ)單元中, 因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音、音樂(lè)、音調(diào)和效果聲。
SPCE061A的IOA11~IOA15 與ISD25120 的地址線相連,用以設(shè)置語(yǔ)音段的起始地址。IOB11 和IOB13 用以控制錄放音狀態(tài)。IOB12 連接一按鍵,供錄放音測(cè)試時(shí)使用。ANA IN 與ANA OUT 是模擬信號(hào)的輸入端和輸出端,它們之間連接耦合電容,通常取值為0.22~1uF。
語(yǔ)音信號(hào)由SP+ 和SP- 端經(jīng)耦合器耦合到電話線或由揚(yáng)聲器直接播放。錄音時(shí),單片機(jī)通過(guò)口線設(shè)置語(yǔ)音段的起始地址,再使端PD 端和P/ R 端和CE 為低電平啟動(dòng)錄音。結(jié)束時(shí),單片機(jī)又讓CE 端回到高電平,即完成一段語(yǔ)音的錄制。放音時(shí),根據(jù)需要播放的語(yǔ)音內(nèi)容,找到相應(yīng)的語(yǔ)音段起始地址,并通過(guò)口線送出。再將P/ R端設(shè)為高電平, PD 端設(shè)為低電平,并讓CE 端產(chǎn)生一負(fù)脈沖啟動(dòng)放音,這時(shí)單片機(jī)只需等待ISD25120 的信息結(jié)束信號(hào),即低電平EOM 的產(chǎn)生。結(jié)束信號(hào)為一負(fù)脈沖,在負(fù)脈沖的上升沿, 標(biāo)志著該段語(yǔ)音播放結(jié)束。
6 軟件設(shè)計(jì)
6.1 系統(tǒng)軟件結(jié)構(gòu)
軟件的設(shè)計(jì)不僅要考慮到各個(gè)模塊實(shí)現(xiàn)的功能,而且要對(duì)整個(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é)對(duì)整個(gè)控制器的工作進(jìn)行管理、協(xié)調(diào)和對(duì)子程序的調(diào)用以及對(duì)用戶的各種服務(wù)的響應(yīng)。
四個(gè)子程序分別是語(yǔ)音識(shí)別、DTMF 收發(fā)、語(yǔ)音錄放、信號(hào)音檢測(cè)四個(gè)子程序。限于篇幅,下面只對(duì)語(yǔ)音識(shí)別子程序的軟件設(shè)計(jì)進(jìn)行介紹。
6.2 語(yǔ)音識(shí)別子程序設(shè)計(jì)
語(yǔ)音識(shí)別程序設(shè)計(jì)包括三部分: 訓(xùn)練樣本; 識(shí)別; 語(yǔ)音提示。
訓(xùn)練過(guò)程即提取語(yǔ)音樣本的特征參數(shù)過(guò)程主要調(diào)用庫(kù)函數(shù)BSR_Train 完成。為了防止誤命令,每條語(yǔ)音命令訓(xùn)練2 遍,只有2 次命令相同時(shí)才成功,BSR_Train函數(shù)有8 種可能的返回值, 如: 0 - 訓(xùn)練成功; - 1 - 沒(méi)有語(yǔ)音識(shí)別技術(shù)方面有bsrv222SDL.lib 庫(kù)函數(shù)支持,在使用時(shí)通過(guò)調(diào)用庫(kù)函數(shù)里相關(guān)的API 函數(shù)來(lái)實(shí)現(xiàn)所要求的功能。下面給出語(yǔ)音識(shí)別的流程圖及具體代碼。
圖7 語(yǔ)音識(shí)別流程圖
其中,BSR-GetResult 函數(shù)為啟動(dòng)辯識(shí),當(dāng)無(wú)命令識(shí)別出來(lái)時(shí),返回0;識(shí)別器停止、未初始化或識(shí)別未激活返回-1 ;當(dāng)識(shí)別不合格時(shí)返回-2 ;當(dāng)識(shí)別出來(lái)時(shí)返回命令的序號(hào)。部分程序源代碼如下:
7 結(jié)語(yǔ)
本系統(tǒng)主要有以下性能特點(diǎn):實(shí)現(xiàn)了語(yǔ)音控制家用電器的啟動(dòng)和關(guān)閉;實(shí)現(xiàn)雙向的功能:能夠遠(yuǎn)距離控制家用電器,又能快速及時(shí)地傳送報(bào)警信息;設(shè)計(jì)簡(jiǎn)單,系統(tǒng)組織靈活,控制范圍可大可小,利用已有電力線和電話布置設(shè)施成本低,且不受供電范圍和距離的限制;使用單片機(jī)實(shí)現(xiàn)語(yǔ)音識(shí)別控制功能,提高了系統(tǒng)的性價(jià)比。隨著經(jīng)濟(jì)的發(fā)展,人們對(duì)物質(zhì)文化需求的日益增長(zhǎng),智能家居系統(tǒng)必將受到人們的青睞,相信這種功能強(qiáng)大的單片機(jī)系統(tǒng)會(huì)有廣闊的應(yīng)用和發(fā)展前景。
評(píng)論
查看更多