語(yǔ)音控制小車迷你型使用說(shuō)明書(shū)v1_第1頁(yè)
語(yǔ)音控制小車迷你型使用說(shuō)明書(shū)v1_第2頁(yè)
語(yǔ)音控制小車迷你型使用說(shuō)明書(shū)v1_第3頁(yè)
語(yǔ)音控制小車迷你型使用說(shuō)明書(shū)v1_第4頁(yè)
語(yǔ)音控制小車迷你型使用說(shuō)明書(shū)v1_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余18頁(yè)可下載查看

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、V1.0 2006.02.18科技大學(xué)計(jì)劃教育推廣中心海淀上地信息產(chǎn)業(yè)FAX: 86-10-62962425中黎科技園 1 號(hào)樓 5 層: 86-10-62981668E-保留對(duì)此文件修改之權(quán)利且不另行通知。所提供之信息相信為正確且可靠之信息, 但并不保證本文件中絕無(wú)錯(cuò)誤。請(qǐng)于向科技股份提出訂單前, 自行確定所使用之相關(guān)技術(shù)文件及規(guī)格為之版本。若因貴公司權(quán)之應(yīng)用及配合時(shí), 則使用本公司之文件或產(chǎn)品, 而涉及第三人之專利或著作權(quán)等智能應(yīng)由貴公司負(fù)責(zé)取得同意及司應(yīng)為保證之責(zé)任. 又, 本公司僅單純販?zhǔn)郛a(chǎn)品, 上述關(guān)于同意及, 非屬本公之正式, 本公司之所有產(chǎn)品不得使用于醫(yī)療器材, 維持生命系統(tǒng)及飛

2、航等相關(guān)設(shè)備。目錄. 2目錄3語(yǔ)音控制小車概述111.11.21.3功能要求1參數(shù)說(shuō)明1注意事項(xiàng)12硬件說(shuō)明22.12.22.3車體結(jié)構(gòu)2小車實(shí)物圖3硬件框圖3SPCE061A 精簡(jiǎn)開(kāi)發(fā)板簡(jiǎn)介4小車控制板5小車的功能實(shí)現(xiàn)原理933.13.23.33.4直走的實(shí)現(xiàn)過(guò)程9轉(zhuǎn)彎的實(shí)現(xiàn)過(guò)程9調(diào)速的原理9語(yǔ)音識(shí)別原理簡(jiǎn)介10流程1144.14.2主程序流程圖11程序中需明的幾個(gè)問(wèn)題125如何使用135.15.25.35.45.5連接硬件13代碼. 13訓(xùn)練小車13聲控小車14重新訓(xùn)練146應(yīng)用舉例166.1 一個(gè)簡(jiǎn)單的前進(jìn)實(shí)例16常見(jiàn)問(wèn)題18附錄19788.18.28.38.4配件. 19資料獲取途徑1

3、9配套資料公司. 19. 201 語(yǔ)音控制小車概述1.1 功能要求語(yǔ)音控制小車注是大學(xué)計(jì)劃推出的基于 SPCE061A 的代表性產(chǎn)品,它配合 61 板推出,綜合應(yīng)用了 SPCE061A 的眾多資源,打破了傳統(tǒng)教學(xué)中單片機(jī)學(xué)習(xí)枯燥和低效的現(xiàn)狀。小車采用語(yǔ)音識(shí)別技術(shù),可通過(guò)語(yǔ)音命令對(duì)其行駛狀態(tài)進(jìn)行控制。語(yǔ)音控制小車的主要功能:1 可以通過(guò)簡(jiǎn)單的 I/O 操作實(shí)現(xiàn)小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)功能;配合 SPCE061A 的語(yǔ)音特色,利用系統(tǒng)的語(yǔ)音可以在行走過(guò)程中聲控改變小車運(yùn)動(dòng)狀態(tài);在超出語(yǔ)音控制范圍時(shí)能夠自動(dòng)停車。和語(yǔ)音識(shí)別資源,實(shí)現(xiàn)語(yǔ)音控制的功能;1.2 參數(shù)說(shuō)明車體:雙電機(jī)兩輪驅(qū)動(dòng)供電:電池(

4、三節(jié) AA:1.5V3)工作電壓:DC 4V6V工作電流:運(yùn)動(dòng)時(shí)約 200mA尺寸:155mm85mm35mm(長(zhǎng)寬高)(如果加上 61 板高再加 15mm)1.3 注意事項(xiàng)一定要注意電池的正負(fù)極性,切勿裝反;長(zhǎng)期不用請(qǐng)將電池取出電池盒;由于語(yǔ)音信號(hào)的不確定性,語(yǔ)音識(shí)別的過(guò)程會(huì)出現(xiàn)一定的誤差和確性;4 由于小車行動(dòng)比較靈活,速度比較快,在使用時(shí)一定要注意保持場(chǎng)地足夠大,且保證不會(huì)對(duì)周圍的物體造成;5 不要讓小車長(zhǎng)時(shí)間運(yùn)行在堵轉(zhuǎn)狀態(tài)(堵轉(zhuǎn)狀態(tài):由于小車所受阻力過(guò)大,造成小車電機(jī)加電但并不轉(zhuǎn)動(dòng)的現(xiàn)象),這樣會(huì)造成很大的堵轉(zhuǎn)電流,有可能會(huì)損壞小車的控制電路。注:科技教育推廣中心目前共推出三款語(yǔ)音控制

