?

用LD3322實現嵌入式語音控制的兒童玩具*

2018-12-07 08:32,,,
單片機與嵌入式系統應用 2018年11期
關鍵詞:波特率藍牙語音

,,,

(長沙師范學院 信息科學與工程學院,長沙 410100)

引 言

隨著傳感技術、計算機科學、人工智能等相關學科的迅速發展,玩具機器人正向智能化方向發展。智能玩具機器人控制系統包括計算機技術、自動控制技術、傳感器技術和人工智能技術等。目前,開發模塊化、功能強大、價格低廉的智能語音互動玩具已成為全國智能玩具的發展趨勢[1],而智能語音互動玩具在國內外市場占有巨大的市場[2]。在全球,智能玩具領域幾乎被美國、日本等國家壟斷。在中國,智能玩具是一個新興的領域,語音控制玩具將為玩具市場注入新的活力。

1 系統結構與總體方案

本系統的設計主要以STC89C52單片機、LD3320語音芯片構成的ASR M08-A語音識別模塊為核心,設計實現了具有語音交互[3]的智能玩具,它能夠在藍牙和語音兩種方式的控制下實現前進、后退、左轉和右轉等功能。藍牙和語音兩種控制方式增強了人與玩具車的交互性,操作方便、實用性強。本設計主要由5大功能模塊組成:

① 語音識別模塊,可以實現與小朋友的簡單對話、語音控制播放兒歌、古詩等。語音控制小車移動(語音指令是:“直走”、“后退”、“左轉”、“右轉”、“結束”)。

② LED燈陣模塊,是玩具的小眼睛,實現開關機閃爍效果以及視覺美感。

③ 電源模塊,在底盤小車的上面做成兩個連在一起的圓柱形腿,腳下直接連接輪子(圓柱形內放置電池)。

④ 藍牙控制模塊,手機APP通過藍牙通信方式控制玩具的簡單動作[4](比如滑動、走向等)。

⑤ 避障模塊設置超聲波檢測傳感器用于檢測玩具運動方向上的障礙物,同時提供避障信息。

2 系統硬件設計

設計一個實用的智能兒童玩具,不僅要求包含一定的智能功能,還要求在使用時具有交互友好性,運行穩定性和可靠性,同時還具備經濟性。本設計中的玩具具有運動功能(前進、后退、左行、右行),為了使玩具能夠穩定運行和成功實現語音控制功能,對抗干擾的能力就要求比較強,這樣的玩具才能在不同的環境穩定移動,玩具中的語音交互功能更適合寶寶的使用。

2.1 硬件總體設計

本玩具系統設計的主控電路核心器件為STC89C52單片機,運動控制功能由其完成[5],開啟和復位玩具由按鍵完成。藍牙模塊構成玩具的移動系統(前進、后退、左行、右行、避障等),另外單片機控制語音識別模塊實現語音控制玩具播放音頻或者作出回應以及LED燈的閃爍。

玩具運動功能采用四輪驅動來調節輪子的轉速,從而達到控制轉向的目的。將單片機主控芯片和語音識別模塊通過銅柱的支撐裝在底盤上面,當人發出語音操作指令并被語音識別模塊檢測到時,系統做出反應,如唱歌、放古詩、簡單問答等。系統總框架圖如圖1所示。

圖1 系統總框架圖

2.2 語音和藍牙控制

本設計是一個可以語音控制的玩具機器人,語音識別部分主要實現的功能是:首先實現與小朋友之間的簡單問答的指令檢測;其次通過檢測不同語音指令進入不同控制模式,包括藍牙控制和語音控制;最后,語音識別模塊檢測到不同的語音指令,從而控制玩具電機的轉速和正反轉方向,使玩具實現左轉、右轉、前行和后退。

藍牙模塊:利用手機APP發送信息實現單片機對玩具電機的控制,藍牙模塊主要作用是智能無線數據傳輸,利用主從一體功能來實現手機藍牙控制玩具動作。該模塊主要是對電機驅動模塊和藍牙模塊的傳輸數據進行分析,從而控制電機的轉速、啟動和停止以及藍牙無線數據的傳輸。

語音模塊:首先對接收到的語音信號進行一系列的運算處理,然后和關鍵詞列表中所有的關鍵詞進行對比,對每一個關鍵詞的相似度打分,得分最高的那個關鍵詞就認為是正確的,最后輸出。這樣,當接收到相似度比較高的語音時,可以通過設置“無用關鍵詞”把它過濾掉,這是一個非常有效的手段,設置“無用關鍵詞”越多,誤識別率越低,但是不可避免地要犧牲關鍵詞列表地址。語音模塊串口與51單片機相連時的接線方法如圖2所示。

圖2 語音串口接線圖

3 系統軟件設計

軟件設計分為兩個部分,即主程序框架部分和語音控制部分。主控部分整個系統的軟件流程如圖3所示,主要是模式選擇和藍牙控制部分。當主程序開始時,首先是對單片機、藍牙、語音識別模塊進行初始化,保證各個部分都能正常工作。對單片機設定其工作模式、開啟外部中斷,在語音模塊有識別結果輸出的時候會輸出一個中斷信號,這時單片機就可以讀取相關寄存器的識別結果了。

圖3 系統主程序流程圖

3.1 語音識別原理

在嵌入式系統中,語音識別的難點主要在于語音信號的動態性和連續性。主流的語音識別技術原理如圖4所示。

