999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種用于智能家居的語音控制方法

2021-07-13 03:40:16彭井花胡永森
曲靖師范學院學報 2021年3期
關鍵詞:單片機程序

彭井花,胡永森

(1.陽光學院 人工智能學院,福建 福州 350015;2.福大北斗通信科技有限公司,福建 福州 350001)

隨著科技的發展,語音識別技術因具有簡便、快捷、靈活的優點,其在智能家居、智能汽車、虛擬/增強現實等領域日益被廣泛應用[1-2].目前語音識別技術在智能家居領域的研究處于起步階段,其應用大部分基于手機APP控制[3],但這些基于手機APP控制的智能家居系統的安裝和使用較為復雜,運營維護成本比較高,不利于推廣、普及化[4-5],尤其不便于老年人掌握和使用[6-7].另外,因系統能夠遠程控制,因此系統的安全可靠性會受到影響[8-9],并且一旦網絡出現問題,系統將無法工作[10].針對智能家居系統的上述問題,本文利用語音識別、語音合成、紅外編碼自學習、無線通信、雙層保護機制、雙重模式切換、電池充放電等技術,提出了一種用于智能家居的語音控制方法,并經測試表明該方法可實現通過語音控制家居設備.

1 方案設計

本方法將系統主要分為手持端、紅外控制端和電閘端,通過433MHz的無線串口模塊進行通信.手持端、紅外控制端和電閘端的電路框圖分別如圖1、圖2、圖3所示.

圖1 手持端電路框圖

圖2 紅外控制端電路框圖

圖3 電閘端電路框圖

手持端主要具有語音識別功能和語音合成功能,語音識別功能采用ICRoute公司的LD3320方案實現,而語音合成功能則采用宇音天下公司的SYN6288芯片來實現,并且使用STC11L08XE單片機作為主控芯片,方便與同為3.3V工作電壓的LD3320進行通信.由于手持端具有可移動性,所以需在電路中加入相應的充電電路以及電壓轉換電路.本方法以聚合物鋰電池作為手持端的電源,通過TP4056芯片對電池進行充電.由于無線串口模塊在5V供電時能達到較大的發射功率,所以電路中還加入了SX1308芯片進行電壓轉換.

紅外控制端的主要功能是學習并發射紅外編碼.因為家用電器種類較多,其控制方式也具有多樣性,如有的只要完成物理上的接通與斷開即可,而有的則需要借助紅外線,且所使用的紅外編碼也不同,所以紅外控制端的主要任務是學習并發射紅外編碼.由于紅外編碼的存儲需要用到較大的EEPROM空間,所以選用STC12C5A16S2單片機作為主控芯片,其利用ISP/IAP(在系統編程/在應用編程)技術可將芯片內的Data Flash當做EEPROM使用,其內部的EEPROM達到了45KB,可以滿足本方法的要求.紅外控制端使用HX1838一體化紅外接收頭接收紅外編碼,供單片機學習,通過紅外發光二極管將自學習到的紅外編碼發射出去.

電閘端的主要功能是對電器的開關狀態進行控制,其主控芯片與紅外控制端相同,使用繼電器對電路的通斷進行控制,繼電器與單片機之間使用光電耦合器進行電磁隔離,具有較強的穩定性;使用AC-DC模塊將220V交流電轉化為5V直流電供電閘端使用.

2 硬件設計方法

2.1 語音識別電路

語音識別技術按照不同說話人來區分可分為特定人語音識別和非特定人語音識別.本方法采取的是基于非特定人語音識別的關鍵詞識別技術,即不需要在使用前進行相關的錄音訓練,系統會對所有人員發出的語音進行識別,更加方便用戶使用.

本方法使用的是ICRoute公司的LD3320方案,該芯片集成了麥克風接口、A/D轉換器、D/A轉換器、語音識別處理器和聲音輸出接口等電路,不需要在電路上擴展Flash芯片或RAM芯片就能實現語音識別功能.用戶只需把產品的語音指令以字符串的形式寫到芯片內部的特定寄存器中,即可在下一輪識別循環中生效[5].該芯片每次識別的語音指令數量最多支持50條,每條語音指令可以是一個字,一個詞語或者較短的句子,不過指令的長度最多只能達到10個漢字或79個字節的拼音串.另外,可以根據不同應用場景的需求更改LD3320的識別指令,因此本方法可以移植到不同應用環境下進行使用.

