SPCE061A在語(yǔ)音識(shí)別機(jī)器人中的應(yīng)用
1 引言
為了提高廣大單片機(jī)愛好者學(xué)習(xí)單片機(jī)的興趣,凌陽(yáng)科技大學(xué)計(jì)劃教育推廣中心推出了應(yīng)用SPCE061A作為主控制器,外加電機(jī)驅(qū)動(dòng)電路制作的智能機(jī)器人。該機(jī)器人采用特定人語(yǔ)音識(shí)別對(duì)機(jī)器人進(jìn)行控制,可以完成向前走、倒退、左轉(zhuǎn)、右轉(zhuǎn)、跳兩首舞曲、向左瞄準(zhǔn)、向右瞄準(zhǔn)、發(fā)射、連續(xù)發(fā)射等功能。該智能機(jī)器人可以大大提高在校學(xué)生學(xué)習(xí)單片機(jī)的興趣。
2 模組特性簡(jiǎn)介
2.1 SPCE061A特性簡(jiǎn)介
SPCE061A是凌陽(yáng)科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),使用它可以非常方便靈活的實(shí)現(xiàn)語(yǔ)音的錄放系統(tǒng),該芯片擁有8路10位精度的ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動(dòng)增益電路。這為實(shí)現(xiàn)語(yǔ)音錄入提供了方便的硬件條件。兩路10位精度的DAC,只需要外接功放(SPY0030A)即可完成語(yǔ)音的播放。另外凌陽(yáng)十六位單片機(jī)具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語(yǔ)言,可以實(shí)現(xiàn)C語(yǔ)言與凌陽(yáng)匯編語(yǔ)言的互相調(diào)用,并且,提供了語(yǔ)音錄放的庫(kù)函數(shù),只要了解庫(kù)函數(shù)的使用,就會(huì)很容易完成語(yǔ)音錄放,這些都為軟件開發(fā)提供了方便的條件:
特性:
◆ 16位μ'nSP微處理器;
◆ 工作電壓:內(nèi)核工作電壓VDD為3.0~3.6V(CPU),IO口工作電壓VDDH為VDD~5.5V(I/O);
◆ CPU時(shí)鐘:0.32MHz~49.152MHz;
◆ 內(nèi)置2K字SRAM;
◆ 內(nèi)置32K閃存ROM;
◆ 可編程音頻處理;
◆ 晶體振蕩器;
◆ 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于2μA@3.6V;
◆ 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);
◆ 2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;
◆ 32位通用可編程輸入/輸出端口;
◆ 14個(gè)中斷源可來自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;
◆ 具備觸鍵喚醒的功能;
◆ 使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(shù)據(jù);
◆ 鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);
◆ 32768Hz實(shí)時(shí)時(shí)鐘;
◆ 7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;
◆ 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;
◆ 具備串行設(shè)備接口;
◆ 低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能;
◆ 內(nèi)置在線仿真板(ICE,In- Circuit Emulator)接口。
2.2 機(jī)器人簡(jiǎn)介
2.2.1 機(jī)器人驅(qū)動(dòng)電路圖
機(jī)器人驅(qū)動(dòng)電路圖如圖2.1所示:
圖 2.1機(jī)器人驅(qū)動(dòng)電路圖
機(jī)器人驅(qū)動(dòng)電路采用功率較大的三極管搭成H橋來驅(qū)動(dòng)電機(jī),可以實(shí)現(xiàn)電機(jī)的正向旋轉(zhuǎn)與電機(jī)的反向旋轉(zhuǎn)。這些電機(jī)包括2個(gè)用于走路的電機(jī)與一個(gè)頭部轉(zhuǎn)向的電機(jī)。另外用了一個(gè)三極管驅(qū)動(dòng)單向旋轉(zhuǎn)的電機(jī),包括加速電機(jī)與發(fā)射電機(jī),驅(qū)動(dòng)電路比較簡(jiǎn)單。
2.2.2主要功能
◆ 通過語(yǔ)音命令對(duì)其進(jìn)行控制;
◆ 可以跳兩首舞曲;
◆ 走步功能、轉(zhuǎn)向功能、轉(zhuǎn)頭功能;
◆ 發(fā)射飛盤功能;
3 系統(tǒng)總體方案介紹
用61板來控制機(jī)器人,使用了IOB7-IOB15資源,另外使用了揚(yáng)聲器。如圖3.1所示:
![](http://editerupload.eepw.com.cn/fetch/20140120/219304_1_1.jpg)
圖3.1 系統(tǒng)的結(jié)構(gòu)框圖
系統(tǒng)主要由61板與機(jī)器人驅(qū)動(dòng)電路構(gòu)成。61板作為整個(gè)系統(tǒng)的主控板,驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī)。在主控板61板的控制下完成各個(gè)動(dòng)作。另外增加了特定人語(yǔ)音識(shí)別的功能,通過命令來控制機(jī)器人,使機(jī)器人智能化。
4 系統(tǒng)軟件設(shè)計(jì)
在主函數(shù)中調(diào)用相關(guān)函數(shù)完成特定人語(yǔ)音的訓(xùn)練,然后再訓(xùn)練成功后進(jìn)行語(yǔ)音識(shí)別,根據(jù)識(shí)別的命令執(zhí)行相關(guān)的操作。程序流程圖如4.1所示:
圖4.1程序流程圖與中斷流程圖
判斷是否為第一次下載根據(jù)FLASH中的標(biāo)志位來進(jìn)行判斷。將訓(xùn)練好的語(yǔ)音模型導(dǎo)出存儲(chǔ)到FLASH中使用庫(kù)函數(shù)BSR_ExportSDWord(uiCommandID);進(jìn)行操作,然后再調(diào)用讀寫FLASH中的函數(shù)進(jìn)行。在進(jìn)行語(yǔ)音識(shí)別時(shí),首先讀取FLASH將語(yǔ)音模型取得,然后調(diào)用BSR_ImportSDWord(uiCommandID);函數(shù)將語(yǔ)音資源載入內(nèi)存。在識(shí)別出命令后,執(zhí)行相關(guān)動(dòng)作,相關(guān)動(dòng)作操作就是操作電機(jī)的正向或反向旋轉(zhuǎn)同時(shí)配合延時(shí)與播放聲音組合起來形成不同的動(dòng)作。
應(yīng)用方案的驗(yàn)證步驟:
步驟一:?jiǎn)?dòng)u'nSP IDE。打開機(jī)器人應(yīng)用實(shí)例程序,編譯、鏈接確認(rèn)沒有錯(cuò)誤。如圖4.2所示:
圖4.2編譯、鏈接圖
步驟二:下載程序代碼到機(jī)器人的61板上。
步驟三:打開機(jī)器人的電源,進(jìn)行語(yǔ)音訓(xùn)練,訓(xùn)練過程按照下面進(jìn)行:
按順序訓(xùn)練以下15條指令:"名稱","開始","準(zhǔn)備","跳舞","再來一曲","開始","向前走","倒退","右轉(zhuǎn)","左轉(zhuǎn)","準(zhǔn)備","向左瞄準(zhǔn)","向右瞄準(zhǔn)","發(fā)射","連續(xù)發(fā)射"。每條指令要訓(xùn)練兩遍。當(dāng)一條指令被正確識(shí)別時(shí)會(huì)提示進(jìn)入下一條;如沒有被識(shí)別會(huì)要求重復(fù)該指令,直到正確識(shí)別為止。
步驟三:如果訓(xùn)練成功則進(jìn)入語(yǔ)音識(shí)別狀態(tài),如果訓(xùn)練沒有成功則重復(fù)訓(xùn)練。由于SPCE061A的FLASH存儲(chǔ)器只有32K,所以15條指令需要分組存放。在這里分成3組,每組5條指令。在不同組指令中交換需要根據(jù)出發(fā)名稱,所以在識(shí)別狀態(tài),要執(zhí)行動(dòng)作首先需要出發(fā)名稱,就是訓(xùn)練的第一條命令,然后可以識(shí)別第一組的其余四條命令。在觸發(fā)第一條指令,然后再觸發(fā)第二條指令,就可以識(shí)別第三條指令,參考下圖:
圖4.3 機(jī)器人操作示意圖
5 結(jié)語(yǔ)
應(yīng)用SPCE061A外加電機(jī)驅(qū)動(dòng)控制電路可以實(shí)現(xiàn)多個(gè)電機(jī)的控制,完成機(jī)器人的許多動(dòng)作。單片機(jī)愛好者可以自己制作電機(jī)驅(qū)動(dòng)電路,發(fā)揮想象力制作出自己的機(jī)器人。
6 參考文獻(xiàn)
[1] 羅亞非.凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社,2003
[2] 凌陽(yáng)大學(xué)計(jì)劃網(wǎng)站www.unsp.com.cn
評(píng)論