5、小車:語(yǔ)音控制小車、語(yǔ)音控制小車(越野型)、語(yǔ)音控制小車(迷你型);其中語(yǔ)音控制小車最早推出,目前已經(jīng)停產(chǎn),語(yǔ)音控制小車(越野型)和語(yǔ)音控制小車(迷你型)同時(shí)推出,二者結(jié)構(gòu)和功能相似,只是外形大小不同。該文是對(duì)語(yǔ)音控制小車(迷你型)的說(shuō)明文檔,下文簡(jiǎn)稱語(yǔ)音控制小車。1 2 硬件說(shuō)明2.1 車體結(jié)構(gòu)語(yǔ)音控制小車為四輪結(jié)構(gòu),車的結(jié)構(gòu)示意圖如圖 2.1 所示。其中前面兩個(gè)車輪由前輪電機(jī)控制,在連桿和支點(diǎn)作用下控制前輪左右擺動(dòng),來(lái)調(diào)節(jié)小車的前進(jìn)方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個(gè)車輪由后輪電機(jī)驅(qū)動(dòng),為整個(gè)小車提供動(dòng)力,所以又稱前面的為驅(qū)動(dòng)輪,如圖 2.2 所示。為方向輪,后面的兩

6、個(gè)后輪前輪前輪驅(qū)動(dòng)電機(jī)后輪驅(qū)動(dòng)電機(jī)圖 2.1 車體側(cè)視圖圖 2.2 車體頂視圖2 2.2 小車實(shí)物圖圖 2.3 語(yǔ)音控制小車實(shí)物圖整個(gè)小車分為三大部分:車體部分、61 板、控制板,如圖 2.3 所示。車體部分:小車車體主要為兩個(gè)電機(jī)驅(qū)動(dòng)裝置,分前輪(方向)驅(qū)動(dòng)和后輪(動(dòng)力驅(qū)動(dòng))。在車體的下面有一個(gè)可以安裝 4 節(jié) AA 電池的電池盒,整個(gè)小車的電源就是由它來(lái)提供的。在小車的底部有一個(gè)小開(kāi)關(guān),它負(fù)責(zé)小車的電源開(kāi)通與關(guān)斷。61 板:61 板是小車的部分,它負(fù)責(zé)整個(gè)小車控制信號(hào)的產(chǎn)生,以及語(yǔ)音的和識(shí)別功能實(shí)現(xiàn)。在不使用小車時(shí)可以將 61 板從小車上拆下來(lái),61 板仍然是完整的,可以用它來(lái)做其它的實(shí)驗(yàn)

7、或開(kāi)發(fā)??刂瓢澹嚎刂瓢遑?fù)責(zé)將來(lái)自 61 板的控制信號(hào)轉(zhuǎn)化為能夠驅(qū)動(dòng)電板子)的信號(hào)。(圖中 61 板下面的黃色2.3 硬件框圖小車控制系統(tǒng)硬件結(jié)構(gòu)比較簡(jiǎn)單,如圖 2.4 所示,主要分為兩個(gè)部分:一個(gè)是 SPCE061A 精簡(jiǎn)開(kāi)發(fā)板(即“61”板),另外一個(gè)是電機(jī)控制板。電機(jī)控制板的工作就是根據(jù) 61 板的輸出信號(hào)去啟動(dòng)和停止相應(yīng)的電機(jī),以及調(diào)整電機(jī)的正反轉(zhuǎn)方向。正是通過(guò)開(kāi)啟和關(guān)閉相應(yīng)的電機(jī),使電機(jī)在不同的組合狀態(tài)運(yùn)轉(zhuǎn),最終來(lái)實(shí)現(xiàn)小車的前進(jìn),等功能。3 KEY1 IOA0 IOA1IOA2IOB8IOB9KEY2Bridge1M1KEY3 SPCE061AIOB10IOB11Bridge2M2圖

8、2.4 系統(tǒng)的硬件組成框圖2.4 SPCE061A 精簡(jiǎn)開(kāi)發(fā)板簡(jiǎn)介2.4.1SPCE061A 總述SPCE061A 是科技推出的一款16位結(jié)構(gòu)的微控制器。較高的處理速度和nSP的內(nèi)核結(jié)構(gòu)使它能夠非常容易、快速地處理復(fù)雜的數(shù)字信號(hào)。同時(shí)SPCE061A內(nèi)嵌32K字的FLASHSPCE061A微控制器是適用于語(yǔ)音識(shí)別領(lǐng)域的一種最佳選擇。ROM和2K字的SRAM。因此2.4.2SPCE061A 性能16位nSP微處理器;工作電壓(CPU) VDD為3.0V3.6V,(I/O) VDDH為VDD5.5V; CPU時(shí)鐘:0.32MHz49.152MHz;內(nèi)置2K字SRAM;內(nèi)置32K FLASH;可編程

9、音頻處理;晶體振蕩器; HYPERLINK mailto:耗電僅為2A3.6V 系統(tǒng)處于休眠模式下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2A3.6V; 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;32位通用可編程輸入/輸出端口;兩級(jí)中斷,14個(gè)中斷源;具備觸鍵喚醒的功能;使用音頻編碼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)功能;具備串行