語音識別芯片LD3320的電路原理圖如圖4所示.其中,并行接口P0—P7經上拉電阻與MCU相連用于傳輸數據;為芯片控制引腳;MIC-P與MIC-N為麥克風輸入引腳,其經濾波、偏置電路后與麥克風相連;EQ1~EQ3為揚聲器音量控制引腳,音量放大倍數約為電阻R21與R20的比值;VREF為聲音信號參考電壓引腳;芯片有VDD(數字電路用電源)、VDDIO(數字I/O電路用電源)、VDDA(模擬電路用電源)3組輸入電源,一般情況下使用3.3V電源即可.

圖4 LD3320電路原理圖

2.2 語音合成電路

為了達到用戶與設備之間的語音交互,即在識別出用戶的語音指令之后,能夠以語音的形式給予用戶相應的反饋,本方法還應具有語音合成功能,語音合成技術采取了宇音天下的SYN6288芯片來實現.SYN6288芯片可通過異步串行口與主控單片機進行通信,接收單片機發來的待合成文本數據,實現文本到聲音的轉換[11].其特點有:

(1) 芯 片 支 持BIG5、GBK、GB2312和UNICODE內碼格式的文本,具有較好的通用性;

(2)通過智能的文本分析處理算法,芯片可以識別待合成文本中的號碼、數值、時間日期;

(3)在合成文本時可使用控制標記提高芯片處理數據的正確率,使語音合成的效果更加自然;

(4)支持16級音量調整和6級語速調整,適用于多種場合.

另外,芯片還固化有多首和弦樂與提示音,使用方便.芯片體積小,有利于節省電路板面積.由于這些特點,SYN6288具有很強的應用能力,主要可應用于排隊叫號機、車載導航系統、公交車報站系統、考勤機、智能儀器儀表與智能家居等設備上.SYN6288語音合成芯片的電路原理圖如圖5所示.由于該芯片有多組外接電源,為了消除來自電源的干擾,保證供電的穩定性,本設計在每組電源上都并聯了電容.

圖5 SYN6288電路原理圖

雖然SYN6288與主控單片機之間的通信使用的是用異步串行口,但其收到的數據必須是反相的,因此在單片機與SYN6288之間加入了三極管反相電路,用于將上位機發送的數據取反.三極管反相電路原理圖如圖6所示.

圖6 三極管反相電路原理圖

2.3 紅外電路

為了控制通過紅外線進行操作的電視、空調等電器,本方法還設計了紅外學習/發射電路,其中紅外學習電路使用了HX1838一體化紅外接收頭,此接收頭中集成了紅外接收、放大、濾波和解調等電路,可直接將基帶信號輸出給單片機.由于接收頭內部增益較大,為了減小干擾,所以在電源引腳上接入濾波電容、串聯電阻,如圖7所示.若HX1838紅外接收頭接收到空間中的38KHz紅外信號時,則在輸出端輸出低電平供單片機讀取.

圖7 HX1838電路原理圖

紅外發射電路主要由三極管和紅外LED組成.單片機產生調制好的38KHz信號,通過三極管將電流放大,從而驅動紅外LED,將信號發射出去.另外,在實際使用中,電器可能會分散在房間中的各個位置,因此本方法使用了多個紅外LED,能同時向各個方向發射紅外信號,方便用戶的使用,其原理圖如圖8所示.

圖8 紅外發射電路原理圖

2.4 無線通信模塊

本方法使用了成都億佰特電子科技有限公司的E32-TTL-100模塊做為系統的無線通信方案.E32-TTL-100是一款功率為100mW的無線串口模塊,工作頻段為410MHz到441MHz,可實現數據的透明傳輸.無線通信模塊的電路原理圖如圖9所示,若單片機的TXD輸出低電平則三極管導通,此時無線串口模塊的RXD接口讀取到低電平信號.反之,三極管截止,無線串口模塊的RXD被電阻拉至高電平;當無線串口模塊的TXD輸出為高電平時,單片機的RXD被內部上拉電阻拉至高電平,否則單片機RXD接口的電壓被鉗位在0.7V(與二極管類型有關),為低電平.

圖9 無線通信模塊的電路原理圖

2.5 繼電器電路

本方法使用繼電器控制如電燈這類僅通過電源的開啟或斷開就能達到控制效果的電器.繼電器能通過線圈的通電情況來控制觸點的斷開或吸合實現“小電流控制大電流”,被廣泛應用于通過電氣控制的各種場合.其電路原理圖如圖10所示,由于單片機I/O口的驅動能力較弱,所以使用了三極管放大電流.因為繼電器中含有線圈,為了避免感應電流對系統造成影響,設置了一個續流二極管用以保護電路,同時加入了光耦隔離電路,使單片機與繼電器之間充分隔離,具有較強的穩定性.

