基於微控制器的無線語音遙控智慧車設計

嵌入式基地發表於2020-09-28

文末下載完整資料

1 無線語音控制智慧車設計概述
1.1 設計目的
   隨著電子工業的發展,計算機技術隨著整合度的提高,和大規模積體電路的發展。計算機的一個重要分支——嵌入式計算機也在向高度智慧化的方將發展。讓機器能像人一樣思考,理解人的語言已不再是一個新鮮的話題。實現使用語音控制微控制器,將人機介面簡化到人類可以用最自然的方式操作機器是本次設計的目的。本次擬設計能用語音無線遙控的智慧小車。根據識別的語音命令來控制啟動、停止、返回,完成作品雖功能單一且無實際使用價值,但可將原理推廣至各種智慧家電的語音遙控,所以該技術具有很高的實際應用價值。
1.2 設計實現總體功能

  1. 利用微控制器的語音採集、播放、語音識別資源,實現人類語音的命令識別;
  2. 通過數字無線傳輸模組,將控制指令無線傳送;
  3. 接收無線語音指令,實現控制小車的前進、後退、左轉、右轉等功能;
  4. 在超出控制範圍(開闊處大於100米)時能夠自動停車;

2 系統總體方案
2.1 方案論證
2.1.1 方案一
   採用AVR系列8位微控制器ATMEGA16L實現語音遙控器,由於有語音識、和語音播放和無線數傳功能,所以需要擴充套件語音識別模組和語音播放模組還有無線發射接收模組,這樣必然造成埠的資源緊張,所以還必須加入介面擴充套件晶片。該實現方案遙控器部分結構如圖 3-1所示:
在這裡插入圖片描述

3 系統晶片功能介紹
   在無線語音遙控智慧車的設計中,主要包含四片晶片和兩個模組,晶片中包括一片凌陽SPCE061A 16位微控制器,用於語音命令的識別、傳送以及命令的語音播放。兩片ATMEGA16L高檔8位微控制器,一片和nRF2401模組組成串列埠無線發射模組,另一片作為車體部分的主控制器。最後一塊為L298N直流電機驅動晶片,用於接收車體主控制器的控制訊號,驅動直流電機為小車提供前進的動力。

3.1 主控晶片及其各部分效能
3.1.1無線語音遙控器主控制器SPCE061A介紹
   經過上述討論,實現聲音智慧控制功能最理想的控制晶片為臺灣凌陽科技推出的SOPC(System On Programmable Chip)級16位MCU-DSP混合處理器SPCE061A作為處理語音指令的控制晶片,其兼有微處理器,數字訊號處理器,儲存器的三重功能,具有豐富的片上系統資源。凌陽SPCE061A具有μ’nSP™的指令系統提供具有較高運算速度的16位*16位的乘法運算指令和內積運算指令,增添了DSP功能,使得μ’nSPTM系列運用在複雜的數字訊號處理方面既很便利,又比專用的DSP晶片廉價。凌陽內嵌32K字的Flash和2K字的SRAM,ROM和RAM統一編址,屬於馮諾依曼結構計算機,這樣的設計在製作中方便了對語音指令的壓縮和儲存。
在這裡插入圖片描述

3.1.3 nRF2401無線傳輸模組的主要特性:
在這裡插入圖片描述
    nRF2401 是單片射頻收發晶片,工作於2.4~2.5GHz ISM 頻段,0~1Mbps 資料傳輸速率,125 階(梯度1MHz)收發頻率,地址檢驗和CRC 校驗。晶片內建頻率合成器、功率放大器、晶體振盪器和調製器等功能模組,輸出功率和通訊頻道可通過程式進行配置。晶片能耗非常低,以-5dBm 的功率發射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節能設計更方便。其DuoCeiverTM 技術使nRF2401 可以使用同一天線,同時接收兩個不同頻道的資料。nRF2401 適用於多種無線
在這裡插入圖片描述
4.1.4 直流電機驅動晶片L298N的介紹
  L298是ST公司生產的一種高電壓、大電流電機驅動晶片。該晶片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續工作電流為2A;內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器、線圈等感性負載;採用標準TTL邏輯電平訊號控制;具有兩個使能控制端,在不受輸入訊號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。其管腳圖和實物圖分別如圖3-9、圖3-10所示。