10、設(shè)備接口(UART,SIO);4 具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;內(nèi)置具有仿真電路ICE(In- Circuit Emulator)接口;能力;具有Watch-dog功能。精簡(jiǎn)開(kāi)發(fā)板61 板2.4.3“61 板”是 SPCE061A EMU BOARD 的簡(jiǎn)稱,是以16 位單片機(jī) SPCE061A 為的精簡(jiǎn)開(kāi)發(fā)仿真實(shí)驗(yàn)板,大小相當(dāng)于一張牌。 “61 板”除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、復(fù)位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等,“61 板”可以采用電池供電。下圖所示為該精簡(jiǎn)開(kāi)發(fā)板的實(shí)物圖。圖 2.5 “61”板實(shí)物

11、圖2.5 小車控制板控制板主要包括:接口電路、電源電路和電機(jī)的驅(qū)動(dòng)電路,控制板原理圖如圖 2.6 所示。接口電路:接口電路負(fù)責(zé)將 61 板的I/O 接口信號(hào)傳送給控制電路板,I/O 信號(hào)主要為控制電機(jī)需要的IOB8IOB11 這四路信號(hào),同時(shí)為了方便后續(xù)的開(kāi)發(fā)和完善,預(yù)留了 IOB12IOB15 以及 IOA8IOA15 接口,可以在這些接口上添加一些傳感器。電源部分:整個(gè)小車有 4 個(gè)電源信號(hào):電池電源,控制板工作電源,61 板工作電源,61 板的 I/O 輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電 VCC,然后經(jīng)二極管 D1 后產(chǎn)生 61 板電源VCC_61(D1 主要是防止電源

12、接反,可以省去),通過(guò) 61 板的 Vio 跳線產(chǎn)生 61 板的端口電源(V1)。5 VCCJ1VCCVCC_61 J2D11212Q1 PNP8550Q3 PNP8550R1 200J3Q5 R3 IOB9 2KNPN8050IN4007R2200CON2CON212V1V1J5J6Q6 R4 IOB8 2KNPN8050CON2Q2NPN8050Q4 NPN8050IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 IOB14 IOB15 IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 IOB14 IOB15 VCCCON10CON10V1V1Q7 PN

13、P8550Q9 PNP8550R5200J7J8CON2Q11R7IOB10 2KR6200IOA8 IOA9 IOA10 IOA11 IOA12 IOA13 IOA14 IOA15 IOA8 IOA9 IOA10 IOA11 IOA12 IOA13 IOA14 IOA15 21NPN8050Q12 R8 IOB11 2KNPN8050J4Q8NPN8050Q10 NPN8050CON10CON10圖 2.6 控制板原理圖2.5.1動(dòng)力電機(jī)驅(qū)動(dòng)電路動(dòng)力驅(qū)動(dòng)由后輪驅(qū)動(dòng)實(shí)現(xiàn),負(fù)責(zé)小車的直線方向運(yùn)動(dòng),包括前進(jìn)和后退,后輪驅(qū)動(dòng)電路是一個(gè)全橋驅(qū)動(dòng)電路,如圖 2.7 所示:Q1、Q2、Q3、Q4 四個(gè)三極

14、管組成四個(gè)橋臂,Q1 和 Q4 組成一組,Q2 和 Q3 組成一組,Q5 控制 Q2、Q3 的導(dǎo)通與關(guān)斷,Q6 控制 Q1 和 Q4 的導(dǎo)通與關(guān)斷,而 Q5、Q6 由 IOB9 和 IOB8控制,這樣就可以通過(guò) IOB8 和 IOB9 控制四個(gè)橋臂的導(dǎo)通與關(guān)斷控制后輪電機(jī)的運(yùn)行狀態(tài),轉(zhuǎn)或者停轉(zhuǎn),進(jìn)而控制小車的前進(jìn)和后退。轉(zhuǎn)反VCCQ1 PNP8550Q3R1 200PNP8550J3Q5 R3 IOB9 R22002K12NPN8050Q6 R4 IOB8 CON2Q22KNPN8050Q4NPN8050NPN8050圖 2.7 后輪電機(jī)驅(qū)動(dòng)電路當(dāng) IOB8 為、IOB9 為低電平時(shí) Q1 和