圖10 繼電器電路原理圖

2.6 鋰電池充電電路

由于手持端具有可移動性,需電池供電,因此本方法以聚合物鋰電池作為手持端的電源,使用單節鋰電池充電芯片TP4056,這款充電芯片的熱反饋功能使其可以在充電時自動調節充電電流,所以在大電流充電的情況下,芯片的溫度能得到有效的控制,避免芯片因自身過熱而損壞.鋰電池充電電路原理圖如圖11所示.其中,通過改變電阻Rp的阻值可以設置不同的充電電流,最大充電電流能達到1A,方便設計人員根據不同的應用場景對充電電流進行設置.當TP4056檢測到充電器被移除時,芯片將會自動進入低電流的狀態,電池的漏電流可控制在2uA以下,避免電能浪費,提高設備待機時間.

圖11 鋰電池充電電路原理圖

2.7 電壓轉換電路

本方法包含了3個電壓轉換電路:(1)手持端上將鋰電池電壓轉為5V的SX1308電路;(2)將 5V轉化為 3.3V的AMS1117-3.3電路;(3)電閘端上將220V交流電轉化為5V直流電的HLK-PL01電路.

在手持端,由于無線串口模塊在5V供電下能達到更大的發射功率,所以選用SX1308將鋰電池電壓轉為5V.SX1308是一款具有極小體積的電流模式升壓變換器,其工作頻率高達12MHz,具有過熱保護、電流限制和輸入欠壓鎖定等實用功能.SX1308的電路原理圖如圖12所示.為了確保芯片輸入電壓與輸出電壓的穩定,在芯片的輸入端與輸出端都放置了一個多層陶瓷電容器,其在擁有較大容值的同時還擁有較小的ESR(等效串聯電阻)和ESL(等效串聯電感),所以很適合在電子產品的振蕩、濾波、耦合和旁路電路中應用.通過設置R6和R7的值可以改變電路輸出的電壓,當需要輸出5V電壓時,R6選擇73.2K,R7選擇10K.

圖12 SX1308電路原理圖

由于手持端的STC11L08XE單片機和LD3320語音識別芯片的工作電壓為3.3V,所以本設計方法選用AMS1117-3.3將5V轉化為3.3V.該系列穩壓器內部集成了過熱保護和限流電路,輸出電流可達1A,且工作電壓差可低至1V.其具有外圍電路簡單、體積小和廉價等特點,適合在本方法使用,其電路原理圖如圖13所示.

圖13 AMS1117-3.3電路原理圖

電閘端的電源來自于220V交流電,所以需要經過AC-DC(交流轉直流)的降壓電路將電壓轉至5V,本設計采用了深圳市海凌科電子有限公司的HLK-PL01隔離電源模塊.該模塊具有低波紋、低噪聲、輸出過載保護功能,且具有較小的體積,其額定輸入電壓為100V~240V,輸出電流在600mA以上,其應用電路圖如圖14所示.

圖14 HLK-PL01應用電路圖

綜上所述,手持端PCB圖如圖15a所示,紅外控制端PCB圖如圖15b所示,電閘端PCB圖如圖15c所示.

圖15 系統PCB圖

3 軟件設計方法

對于嵌入式系統來說,應充分考慮程序的運行有可能出現的異常,增強程序的魯棒性能夠提高整個系統的穩定性.

3.1 手持端程序

手持端程序主要包括語音識別、語音合成、防誤觸發和串口通信部分,其流程圖如圖16所示.

圖16 手持端程序流程圖

(1)語音識別部分.程序先對LD3320進行初始化,然后將識別列表寫入芯片.當用戶說話時,LD3320會對輸入的聲音進行頻譜分析,再提取其語音特征,最后將特征與識別列表中的數據進行匹配,若匹配成功則主控制器通過繼電器模塊執行相應動作,否則主控制器視接收到的字符串為無效信息或干擾信息,不執行任何操作.LD3320每次識別結束都會產生一個中斷信號,由于在電路上LD3320的中斷輸出腳與單片機的中斷輸入腳相連,所以單片機要在相應的中斷服務函數中讀取相關寄存器的值,從而獲得識別結果.

(2)語音合成部分.當程序檢測到用戶的語音指令后,會依據識別結果反饋語音信息給用戶.程序進行語音合成時,會先將語音信息中所有漢字的GBK編碼打包成SYN6288芯片指定的幀格式,再通過串口發給SYN6288芯片.芯片收到數據后便會進行合成工作,最終通過揚聲器播放語音.

