傅子霞



【摘 要】個性化智能家居語音控制系統是在智能家居的普及和物聯網的飛速發展下集微機控制技術、信息技術、語音識別技術、無線通訊技術于一體的智能產品。該系統針對傳統電器控制單一,安裝不方便,不能將家庭所有電器集中控制等不足而開發設計,根據客戶的要求來進行個性化定制,通過語音控制,實現人機對話,操作簡單、方便且成本低廉。同時從節能環保的角度開發,實現對家用電器的定時控制,從而更加有效的節約能源。
【關鍵詞】個性化;智能;語音
1 系統開發基本思路
首先,通過市場調研,了解了普通家庭對智能家居控制系統中需求量最多的功能要求;然后,針對市場需求和用戶要求,確定了設計方案;第三,對硬件系統的設計與制作;第四,程序應用開發;最后進行產品的安裝與調試。
2 系統設計要點
通過市場調研,確定個性化智能家居語音控制系統設計要點:具有語音識別無線控制電器工作;具有遙控操作控制電器工作;一個主機可以配多個從機;具有人機對話功能,對話內容可自定義修改;可以根據客戶要求,進行個性化定制;產品結構設計要便于安裝,直接與原有家電連接控制。
3 硬件系統設計
3.1 主機硬件系統構造圖
本系統主機主要由C51單片機最小系統、LD3320語音識別電路[1]、315MHz RF無線電路、電源電路等構成(圖1)。
其核心芯片主要包括:
3.1.1 單片機
單片機采用的是STC89LE53RC[2],這款芯片由臺灣宏晶公司設計生產,芯片工作電壓2.0V至3.6V,程序空間具有13K,內存具有512字節,包含有39個IO接口;芯片內部資源有三個定時器、一個串行口、帶看門狗和內置復位。
3.1.2 LD3320
LD3320芯片是一款“語音識別”專用芯片,由ICRoute公司設計生產。該芯片集成了語音識別處理器和一些外部電路,包括AD、DA轉換器、麥克風接口、聲音輸出接口等。本芯片在設計上注重節能與高效,不需要外接任何的輔助芯片。如,Flash、RAM等,直接集成在現有的產品中即可以實現語音識別/聲控/人機對話功能。并且,識別的關鍵詞語主列表是可以任意動態編輯。
3.2 從機硬件系統構造圖
本系統從機主要包含兩個部分,智能插座和智能電燈。兩個從機的電路、原理、核心芯片均一致,在程序應用開發上稍有一點區別。智能電燈在上電后便會工作,這個狀態在硬件上增加了設置接口(圖2)。
其核心芯片主要包括:
3.2.1 單片機
單片機采用的是STC15F102W,這款芯片由臺灣宏晶公司設計生產,芯片工作電壓3.8至5.5V,程序空間2K,內存具有128字節, EEPROM具有3K,包含有6個IO接口;芯片內部資源有兩個定時器、帶看門狗和內置復位等。
3.2.2 RF解碼模塊
采用315MHz的無線電波直接采用現成的解碼模塊[3],可以節省硬件的調試時間。這種解碼模塊有兩種,一種為普通的模擬電路接收315MHz載波信號,解碼出數字開關電平信號;還有一種是由數字電路接收。普通型的接收距離、工作電壓及穩定性良好,成本稍低,而數字型的接收距離、工作電壓及穩定性相對普通型的更優越,當然成本略高。在本套系統設計中為節省成本使用了普通型。
3.2.3 RF遙控器
市面上RF遙控器有很多種,大致均以頻率作為區分,本系統采用的是315MHz載波,因此遙控器也必須使用315MHz頻率的。通常遙控器內部使用的芯片有EV1527、PT2262、SC2260以及單片機型,前面的三種都是硬件型發射芯片,而單片機型具有對拷功能,可以將其他遙控器的按鍵功能復制到本遙控器中。為節省成本和適應本套智能控制系統,本系統采用的是四鍵型遙控器[4]。
4 系統程序開發
4.1 主機程序開發
4.1.1 語音識別部分
(1)寄存器操作
LD3320芯片的各種操作,都必須通過寄存器的操作來完成。比如設置標志位、讀取狀態、向FIFO寫入數據等。寄存器讀寫操作有4種方式,即并行方式(軟、硬)和串行SPI方式(軟、硬),本系統采用并行模式。
(2)芯片復位
即對芯片的第47腿(RSTB*)發送低電平,然后對片選CS做一次拉低→拉高的操作,以激活內部DSP。芯片初始化一般在程序的開始進行,如果有時芯片的反應不太正常,也可用這個方法恢復芯片的初始狀態。
(3)語音識別
語音識別的操作順序是:語音識別用初始化(包括通用初始化)→寫入識別列表→開始識別,并準備好中斷響應函數,打開中斷允許位。這里需要說明一下,如果不用中斷方式,也可以通過查詢方式工作。在“開始識別”后,讀取寄存器B2H的值,如果為21H就表示有識別結果產生。在此之后讀取候選項等操作與中斷方式相同[5]。
(4)響應中斷
如果麥克風采集到聲音,不管是否識別出正常結果,都會產生一個中斷信號。而中斷程序要根據寄存器的值分析結果。讀取BA寄存器的值,可以知道有幾個候選答案,而C5寄存器里的答案是得分最高、最可能正確的答案。例如發音為“上海”并被成功識別(無其他候選),那么BA寄存器里的數值是1,而C5寄存器里的值是對應的編碼3。
4.1.2 RF無線部分
RF無線的程序開發采用簡單的單總線時序發射編碼,運用紅外遙控器編碼方式,協議使用EV1527芯片的編碼協議。
編碼的每一位含兩個脈沖周期,單個脈沖周期是軟件無線接收時的處理單位。脈沖周期有兩種,低電平較寬的稱為0;低電平較窄的稱為1。編碼的每一位用00/11/01來表示。12位編碼對應24個脈沖周期,即通常所說的24位。
軟件接收無線碼時,按脈沖為單位接收,一共24個脈沖,需要接收24位。24位中可根據需要進行地址/數據分配。可預燒錄20位地址碼,共220=1048576,104萬種地址組合。
圖3是EV1527芯片發射編碼時的時序圖和及數據位的時序。
4.2 從機程序開發
4.2.1 無線解碼
在主機中采用了無線編碼的時序,因此解碼程序中必須和編碼時序一致。在中斷函數中先判斷同步碼頭,判斷同步碼頭的低電平時間是否符合128a,若符合由使用一個變量將a值記錄保存,以便后面接收的判斷。若符合128a這個范圍,程序再進入到接收24位數據的循環當中。在24位數據接收中判斷數據位“0”,低電平時間是否是高電平時間的3倍,即3a,若滿足說明此位數據接收是0。接收判斷數據位“1”,高電平時間是否是低時間的3倍,即3a,若滿足說明此位數據接收是1。
4.2.2 學碼功能
學碼功能采用按鍵操作,對按鍵進行程序級度設置為5層。第一層,短按功能控制電器的開和關。第二層,按下按鍵2秒后松開,學習指示燈第一次閃爍,進入電器開關的學碼數據。第三層,按下按鍵3秒后松開,學習指示燈第二次閃爍,進入插座或電燈的總開功能學碼數據。第四層,按下按鍵4秒后松開,學習指示燈第三次閃爍,進入插座或電燈的總關功能學碼數據。第五層,按下按鍵5秒后松開,學習指示燈第四次閃爍,表示前面學習的學碼數據全部擦除。每一層中的學習碼值均可以學習兩組,即遙控器一組,語音識別一組。當重復學習第三組,第一組學碼數據將會被第三組覆蓋。
判斷當前是學碼功能還是開關功能主要靠按鍵層數的操作。在進入到學碼層中沒有學習成功,系統會在10秒內自動退出,或短按按鍵也可退出。
4.2.3 掉電忘憶學碼數據
前面已采用STC15F102W,這款芯片內部自帶有2K的EEPROM存儲空間。把學習到的數據值保存在單片機,下次開機時便能從單片機直接取出并對比。而STC單片機的EEPROM并不是真正的EEPROM,而是像硬盤一樣叫扇區。這些扇區的操作比EEPROM麻煩,每一個扇區不存在字節擦除,只有整個扇區的擦除,當想把某一段數據變更時必須先將原存儲在這一扇區中的數據取出保存在內存,然后再將這一扇區擦除后才能再將原數據和新數據一起寫入到這一扇區中。
5 結論
個性化智能家居語音控制系統通過語音識別、人機對話來控制,讓操作更方便,更快捷,受廣大客戶歡迎喜愛。產品制造成本低,生產周期短,可以根據客戶的要求來進行個性化定制,家庭富裕與否不會阻止人們對智能產品的需求渴望,這款產品能夠低成本的實現對人們生活質量的智能提升。
【參考文獻】
[1]洪家平.LD3320的嵌入式語音識別系統的應用[J].單片機與嵌入式系統應用,2012,12:47-49.
[2]胡錦,蔡谷明,梁先宇.單片機技術實用教程[M].北京:高等教育出版社,2003.
[3]嚴紫建,劉元安.現代移動通信應用技術叢書 藍牙技術[M].北京郵電大學出版社,2001.12.
[4]江太輝,石秀芳.單片機原理與應用[M].廣州.華南理工大學出版社,2002.
[5]朱剛.藍牙技術原理與協議[M].北方大學出版社,2002.
[責任編輯:王楠]