15、 Q4 導(dǎo)通,Q2 和 Q3 截止,后輪電機(jī)正轉(zhuǎn),小車前進(jìn);反之當(dāng) IOB8 為低電平、IOB9 為時(shí) Q1 和 Q4 截止,Q2 和 Q3 導(dǎo)通,后輪電機(jī)反轉(zhuǎn),小車;而當(dāng)6 12345678910123456789101234567891012345678910IOB8、IOB9 同為低電平時(shí) Q1、Q2、Q3 和 Q4 都截止,后輪電機(jī)停轉(zhuǎn),小車停止運(yùn)動(dòng)。注意:IOB8 和 IOB9 不能同時(shí)置,這樣會(huì)造成后輪驅(qū)動(dòng)全橋短路現(xiàn)象。2.5.2方向電機(jī)控制電路方向控制由前輪驅(qū)動(dòng)實(shí)現(xiàn),包括左轉(zhuǎn)和右轉(zhuǎn),前輪驅(qū)動(dòng)電路也是一個(gè)全橋驅(qū)動(dòng)電路,如圖 2.8 所示: Q7、Q8、Q9、Q10 四個(gè)三極管組成四

16、個(gè)橋臂,Q7 和 Q10 組成一組,Q8 和 Q9 組成一組,Q11 控制 Q8、 Q9 的導(dǎo)通與關(guān)斷,Q12 控制 Q7 和 Q10 的導(dǎo)通與關(guān)斷,而 Q11、Q12 由 IOB10 和 IOB11 控制,這樣就可以通過(guò) IOB10 和 IOB11 控制前輪電機(jī)的正轉(zhuǎn)和反轉(zhuǎn),進(jìn)而控制小車的左轉(zhuǎn)和右轉(zhuǎn)。VCCQ7 PNP8550Q9R5PNP8550200CON2Q11R7IOB10 R62002K21NPN8050Q12 R8 IOB11 J4Q82KNPN8050Q10 NPN8050NPN8050圖 2.8 前輪電機(jī)驅(qū)動(dòng)電路當(dāng) IOB10 為、IOB11 為低電平時(shí) Q8 和 Q9 導(dǎo)通

17、,Q7 和 Q10 截止,前輪電機(jī)正轉(zhuǎn),小車前輪朝轉(zhuǎn);反之當(dāng) IOB10 為低電平、IOB11 為時(shí) Q8 和 Q9 截止,Q7 和 Q10 導(dǎo)通,前輪電機(jī)反轉(zhuǎn),小車前輪朝右偏轉(zhuǎn);而當(dāng) IOB10、IOB11 同為低電平時(shí) Q8 和 Q9 截止,Q7 和 Q10 也截止,前輪電機(jī)停轉(zhuǎn),在彈簧作用下前輪被拉回到中間位置,保持直向。注意:IOB10、IOB11 不能同時(shí)為,這樣會(huì)造成前輪驅(qū)動(dòng)全橋的橋臂短路。結(jié)合以上對(duì)前輪和后輪的狀態(tài)分析,得到小車的運(yùn)行狀態(tài)與輸入的對(duì)照表,如下表所示:表 2.1 基本的輸入與小車運(yùn)動(dòng)狀態(tài)對(duì)照表另外還有一些不常用的運(yùn)行狀態(tài),比如右后轉(zhuǎn)、左后轉(zhuǎn)等,結(jié)合以上對(duì)前輪和后輪的

18、狀態(tài)分析,其端口對(duì)照如表 2.2 所示:表 2.2 特殊的輸入與小車的運(yùn)動(dòng)狀態(tài)對(duì)照表7 IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車0000停轉(zhuǎn)停轉(zhuǎn)停0001正轉(zhuǎn)停轉(zhuǎn)前進(jìn)0010反轉(zhuǎn)停轉(zhuǎn)0101正轉(zhuǎn)正轉(zhuǎn)左前轉(zhuǎn)1001正轉(zhuǎn)反轉(zhuǎn)右前轉(zhuǎn)注意:為了小車的安全請(qǐng)不要出現(xiàn)以下兩種組合情況:表 2.3的輸入狀態(tài)列表8 IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車*11停轉(zhuǎn)*停11*停轉(zhuǎn)停0110反轉(zhuǎn)正轉(zhuǎn)右后轉(zhuǎn)1010反轉(zhuǎn)反轉(zhuǎn)左后轉(zhuǎn)3 小車的功能實(shí)現(xiàn)原理3.1 直走的實(shí)現(xiàn)過(guò)程只要讓小車的前輪保持自然狀態(tài)(即不又不右偏),然后讓后輪正傳即可實(shí)現(xiàn)

