陳威沖 張家田 吳銀川 嚴正國



摘 要:文中介紹了一種以STM32單片機為控制核心,集成語音識別模塊和紅外收發(fā)模塊的一種語音控制電視系統(tǒng)。該系統(tǒng)可以使用語音指令實現(xiàn)對電視機的遙控,達到替代傳統(tǒng)遙控器的效果,具有控制靈活、性能穩(wěn)定、擴展性強等優(yōu)點。隨著智能家居的普及和發(fā)展,該設(shè)計具有廣闊的市場應(yīng)用空間。
關(guān)鍵詞:智能控制;語音識別;無線通信;紅外收發(fā);STM32;物聯(lián)網(wǎng)
中圖分類號:TP274文獻標識碼:A文章編號:2095-1302(2019)04-0-04
0 引 言
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,各種智能化家居產(chǎn)品順應(yīng)市場需求大量出現(xiàn)[1]。目前用戶對于智能家居互動的靈活性要求也越來越高,例如在電視操作過程中由于遙控器按鍵繁多復(fù)雜,其設(shè)計的人機交互方式已經(jīng)落伍。最近幾年,通過“單片機”對紅外線遙控信號進行存儲、轉(zhuǎn)發(fā)的技術(shù)已經(jīng)取得長足發(fā)展,進而利用嵌入式系統(tǒng)不斷增強的技術(shù)優(yōu)勢產(chǎn)生更為智能的應(yīng)用也變得簡單可行[2];另一方面,隨著語音識別技術(shù)的普及,當(dāng)前語音識別功能的實現(xiàn)也越來越廉價易行。本設(shè)計采用非特定語音識別技術(shù),將其利用到電視機的遙控功能當(dāng)中,當(dāng)需要實現(xiàn)復(fù)雜且重復(fù)性功能時,可以利用當(dāng)前設(shè)計的可編程性及語音識別的靈活性代替遙控器,讓電視機的人機交互走向更高的臺階。
1 系統(tǒng)需求分析及總體設(shè)計
1.1 系統(tǒng)需求分析
參考現(xiàn)有的智能家居設(shè)計[3],本系統(tǒng)主要實現(xiàn)以下功能:
(1)語音控制電視機的開關(guān);
(2)通過語音指令打開電視機某頻道;
(3)通過語音指令調(diào)整頻道和音量。
1.2 系統(tǒng)總體設(shè)計
語音控制電視系統(tǒng)主要由STM32F103C8T6主控制器、LD3320語音識別模塊和紅外信號發(fā)射接收模塊組成[4]。系統(tǒng)框圖如圖1所示。
用麥克風(fēng)采集聲音信號,經(jīng)過濾波、放大處理后送入LD3320非特定語音識別模塊進行語音識別處理,將處理結(jié)果保存在寄存器中,通過SPI與主控芯片STM32F103C8T6通信。經(jīng)主控芯片處理后控制紅外模塊發(fā)射對應(yīng)的信號,電視機頂盒接收到信號后則能實現(xiàn)對應(yīng)的功能,達到語音控制電視的效果。
2 硬件設(shè)計
硬件設(shè)計主要包括主控芯片STM32F103C8T6,語音識別模塊LD3320和紅外發(fā)射接收模塊三部分。利用紅外發(fā)射接收模塊對電視機頂盒遙控器鍵值進行解碼,將其記錄、處理后保存在MCU中,輸入特定的語音指令時,MCU通過紅外模塊發(fā)送相應(yīng)的紅外指令,代替遙控器。
2.1 STM32F103C8T6最小系統(tǒng)
將STM32F103C8T6微控制器作為核心的最小系統(tǒng)板,其內(nèi)核為ARM的CortexTM-M3,它為實現(xiàn)MCU的需求提供了低成本的平臺、縮減的引腳數(shù)目、較低的系統(tǒng)功耗,同時提供了卓越的計算性能和先進的中斷系統(tǒng)響應(yīng)[5],性價比高。
2.2 LD3320芯片
LD3320 芯片是一款“語音識別”專用芯片,由ICRoute公司設(shè)計生產(chǎn)。該芯片集成了語音識別處理器和一些外部電路,包括A/D,D/A轉(zhuǎn)換器、麥克風(fēng)接口、聲音輸出接口等。本芯片在設(shè)計上注重節(jié)能與高效,不需要外接任何輔助芯片如FLASH,RAM等,直接集成在現(xiàn)有產(chǎn)品中即可實現(xiàn)語音識別/聲控/人機對話等功能。并且識別的關(guān)鍵詞語列表可以被動態(tài)編輯。每次識別最多可以設(shè)置50項候選識別句,每個識別句可以是單字,詞組或短句,長度為不超過10個漢字或者79 B的拼音串[6]。
另一方面,識別句內(nèi)容可以動態(tài)編輯修改,因此可通過一個系統(tǒng)支持多種場景模塊對外引出7個引腳,包括3個SPI引腳MISO,MOSI,SCK,復(fù)位引腳RST,片選引腳CS,中斷產(chǎn)生引腳IRQ和設(shè)置引腳SPIS。其中,STM32最小系統(tǒng)板可通過SPI引腳、SPIS引腳和CS引腳對LD3320芯片進行設(shè)置,當(dāng)模塊接收到語音信號時會產(chǎn)生中斷信號,將IRQ引腳置高電平,STM32微處理器在中斷服務(wù)函數(shù)中執(zhí)行語音識別程序,最終實現(xiàn)語音控制功能。LD3320語音識別模塊電路如圖2所示。
2.3 紅外發(fā)射接收模塊
紅外遙控是一種無線、非接觸控制技術(shù),具有抗干擾能力強、信息傳輸可靠性高、功耗低、成本低、易實現(xiàn)等優(yōu)點[7]。
NEC紅外編碼解碼模塊由紅外發(fā)射頭、紅外接收頭和串口通信接口組成。紅外發(fā)射頭用于發(fā)射紅外信號,其波長為940 nm 38K NEC;紅外接收頭用于接收 NEC紅外信號,單片機進行分析解碼操作;串口通信接口為單片機串口(TTL),作為與外界單片機通信的橋梁,其默認設(shè)置的波特率為9 600 bps。
編碼信號的發(fā)射使用NEC紅外編碼解碼模塊可以通過串口與MCU通信對普通紅外信號進行發(fā)送接收以及解碼操作,在本設(shè)計中使用該模塊對遙控器指令進行解碼并按照程序發(fā)送,達到使用MCU進行紅外遙控的目的。紅外模塊電路如圖3所示。
3 STM32與電視機頂盒通信
電視機頂盒與遙控器通過紅外信號通信,因此在本設(shè)計中只有STM32將紅外信號通過紅外模塊發(fā)送,才能達到代替遙控器的目的。STM32主控模塊通過全雙工異步串行通信方式與紅外模塊通信,數(shù)據(jù)格式為1個起始位、8個數(shù)據(jù)位、1個奇偶校驗位和1個停止位,波特率為9 600 bps。使用紅外模塊對遙控器按鍵鍵值進行解碼后再使用STM32在程序內(nèi)將其進行處理發(fā)送即可代替遙控器的功能。
3.1 紅外信號協(xié)議
(1)發(fā)射指令說明
本設(shè)計中地址位默認地址A1。操作位表示當(dāng)前工作狀態(tài),在此設(shè)計中只使用了紅外模塊發(fā)射狀態(tài),不改變其通信地址狀態(tài)和波特率,因此操作位為F1。數(shù)據(jù)位1,2,3則為接收到的紅外編碼信息[8]。紅外信號協(xié)議見表1所列。
3.2 紅外信號解碼內(nèi)容
4 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件設(shè)計主要介紹語音識別程序設(shè)計及紅外指令發(fā)送程序設(shè)計。語音識別程序主要參考LD3320芯片手冊對其進行配置,紅外指令發(fā)送程序則將加碼后的紅外信號進行處理,形成NEC制式的紅外指令,并發(fā)送。
4.1 主程序設(shè)計
系統(tǒng)主程序上電后進行通用初始化,開啟中斷,使其能接收來自LD3320芯片的中斷信號,在其中進行語音識別操作。當(dāng)按鍵按下時執(zhí)行LD3320子程序。主程序流程如圖4所示。
4.2 語音識別程序設(shè)計及語音指令
在進行LD3320子程序時,對LD3320芯片進行相關(guān)初始化,并初始化MCU的SPI通信,相關(guān)I/O口及開啟中斷。LD3320芯片啟動一次ASR識別流程:ASR初始化,ASR添加關(guān)鍵詞語,啟動ASR運算,等待語音輸入。當(dāng)有語音輸入時,芯片將IRQ引腳置高,微控制器進入中斷服務(wù)函數(shù),進行語音識別處理。識別成功后,串口發(fā)送相關(guān)指令;若未成功,則等待下一次語音輸入。LD3320語音識別流程如圖5所示。
在中斷服務(wù)子程序中,程序首先通過讀取LD3320寄存器2B,B2,BF值判斷當(dāng)前LD3320 ASR是否空閑,若空閑,則進行下一步,若忙,則本次語音識別失敗,返回LD3320程序。此功能可防止當(dāng)前語音識別被噪音或其他語音指令打斷。當(dāng)ASR空閑時,通過讀取寄存器BA的值并判斷其是否有效,即是否大于0且小于等于4,若是,則將此值返回主程序,進行相關(guān)操作;否則視為語音識別失敗,等待下一次語音輸入。圖6所示為中斷服務(wù)子程序流程圖。
4.3 紅外指令發(fā)送程序設(shè)計
利用紅外發(fā)射接收模塊將紅外信號進行解碼得到表2所列結(jié)果,若想讓本設(shè)計實現(xiàn)與遙控器同樣的功能,則需為解碼后的值加上地址和操作碼,構(gòu)成5個16進制的一串一維數(shù)組,串口按照下面的程序輸出,就可以使電視機頂盒接收到與遙控器相同的紅外信號:
5 結(jié) 語
本文以STM32為控制核心,設(shè)計并制作出一套針對電視機遙控的智能語音控制系統(tǒng),其具有控制靈活、性能穩(wěn)定等優(yōu)點,因為是基于微控制器的開發(fā),其具有擴展性強的潛力。隨著科技的發(fā)展,類似技術(shù)已經(jīng)成熟,因此系統(tǒng)易于制造,造價低廉,滿足智能家居和物聯(lián)網(wǎng)的發(fā)展需求。隨著智能家居系統(tǒng)的快速發(fā)展,語音控制電視系統(tǒng)的實現(xiàn)將越來越容易,推廣前景廣闊,應(yīng)用價值良好。
參 考 文 獻
[1]吳文忠, 李萬磊.基于ARM和ZigBee的智能家居系統(tǒng)[J].計算機工程與設(shè)計,2011,32(6):1987-1990.
[2]于華利.機頂盒遙控電視機技術(shù)指引[J].電視技術(shù),2010,34(3):111-112.
[3]申斌,張桂青,汪明,等. 基于物聯(lián)網(wǎng)的智能家居設(shè)計與實現(xiàn)[J].自動化與儀表,2013,28(2):6-10.
[4]王俐偉,廉小親,安颯,等.智能空調(diào)語音控制系統(tǒng)的設(shè)計與實現(xiàn)[J].家電科技,2018 (7):46-50.
[5] STM32F103x8/B增強型系列中容量產(chǎn)品數(shù)據(jù)手冊[EB/OL]. [2012-04-07].http://www.stmicroeletronics.com.Cn/stonline/mcu/MCU-Pages.htm.
[6]洪家平.LD3320的嵌入式語音識別系統(tǒng)的應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012,12(2):47-49.
[7]李從宏.基于功能碼的紅外遙控軟件解碼技術(shù)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010(9):72-73.
[8] 歐陽.基于Android平臺的智能家居紅外控制系統(tǒng)的研究[D].成都:電子科技大學(xué),2012.
[9]許子明,李笑茹.電氣自動化控制的人工智能技術(shù)[J].科技風(fēng),2018(7):6.
[10]陳洪峰.國內(nèi)電氣自動化發(fā)展?fàn)顩r與趨勢[J].科技創(chuàng)新導(dǎo)報,2006(1):12.