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