基于語音辨識的遙控小車的設計
1.2 紅外遙控本文引用地址:http://www.biyoush.com/article/163598.htm
TX-2B/ RX-2B是士蘭公司生產的配對使用的紅外線發(fā)射和接收芯片,是一款專用于玩具小車的成對遙控芯片,采用CMOS工藝制造,功耗小,工作電壓1.5-5V。TX-2B/RX-2B內部己含有編碼電路和解碼電路,無需在后續(xù)的電路中對接收到的信號進行軟件編程解碼,因此硬件電路簡單。紅外發(fā)射電路如圖2所示,TX-2B中的1、4、5、14引腳分別為右轉(RIGHT)、后退(BACKWORD)、前進(FORWORD)、左轉(LEFT)控制端,接收從061A的IOA 0~IOA 3 發(fā)送的信號。紅外接收電路如圖3所示,RX-2B包括內置放大器、運算器及鎖存器等。外接250 kΩ電阻形成RC振蕩器,與發(fā)射電路的頻率匹配。RX-2B接收信號后,經(jīng)解碼后將右轉、左傳、后退、前進的控制信號由對應的引腳6、7、10、11輸出,傳送給電機驅動電路,控制小車產生相應的動作。
1.3 電機驅動電路
小車為四輪結構,兩個前輪為轉向機構,控制小車左轉、右轉;兩個后輪為前進、后退驅動輪。兩個電機均采用直流小電機,驅動采用 H橋式功率驅動電路,該電路可以很方便的實現(xiàn)電機的正、反轉的變化 [6],從而控制小車的左右轉、前進、后退的狀態(tài)變化。由于電路簡單,這里不再贅述。
2.系統(tǒng)軟件設計SPCE061A提供了很好的語音播放和錄制機制以及簡單的API接口編程,大大簡化了小車的軟件設計。在此主要闡述,語音辨識(包括:語音訓練、語音識別)以及定時中斷控制部分的軟件設計。
2.1 語音辨識
凌陽SPCE061A將語音識別功能做成模塊,通過API函數(shù)調用來實現(xiàn),內帶的SACM-LIB解決了語音文件占用存儲空間大的問題。本設計采用SD模式,小車只能識別特定使用者的語音命令,語音辨識的過程包括語音訓練和語音識別 [7]。具體包括以下幾個步驟:
2.1.1 RAM初始化 調用int BSR_Delete SDGroup(0),用于SRAM初始化。當返回值為0,代表擦除成功。否則返回-1。
2.1.2 語音訓練調用int BSR_Train (int WordID, int TraindMode),用于上電后的語音命令訓練。 BSR_TRAIN_TWICE 表示每條指令訓練兩次。訓練成功,返回值為0。
2.1.3 語音辨識
調用int BSR_InitRecognizer(int AudioSource),用于語音識別器初始化。語音識別器打開8KH Z采樣頻率的FIQ_TMA中斷,開始將采樣的語音數(shù)據(jù)填入語音識別器的數(shù)據(jù)隊列中。
2.1.4 啟動實時監(jiān)控調用函數(shù)VoidBSR_EnableCPUIndicator(void) 啟動實時監(jiān)控,保證辨識器正常執(zhí)行。
評論