19、小車的前進(jìn)。對(duì)應(yīng)表 3.1 所示:表 3.1 前進(jìn)對(duì)應(yīng)端口狀態(tài)表同理,只要小車的前輪保持自然狀態(tài)(即不又不右偏),然后讓后輪反轉(zhuǎn)即可實(shí)現(xiàn)小車的后退。對(duì)應(yīng)表 3.2 所示:表 3.2對(duì)應(yīng)的端口狀態(tài)表3.2 轉(zhuǎn)彎的實(shí)現(xiàn)過(guò)程在某些場(chǎng)合,小車還需要轉(zhuǎn)彎,那么小車又是怎樣實(shí)現(xiàn)轉(zhuǎn)彎的呢? 這時(shí)只要小車的前輪作相應(yīng)的偏轉(zhuǎn)即可實(shí)現(xiàn)右前轉(zhuǎn):如果需要小車實(shí)現(xiàn)右前轉(zhuǎn),可以讓小車的前輪右偏,后輪正轉(zhuǎn),這樣就可以實(shí)現(xiàn)小車的右轉(zhuǎn),如表 3.3 所示:表 3.3 右轉(zhuǎn)對(duì)應(yīng)的端口狀態(tài)表左前轉(zhuǎn):如果需要小車實(shí)現(xiàn)左前轉(zhuǎn),可以讓小車的前輪如表 3.4 所示:,后輪正轉(zhuǎn),這樣就可以實(shí)現(xiàn)小車的左轉(zhuǎn),表 3.4 左轉(zhuǎn)對(duì)應(yīng)的端口狀態(tài)表3.

20、3調(diào)速的原理如果需要調(diào)速,可以直接調(diào)用 SPCE061A 的資源,通過(guò)調(diào)節(jié)的占空比來(lái)實(shí)現(xiàn)速度的調(diào)節(jié)。當(dāng) IOB11IOB8 輸出的邏輯電平組合為“0001”時(shí),加在后輪電機(jī)上的驅(qū)動(dòng)電壓為 VCC;而當(dāng) IOB11IOB8輸出“0000”時(shí),加在后電機(jī)上的電壓為 0V。如果交替地向端口送“0001”和“0000”兩種組合(輸出端口自動(dòng)實(shí)現(xiàn)),那么加在小車電機(jī)兩端的電壓就在 VCC 和 0V 之間不停的跳變,對(duì)應(yīng)的電機(jī)電壓波9 IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車0101正轉(zhuǎn)正轉(zhuǎn)左前轉(zhuǎn)IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車1001正轉(zhuǎn)反轉(zhuǎn)右前轉(zhuǎn)IOB11IOB10IO

21、B9IOB8后電機(jī)前電機(jī)小車0010反轉(zhuǎn)停轉(zhuǎn)IOB11IOB10IOB9IOB8后電機(jī)前電機(jī)小車0001正轉(zhuǎn)停轉(zhuǎn)前進(jìn)形如圖 3.1 示:VCCUo0V圖 3.1調(diào)速原理圖此時(shí)加在電機(jī)兩端的平均電壓 Uo=Th/(Th+Tl)*VCC??梢酝ㄟ^(guò)調(diào)整的占空比,來(lái)改變 Th 和 Tl 的比值,從而改變 Uo 的大小。這樣就可以通過(guò)資源調(diào)節(jié)加在電機(jī)兩端的平均電壓,從而改變電機(jī)的轉(zhuǎn)速,最終實(shí)現(xiàn)調(diào)節(jié)小車速度的目的。另外也可以利用程序使端口產(chǎn)生波形,控制小車的速度,在此不作贅述。3.4 語(yǔ)音識(shí)別原理簡(jiǎn)介語(yǔ)音識(shí)別主要分為“訓(xùn)練”和“識(shí)別”兩個(gè)階段。在訓(xùn)練階段,單片機(jī)對(duì)到的語(yǔ)音樣本進(jìn)行分析到的語(yǔ)音樣本也進(jìn)行類處