4.2 無線語音遙控器中SPCE061A的功能
  在本次設計中,關鍵地問題之一在於人聲的A/D轉換儲存與識別,SPCE061A提供了語音輸入壓縮以及辨識的先進技術。

  1. 語音指令的輸入。凌陽 SPCE061A利用麥克風的指令輸入系統,SPCE061A內建由D/A轉換器 DACO和逐次逼近暫存器SAR組成的逐次逼近式8通道10位A/D轉換器,以及取樣/保持電路。其中7個通道用於將模擬量訊號(電壓訊號)轉換為數字量訊號,可以直接通過引線(IOA 0-IOA 6)輸人(Line_Inl-Line_ln7)另外一個通道只用於語音輸人,即通過內建自動增益控制放大器的麥克風通道(MIC-In)輸人,是語音採集專用通道,也可設定為普通A/D輸入。

2.語音指令的訓練。語音遙控器作為機器,一定是不能先天理解人類的語言的,所以,必須教會它人類語言的含義。即語音訓練,內容是將人類的語言事先已訓練的方式經過模數轉換儲存在凌陽SPCE061A的FLASH中,並指定每一條語音所要指向的操作,以便在日後的使用中將採集來的語音與儲存的語音相比對,以確定微控制器需要進行的操作。
  凌陽SPCE061A對於不同的辨識能力提供以下兩種語音訓練方式:
1)特定發音人識別SD(Speaker Dependent),是指語音樣板由單個人訓練,可用於語音提示,而DVR用來錄音和放音;
2) 非特定發音人識別SI(Speaker Independert)。是指語音樣板由不同年齡、不同性別、不同口音的人訓練,可以識別一群人的命令;
在本次設計中,需要向小車訓練:向前、向後、左轉、右轉、停止等幾項語音指令,以供控制小車時的辨識使用。
值得注意的是,使用非特定發音人識別需要利用大量的DVR儲存不同人訓練的語音,但是凌陽SPCE061A並不能提供大量的記憶體空間供儲存使用,由於設計條件有限,無法擴充套件必要的儲存晶片完成儲存語音的功能,故選擇使用特定發音人識別。其訓練具體流程參看後文內容。
3.對訓練的語音指令的儲存。將經A/D轉換後的資料壓縮儲存,SPCEO61A微控制器的16位DSP有很強的資訊處理能力,最高時脈頻率達49.152 MHz,具備運算速度高等優勢。這些為語音的錄放、合成及辨識提供了條件。凌陽壓縮演算法中DVR可用於錄、放音。語音的編碼、儲存、解碼處理是通過操作麥克風輸人所生成的WAVE檔案完成的,但在這個環節上會出現的一個問題為其佔用的儲存空間很大,對SPCEO61A微控制器的32K FLASH來說想要儲存大量的資訊顯然是不可能的。而SPCE061A提出瞭解決方法:SACMV25.LIB。該庫將A/D、編碼、解碼、儲存及D/A做成相應的模組,對於每個模組都有其應用程式介面API,所以只須瞭解每個模組所要實現的功能及其引數的內容,然後呼叫該API函式即可實現相應功能。在進行A/D轉換之前,從MIN_IN輸入的模擬訊號要經過緩衝器和放大器,AGC功能將通過MIC——IN通道輸入的模擬訊號放大值控制在一定範圍內,然後放大訊號經取樣-保持模組送入比較器參與A/D轉換值得確定。

  . SPCE061A的語音辨識。語音辨識是一種以語音模型為指令基礎的控制方式,語音模型的質量直接影響辨識操作的速度和準確率。具體步驟是經過兩次語音採集,即訓練和釋出指令。系統經複雜的函式操作將釋出指令與預先訓練的一音模型進行比對,如與語音模型相匹配,則輸出控制訊號。具體原理如圖:
在這裡插入圖片描述


全套資料免費下載:
關注v-x-公-眾-號:【嵌入式基地
後-臺-回-復:【畢業設計】 即可獲資料
回覆【程式設計】即可獲取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、資料庫、微信小程式、人工智慧、嵌入式、Linux、Unix、QT、物聯網、演算法導論、大資料等資料
在這裡插入圖片描述

相關文章