(3)防誤觸發部分.在實際使用中,手持端所處的環境并非嚴格可控,環境中將會有許多與控制無關的說話聲以及環境噪音.這些聲音有可能被LD3320識別到,從而造成誤觸發.比如用戶在和他人交流時,說的話中包含了“開電視”這個詞,即使用戶的本意并不是希望系統將電視打開,但是這個詞依然有可能被LD3320檢測到,然后將電視打開,形成誤觸發.為了避免這種情況的產生,程序中設置了雙層保護機制:其一是采用了包含兩級口令的語音識別流程,即先完成第一級指令的識別,才能進入對第二級指令檢測.比如將第一級指令設置為“管家”,將第二級指令設置為各種語音命令,如“開電視”等.這樣當用戶需要打開電視時,就需要先說出“管家”,待系統識別成功后再說出“開電視”即可.其二是在手持端設置了模式選擇鍵與PTT(Push to Talk)鍵.模式選擇鍵可將識別模式設置為“自動模式”與“手動模式”,在“自動模式”下,系統使用上述的兩級口令識別流程.在手動模式下,用戶只需按住PTT鍵,然后直接說出二級指令即可.通過這雙層保護機制,可以大大降低誤觸發的情況.

(4)串口通信部分.手持端設備上的無線串口模塊和語音合成芯片都需要使用單片機的串口資源,但STC11L08XE單片機只搭載了一個串口,所以程序上使用了“分時復用”的方法讓兩種外設共用同一個串口.由于語音合成芯片只有在需要反饋語音信息時才會被使用到,其他時間不需要占用串口資源,所以程序默認將串口與無線串口模塊的P1口通信,當需要進行語音合成時再切換到與語音合成芯片的P3口通信,完成數據發送工作后立即切換回默認設置,從而能通過1個串口分別向兩個外設發送數據.

3.2 紅外控制端程序

紅外控制端的程序主要包括OLED顯示、串口通信、紅外發射和紅外編碼自學習等子函數,如圖17a、17b、17c、17d 所示.

圖17 紅外控制端程序流程圖

(1)紅外發射部分.以紅外線作為信道,將基帶二進制信號調制為一系列的脈沖串信號,通過紅外發射管向空間發射出去.本方法所使用的載波是頻率為38KHz,占空比為50%的紅外信號,基帶信號來自于在學習階段存入EEPROM的數據.當進入紅外發射程序時,若要輸出脈沖,定時器會以13us的周期溢出產生中斷,在中斷服務函數中將相應的I/O口取反,通過三極管電路驅動紅外LED,即可產生頻率為38KHz、占空比為50%的紅外信號.若要輸出空閑,則在程序中將定時器的中斷使能位置0,同時將I/O口置1即可.

(2)紅外編碼自學習部分.當程序進入紅外學習狀態時,首先會關閉所有中斷,清零相關變量,等待紅外信號的到來.當檢測到紅外脈沖后,程序會將每段電平的時間長度存入EEPROM中,避免數據因系統掉電而丟失.測量脈沖電平長度的原理是:當某一電平到來時,程序會以15us為周期對計數變量進行累加,直到下一個電平到來,這樣被檢測的電平長度可以計算出來.如果計數變量使用unsigned char型,那么其最大能夠測量3.825ms長度的電平,可是很多協議的引導碼都超過了這個范圍,比如常用的NEC協議的引導碼就由9ms的紅外脈沖與4.5ms的空閑組成,一幀完整的NEC編碼如圖18所示.顯然,unsigned char型變量的計數范圍滿足不了引導碼的電平長度,所以本方法使用了unsigned int型變量與unsigned char型變量同時存放電平的長度,即先用unsigned int型變量對電平進行測量,再根據所得值的大小將數值保存到不同類型的數組中,這樣既保證程序能學習編碼,又減少了用于存儲數據的空間.

圖18 NEC遙控器編碼

(3)OLED顯示部分.設備開機后便會對OLED進行初始化、清屏等工作,然后根據系統運行時的狀態定期刷新顯示內容,使用戶能夠清晰地了解到系統運行情況.

(4)串口通信部分.紅外控制端設備的串口僅用于接收手持端的數據,設備開機后便會對串口進行初始化,然后串口就會一直處于等待數據的狀態,當收到數據后,便對串口字節流進行緩存、校驗等操作,最終將校驗正確的數據發給數據解析函數處理.

3.3 電閘端程序

電閘端程序主要包括串口通信和繼電器控制部分,其流程圖如圖19所示.

圖19 電閘端程序流程圖