22、理,從中提取出語(yǔ)音特息,建立一個(gè)特征模型;在識(shí)別階段,單片機(jī)對(duì)似的分析處理,提取出語(yǔ)音的特息,然后將這個(gè)特息模型與已有的特征模型進(jìn)行對(duì)比,如果二者達(dá)到了一定的匹配度,則輸入的語(yǔ)音被識(shí)別。語(yǔ)音識(shí)別的具體流程如圖3.2 所示:語(yǔ)音特征模型圖 3.2 語(yǔ)音識(shí)別流程說(shuō)明框圖10 開(kāi)始識(shí)別出語(yǔ)音指令Y返回 識(shí)別過(guò)程執(zhí)行對(duì)應(yīng)動(dòng)作獲取識(shí)別結(jié)果N初始化識(shí)別器開(kāi)始返回 中斷服務(wù)定時(shí)語(yǔ)音開(kāi)始訓(xùn)練成功 NY返回訓(xùn)練過(guò)程執(zhí)行訓(xùn)練,獲取訓(xùn)練結(jié)果初始化RAMThTl4流程4.1 主程序流程圖以配套資料中的語(yǔ)音識(shí)別程序(Car_Demo)為例,說(shuō)明語(yǔ)音識(shí)別小車的實(shí)現(xiàn)過(guò)程,圖的主程序工作流程。4.1 所示為小車開(kāi)始Y已經(jīng)訓(xùn)練

23、過(guò)N裝載語(yǔ)音模型保存訓(xùn)練結(jié)果語(yǔ)音識(shí)別與執(zhí)行重新訓(xùn)練Y圖 4.1 主程序流程圖語(yǔ)音識(shí)別小車的主程序流程如圖操作。4.1 所示,分為四大部分:初始化部分、訓(xùn)練部分、識(shí)別部分、重訓(xùn)初始化部分:初始化操作將 IOB8IOB11 設(shè)置為輸出端,用以控制電機(jī)。必要時(shí)還要有對(duì)應(yīng)的輸入端設(shè)置和端口設(shè)置等。訓(xùn)練部分:訓(xùn)練部分完成的工作就是建立語(yǔ)音模型。程序一開(kāi)始判斷小車是否被訓(xùn)練過(guò),如果沒(méi)有訓(xùn)練過(guò)則要求對(duì)其進(jìn)行訓(xùn)練,并且會(huì)在訓(xùn)練成功之后將訓(xùn)練的模型到 FLASH,在以后使用時(shí)不需要重新訓(xùn)練;如果已經(jīng)訓(xùn)練過(guò)會(huì)把在 FLASH 中的模型調(diào)出來(lái)裝載到辨識(shí)器中。識(shí)別部分:在識(shí)別環(huán)節(jié)當(dāng)中,如果辨識(shí)結(jié)果是名字,停止當(dāng)前的動(dòng)

24、作并進(jìn)入待命狀態(tài),然后等待動(dòng)作命令。如果辨識(shí)結(jié)果為動(dòng)作指令小車會(huì)語(yǔ)音告知相應(yīng)動(dòng)作并執(zhí)行該動(dòng)作,在運(yùn)動(dòng)過(guò)程中可以通過(guò)呼叫小車11 等待復(fù)位清模型區(qū)N進(jìn)入識(shí)別模式訓(xùn)練小車初始化的名字使小車停下來(lái)。重訓(xùn)操作:考慮到有重新訓(xùn)練的需求,設(shè)置了重新訓(xùn)練的按鍵(61 板的 KEY3),循環(huán)掃描該按鍵,一旦檢測(cè)到此鍵按下,則將擦除訓(xùn)練標(biāo)志位(0 xe000 單元),并等待復(fù)位。復(fù)位后,程序重新執(zhí)行,當(dāng)檢測(cè)到訓(xùn)練標(biāo)志位為 0 x f 時(shí)會(huì)要求重新對(duì)其進(jìn)行訓(xùn)練。在程序的代碼中有詳細(xì)的注釋,請(qǐng)參看資料中的例程 Car_Demo。4.2 程序中需明的幾個(gè)問(wèn)題在這個(gè)程序中有幾個(gè)地方不易理解,需要特別說(shuō)明一下:首先,小車

25、有沒(méi)有經(jīng)過(guò)訓(xùn)練是怎么知道的?在這里利用了一個(gè)特殊的 FLASH 單元,當(dāng) FLASH 在初始化以后,如果沒(méi)有進(jìn)行過(guò)寫(xiě)操作的話,那么該單元的內(nèi)容為 0 x f。(該示例程序中為 0 xe000 單元),該單元內(nèi)容在擦除后為 0 x f,在成功訓(xùn)練并單元的值來(lái)判斷是否經(jīng)過(guò)訓(xùn)練。后為 0 x0055(該值由辨識(shí)器自動(dòng)生成)。這樣就可以根據(jù)這個(gè)其次,為什么已經(jīng)訓(xùn)練過(guò)的系統(tǒng)在重新運(yùn)行時(shí)還要進(jìn)行模型裝載?在首次訓(xùn)練完成之后,辨識(shí)器中保存著訓(xùn)練的模型,但是一旦系統(tǒng)復(fù)位,辨識(shí)器中的模型就會(huì)丟失,所以在重新運(yùn)行時(shí)必須把中的語(yǔ)音模型裝載到辨識(shí)器中去。在 FLASH第三,關(guān)于語(yǔ)音的一些具體問(wèn)題,關(guān)于語(yǔ)音的一些具體問(wèn)