圖4 主流的語音識別技術原理圖

在本設計中,與主流的語音識別技術相同,但是語音參考庫沒有主流識別技術豐富。本設計的語音參考庫是自己建立的,首先通過ASR設置器(界面如圖5所示)將需要的指令寫入語音識別模塊中,進行語音訓練,提取該指令的十六進制特征參數。其次將提取的特征參數與自建庫中的參數比較,輸出相符的參數完成語音識別。最后將參數傳送至STC89C52單片機中執行相應的操作。還可以利用ASR設置器中的“添加關鍵詞”寫入系統所需的語音指令,通過查詢關鍵詞獲取語音庫。

圖5 ASR設置器界面圖

3.2 語音識別模塊的波特率設置

波特率是指串行端口每秒內可以傳輸的波特位數。在使用串口做通信時,一個很重要的參數就是波特率,只有上位機和下位機的波特率一樣,才可以進行正常通信。通過查找語音識別模塊的使用手冊可知,模塊支持1 200、2 400、4 800、7 200、9 600、14 400、19 200、38 400、57 600、115 200 Baud共10種波特率。如果波特率較低,ASR設置器界面顯示的中文會出現亂碼,同時STC89C52單片機通常使用9 600 Baud的波特率,所以波特率設置為9 600 Baud。

語音識別模塊的波特率設置可以直接通過ASR設置器中的波特率設置模塊直接設置,發送指令“Baud,9600,$”。

單片機會以16倍波特率的速度進行采樣,而在本設計中用到的是10位異步收發方式,因此要將SM0置0,SM1置1。而其中的10位有8位數據位,第一位和最后一位是發送數據的起始與結束。采用高的波特率就不會出錯。單片機的串行接口有4種工作方式,對應三種波特率。由于輸入的移位時鐘來源不同,所以各種方式的波特率計算公式也不相同。

3.3 語音識別模塊的兩種檢測模式

(1)普通檢測模式

同一時間內,50條關鍵詞的任何一條都能被識別到,但是這種方式如果“垃圾關鍵詞”吸收工作做得不好,會帶來一定的誤識別。

(2)口令式檢測模式(又稱密碼式檢測)

ASR M08-A 模塊對關鍵詞的返回值“254”做了特殊的處理,返回值“254”作為整個關鍵詞列表的識別入口。在口令式檢測模式下,寫入一條關鍵詞,然后將其返回值設定為“254”,這條關鍵詞便成為了“口令關鍵詞”。這時候,只有在識別到此“口令關鍵詞”之后的8 s內才能對其他關鍵詞進行識別,8 s過后,入口關閉,除了“口令關鍵詞”能再被識別之外,其他所有關鍵詞均不能被識別。

由于口令檢測模式有效降低了誤識別帶來的嚴重后果,大大提高了系統的可靠性,使得語音識別模塊能應用在普通的智能控制系統當中,缺點是響應一個動作需要講兩個關鍵詞。

3.4 語音識別模塊初始化

圖6 語音檢測流程圖

語音識別模塊初始化程序如下:

SCON=0x50; //設定串口工作方式

PCON=0x00; //波特率不倍增

TMOD=0x20;

//定時器1工作于8自動重載模式,用于產生波特率

EA=1; //打開串口中斷

ES = 1; //允許串口中斷

TL1=0xfd;

TH1=0xfd; //設置波特率為9 600

TR1=1;

本設計是一個可以語音控制的玩具機器人,因此語音識別部分主要實現的功能包括:① 實現與小朋友之間的簡單問答的指令檢測;② 通過檢測不同語音指令判斷是進入藍牙控制模式還是語音控制模式;③ 語音識別模塊檢測到不同的語音指令,從而控制玩具電機的轉速和正反轉方向,使玩具實現左轉、右轉、前行和后退。圖6為語音檢測模式流程圖,表1為語音識別模塊的返回值列表,表2為語音識別模塊指令集。

表1 語音識別模塊返回值表

表2 語音識別模塊指令集

4 系統測試

① 電機正反轉測試:開機后,玩具按照程序設定的模式運動,即來回跑動。

② 語音功能測試:開機后,ASR M08-A語音模塊上電,發出指定的語音指令,玩具能做出相應的回答。

③ 語音控制玩具運動測試:開機后,ASR M08-A語音模塊上電,玩具輪子不轉,當發出“直走”的語音指令時,可以觀察到輪子(按規定的前方)正轉;當發出“后退”的語音指令時,可以觀察到輪子反轉;當發出“左轉”指令時,兩邊輪子的轉速不同(左輪大于右輪),從而開始左轉;同理,發出“右轉”指令時,開始右轉。當發出的語音指令不是所設定的指令時,輪子停止轉動,原因是正轉、反轉同時進行導致的輪子不動。

④ 藍牙控制測試:開機后,首先由語音指令進入藍牙模式,然后可以實現藍牙控制。

⑤ LED模塊測試:開機后,由語音指令可以實現LED燈陣的功能。

結 語

猜你喜歡
波特率藍牙語音
藍牙音箱的直線之美
CAN 總線波特率自適應程序設計
魔力語音
基于MATLAB的語音信號處理
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……
簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍牙耳機放大器
緊急:藍牙指尖陀螺自燃!安全隱患頻出
C*Core芯片SCI串口波特率容限優化
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合