(1)串口通信程序.終端之間需要傳輸的數據包括了指令、發送方地址、接收方地址等內容,為了提高每一幀數據的可讀性,本方法使用了字符型數組.字符型數組中的數據以ASCII碼存儲在存儲單元,有利于系統的調試和維護.

(2)繼電器控制程序.繼電器控制程序主要根據串口收到的數據對繼電器進行控制,從而實現對電器的控制.

4 語音識別測試

對本文設計的用于智能家居語音控制的LD3320和SYN6288方案在不同環境不同種類電器的控制中進行了語音識別反饋測試,得出的語音識別反饋準確率見表1.由表1可知,本文設計的LD3320語音識別和SYN6288語音合成反饋方案,其語音識別反饋的準確率較高,尤其是在安靜環境下控制信號比較簡單的電器.

表1 語音識別反饋準確率統計表

5 結 論

本文利用語音識別、語音合成、紅外編碼自學習、無線通信、雙層保護機制、雙重模式切換、電池充放電、電壓轉換等技術設計了一種無需聯網的用于智能家居的語音控制方法.本方法經測試表明,用戶通過語音就能簡便控制智能家居設備,實現了人和機器之間的語音智能交互,用戶既可以通過語音指令來控制電器,也可以通過實體開關對電器進行控制,具有使用成本低、智能化、老人交互簡便、雙重模式切換自如、性能穩定等優點,較好地解決了目前市面上綜合性的智能家居系統存在的一些問題.由于人機交互模塊是針對非特定人語音,故該項研究結果對其它公共場所的語音控制過程也有一定的適用性,具有可移植性,較好地滿足當今語音控制領域的特點,具有廣泛的應用前景.但為了能更好地將語音控制功能應用到不同領域,還需將語音識別控制準備率進一步提高,因此今后還需在硬件芯片選擇和軟件設計方面進一步優化改進.

猜你喜歡
單片機程序
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 亚洲天堂.com| 成年A级毛片| a亚洲视频| 日本午夜三级| 国产精品免费p区| www.亚洲一区二区三区| 精品国产美女福到在线不卡f| 超级碰免费视频91| 国产精品手机在线观看你懂的 | A级全黄试看30分钟小视频| 日韩无码真实干出血视频| 国产成人久久777777| 国产全黄a一级毛片| 亚洲一级毛片在线播放| 呦视频在线一区二区三区| 欧美激情第一欧美在线| 国产乱人伦偷精品视频AAA| 日韩av在线直播| 91娇喘视频| 四虎影视库国产精品一区| 一本无码在线观看| 色综合久久88| 久久久久久尹人网香蕉| 国产亚洲欧美在线人成aaaa| 一级一级一片免费| 精品国产亚洲人成在线| 日韩大片免费观看视频播放| 一级毛片高清| 国产JIZzJIzz视频全部免费| 亚洲精品视频在线观看视频| 久久综合亚洲鲁鲁九月天| 精品久久人人爽人人玩人人妻| 天天综合色天天综合网| 日韩在线成年视频人网站观看| 亚洲综合片| 美女无遮挡拍拍拍免费视频| 国产无码制服丝袜| 日韩无码视频网站| 亚洲全网成人资源在线观看| av在线无码浏览| 亚洲精品在线91| 婷婷在线网站| 久久精品中文字幕免费| 好紧好深好大乳无码中文字幕| 国产91视频免费| 久久香蕉国产线看观| 国产精品美女自慰喷水| 亚洲欧洲AV一区二区三区| 日韩在线第三页| 成人小视频网| 色亚洲激情综合精品无码视频| 欧美日韩中文国产va另类| 国产黄色爱视频| 伊人久综合| 成人精品在线观看| 国产一区二区色淫影院| 亚洲国产亚综合在线区| 国产精品美女网站| 亚洲欧美日韩中文字幕在线一区| 国产小视频在线高清播放| 99热国产这里只有精品无卡顿"| 免费在线色| 国产乱人乱偷精品视频a人人澡| 国产精品lululu在线观看| 99激情网| 亚洲成aⅴ人在线观看| 在线看片国产| 国产69精品久久久久孕妇大杂乱 | 福利视频99| 婷婷五月在线| www.91中文字幕| a在线亚洲男人的天堂试看| 99re精彩视频| 国产91在线|日本| 在线亚洲小视频| 国产精品美女免费视频大全| 2018日日摸夜夜添狠狠躁| 91久久精品国产| 国产亚洲欧美日韩在线观看一区二区| 成人国产免费| 免费无码网站| 91视频免费观看网站|