26、題請(qǐng)參看 SPCE061A 相關(guān)書(shū)籍中關(guān)于語(yǔ)音的詳細(xì)介紹。12 5 如何使用5.1 連接硬件1、采用普通 61 板(排針在 61 板正面)控制板的 J5 焊接 10PIN 排針,用 10PIN 排線將 61 板的 J7(IOBH)與控制板的 J5 連接,連接時(shí)注意方向。最后把喇叭接好,小車的硬件連接就完成了。2、采用特制 61 板(排針在 61 板)控制板的 J6 焊接 10PIN 排孔,然后直接將 61 板扣接在控制板上面,61 板的 J7 直接與控制板的 J6 對(duì)接。最后把喇叭接好,小車的硬件連接就完成了。5.2 代碼硬件連接完成之后,檢查無(wú)誤,接下來(lái)就可以程序了。具體的步驟為:第一步:打

27、開(kāi)集成開(kāi)發(fā)環(huán)境,打開(kāi)“Car_Demo.spj”文件,編譯。(注意:如果看不到 Car_Demo.spj,請(qǐng)?jiān)趶棾龅目蛑羞x擇打開(kāi)類型為 spj 或者所有文件)第二步:點(diǎn)擊菜單 ProjectSelect Body,或者直接點(diǎn)擊圖標(biāo)打開(kāi)如圖 5.1 所示的框:圖 5.1 Select Body框第三步:在彈出的鈕確定??蛑羞x擇 Body Name 為 SPCE060A_061A,選擇 Probe 為 Auto,點(diǎn)擊 OK 按第四步:點(diǎn)擊 IDE上的圖標(biāo),選擇 Use ICE 模式。5.3 訓(xùn)練小車成功程序以后,去掉線并復(fù)位系統(tǒng)(如果使用 EZ-Probe 還應(yīng)將Probe 選擇跳線 S5 拔去)

28、,小車就會(huì)提示對(duì)它進(jìn)行訓(xùn)練。訓(xùn)練采用應(yīng)答式訓(xùn)練,每條指令的訓(xùn)練次數(shù)為兩次,每一條命令的訓(xùn)練過(guò)程都是一樣的,以“前進(jìn)”為例說(shuō)明:步驟一:小車提示“前進(jìn)”;步驟二:告訴小車“前進(jìn)”;13 步驟三:小車提示“請(qǐng)?jiān)僬f(shuō)一遍”(重復(fù)訓(xùn)練提示音);步驟四:再次告訴小車“前進(jìn)”(重復(fù)訓(xùn)練一次)。這是一個(gè)完整的訓(xùn)練過(guò)程,如果訓(xùn)練成功,小車會(huì)自動(dòng)進(jìn)入下一條指令的訓(xùn)練,并會(huì)提示下一條指令對(duì)應(yīng)的動(dòng)作;如果沒(méi)有訓(xùn)練成功,小車會(huì)提示“說(shuō)什么暗語(yǔ)呀”或者“沒(méi)有聽(tīng)到任何聲音”等信息,這樣的話就要重復(fù)剛才所說(shuō)的四個(gè)步驟,直到成功為止。整個(gè)的訓(xùn)練過(guò)程共有 5 次這樣的訓(xùn)練,依次為:名稱前進(jìn)后退左拐右拐。整個(gè)的訓(xùn)練流程如圖5.2

29、所示:開(kāi)始訓(xùn)練名稱訓(xùn)Y前進(jìn)訓(xùn)Y訓(xùn)Y圖 5.2 小車訓(xùn)練流程5.4 聲控小車訓(xùn)練完小車之后,怎樣進(jìn)行聲控操作,讓小車運(yùn)動(dòng)或者停下來(lái)呢?可以直接對(duì)小車說(shuō)前進(jìn),或者、左拐、右拐等,小車如果識(shí)別出指令會(huì)有一個(gè)回應(yīng)信號(hào),告知你它要執(zhí)行的動(dòng)作,然后執(zhí)行該動(dòng)作。如果想要小車執(zhí)行其它動(dòng)作,直接告訴小車將要執(zhí)行動(dòng)作對(duì)應(yīng)的指令即可。比如進(jìn)時(shí)告訴小車“”,小車識(shí)別出之后就會(huì)直接。如果在小車運(yùn)動(dòng)的過(guò)程中想要小車停下來(lái),可以直接呼叫小車的名字,小車準(zhǔn)確識(shí)別之后就會(huì)停下來(lái)。5.5 重新訓(xùn)練在實(shí)際的使用過(guò)程當(dāng)中,可能會(huì)對(duì)訓(xùn)練的結(jié)果不滿意,或者其他人也想對(duì)它進(jìn)行訓(xùn)練、控制。這樣就要求小車可以被重新訓(xùn)練。為此,把 61 板的

