《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的智能家居系統(tǒng)設計
基于單片機的智能家居系統(tǒng)設計
摘要: 本文結合語音識別技術,,利用SPCE061A豐富的語音處理功能,在已有的電力線和電話線的基礎上,,設計了一套智能家居系統(tǒng),,該系統(tǒng)結構簡單、功能完善并且具有較高的性價比,。
Abstract:
Key words :

  1 引言

  隨著科技的發(fā)展和人們生活水平的提高,,人們對居住環(huán)境方便快捷的要求越來越高,智能家居系統(tǒng)應運而生,。智能家居是現(xiàn)代電子技術、通訊技術及自動化技術相結合的產物,。它能夠實現(xiàn)對家電設備的自動控制和管理,、對家庭的安全進行監(jiān)測報警,能夠為用戶提供安全舒適,、高效便利的生活環(huán)境,。本文結合語音識別技術,利用SPCE061A 豐富的語音處理功能,,在已有的電力線和電話線的基礎上,, 設計了一套智能家居系統(tǒng), 該系統(tǒng)結構簡單,、功能完善并且具有較高的性價比,。

  2 系統(tǒng)架構

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

系統(tǒng)的總體結構

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

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

  如果采用口令來控制,,則口令經電話線,,以及電話接口的語音通道進入,SPCE061A 單片機則將采集到的話音與預先存儲的模板進行比較,,進行語音識別并判斷出用戶的指令,,然后發(fā)送相應的控制信號??刂菩盘柋凰腿腚娏€調制解調器調制后,,通過電力線接口電路耦合到電力線上進行傳輸,控制信息也就以廣播形式發(fā)送出去,。

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

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

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

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

  3 SPCE061A 芯片特性簡介

  SPCE061A 是一款基于μ 'nSP 內核的16 位單片機,其芯片特性如下:

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

  SPCE061A 的內部結構框圖如圖2 所示,。

SPCE061A 的內部結構框圖

  4 語音識別技術簡介

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

 基本原理

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

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

 

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

  5 主要硬件模塊設計

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

  5.1 主控制器

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

 ?。?) 控制單元與語音識別:由SPCE061A 單片機完成。

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

  (3) 功放和喇叭輸出模塊:SPCE061A 提供雙通道10 位的D/A 輸出AUD1,、AUD2,每個通道的輸出能力是30mA,。為了能驅動揚聲器放音,我們將輸出電路設計為由負載電阻和三極管8050 組成的功放電路,。

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

  5.2 語音提示單元

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

語音提示電路

圖4 語音提示電路

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

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

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

  6 軟件設計

  6.1 系統(tǒng)軟件結構

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

總體結構

  主程序主要負責對整個控制器的工作進行管理、協(xié)調和對子程序的調用以及對用戶的各種服務的響應,。

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

  6.2 語音識別子程序設計

  語音識別程序設計包括三部分: 訓練樣本,; 識別; 語音提示,。

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

語音識別流程圖

圖7 語音識別流程圖

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

部分程序源代碼

部分程序源代碼

  7 結語

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

此內容為AET網(wǎng)站原創(chuàng),,未經授權禁止轉載。