30、KEY3 鍵定義為重新訓(xùn)練按鈕,系統(tǒng)運(yùn)行之后就會(huì)不斷的掃描 61 板的 KEY3 鍵。如果檢測(cè)到 KEY3 鍵按下,那么程序首先會(huì)把訓(xùn)練標(biāo)志位(0 xe000)單元擦除,并會(huì)進(jìn)入一個(gè)死循環(huán)等待復(fù)位的到來(lái)。復(fù)位到來(lái)之后,程序檢測(cè)到訓(xùn)練標(biāo)志單元內(nèi)容為 0 x f,認(rèn)為小車14 訓(xùn)練訓(xùn)練前訓(xùn)練名左轉(zhuǎn)訓(xùn)練成功 NY右轉(zhuǎn)訓(xùn)練成功 N Y訓(xùn)練結(jié)束訓(xùn)練成功提示指令練成功N訓(xùn)練右轉(zhuǎn)指令進(jìn)指令練成功N訓(xùn)練左轉(zhuǎn)指令稱練成功N沒(méi)有經(jīng)過(guò)訓(xùn)練,就會(huì)要求對(duì)它進(jìn)行訓(xùn)練。15 6 應(yīng)用舉例接下來(lái)將介紹幾個(gè)具體的程序?qū)嵗?,通過(guò)這些實(shí)例來(lái)說(shuō)明小車究竟是怎樣控制的,怎樣來(lái)完成前進(jìn),后退和轉(zhuǎn)彎的以及怎樣來(lái)完成速度的調(diào)節(jié)的。6.1 一

31、個(gè)簡(jiǎn)單的前進(jìn)實(shí)例通過(guò)這個(gè)簡(jiǎn)單的控制實(shí)例,將會(huì)了解到小車動(dòng)作的實(shí)現(xiàn)原理,掌握怎樣通過(guò)簡(jiǎn)單的“0”“實(shí)現(xiàn)小車的前進(jìn),后退等各種動(dòng)作。1”組合來(lái)6.1.1實(shí)例源代碼下面是該實(shí)例對(duì)應(yīng)的源代碼。6.1.2源代碼說(shuō)明程序比較簡(jiǎn)單,下面逐句說(shuō)明指令的功能。首先:#define #define #define#defineP_IOB_DataP_IOB_Dir P_IOB_Attrib(unsigned(unsigned (unsigned*)0 x7005*)0 x7007*)0 x7008*)0 x7012P_Watchdog_Clear (unsigned16 #defineP_IOB_Data(uns

32、igned *)0 x7005 #defineP_IOB_Dir (unsigned *)0 x7007 #defineP_IOB_Attrib(unsigned *)0 x7008 #defineP_Watchdog_Clear (unsigned *)0 x7012main()*P_IOB_Dir = 0 x f;*P_IOB_Attrib = 0 x f;/設(shè)置 IOB 為同相輸出*P_IOB_Data = 0 x0100;/前進(jìn) while(1)*P_Watchdog_Clear=0 x0001;/清看門(mén)狗以上是宏定義操作,在程序的開(kāi)頭對(duì)常用的單片機(jī)資源端口進(jìn)行定義,在以后的程序中就可

33、以直接引用這些宏名來(lái)代替端口地址完成端口操作。這樣做的好處:一是可讀性強(qiáng),宏名能夠直接表達(dá)出端口的含義;二是易于修改,如果需要重新分配端口,可以在宏定義部分修改,而不必在程序中逐一修改。上面定義了一些用到的硬件資源包括 IO 端口和看門(mén)狗資源。第二:*P_IOB_Dir = 0 x f;*P_IOB_Attrib = 0 x f;/設(shè)置 IOB 為同相輸出端這兩句共同完成 B 口的初始化工作,通過(guò)這兩句把 B 口初始化為同相的輸出口,以后直接通過(guò) B 口來(lái)向外輸出 0、1 電平。第三:*P_IOB_Data = 0 x0100;/前進(jìn)這是整個(gè)程序的 部分,正是通過(guò)這條指令來(lái)完成數(shù)據(jù)輸出的。執(zhí)行完這條指令以后,對(duì)應(yīng)的 B 口的 16 位數(shù)據(jù)為“0000 0001 0000 0000”,其中 B 11B 8 四位為“0001”,這樣就實(shí)現(xiàn)了小車的前進(jìn)功能(參看表 3.1),同樣還可以通過(guò)向 P_IOB_Data 寫(xiě)不同的數(shù)值來(lái)實(shí)現(xiàn)不同的功能,具體的數(shù)值請(qǐng)參照表 2.1第四:*P_Watchdog_Clear=0 x0001; /清看門(mén)狗這是一條清看門(mén)狗的操作,在實(shí)際的系統(tǒng)中,為了保證系統(tǒng)能夠穩(wěn)健的運(yùn)行,引入看門(mén)狗資源。必須

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論