




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、應用語音控制小車( 迷你型)SPCE061A 應用方案 V1.0 2005.12.09方案科技大學計劃教育推廣中心海淀上地信息產(chǎn)業(yè)FAX: 86-10-62962425中黎科技園 1 號樓 5 層: 86-10-62981668E-保留對此文件修改之權(quán)利且不另行通知。所提供之信息相信為正確且可靠之信息, 但并不保證本文件中絕無錯誤。請于向科技股份提出訂單前, 自行確定所使用之相關技術文件及規(guī)格為之版本。若因貴公司權(quán)之應用及配合時, 則使用本公司之文件或產(chǎn)品, 而涉及第三人之專利或著作權(quán)等智能應由貴公司負責取得同意及司應為保證之責任. 又,本公司僅單純販售產(chǎn)品, 上述關于同意及, 非屬本公, 本
2、公司之所有產(chǎn)品不得之正式使用于醫(yī)療器材, 維持生命系統(tǒng)及飛航等相關設備。目錄1引言22語音控制小車設計要求32.12.22.32.4功能要求3參數(shù)說明3注意事項3備注33特性簡介4SPCE061A 特性簡介4精簡開發(fā)板61 板43.13.24系統(tǒng)總體方案介紹64.14.2系統(tǒng)硬件方案6系統(tǒng)控制方案65系統(tǒng)硬件設計75.15.1.15.25.2.15.2.25.2.3車體介紹7小車的行走原理7控制板原理圖8全橋驅(qū)動原理9動力電機驅(qū)動電路10方向電機控制電路116系統(tǒng)6.16.1.16.1.26.1.36.1.46.1.56.2設計13系統(tǒng)的總體程序流程13語音識別的原理簡介14訓練子程序14語音
3、識別子程序15動作子程序16中斷子程序17程序中需明的幾個問題187結(jié)語198參考文獻20科技教育推廣中心科技推出的一款 16 位結(jié)構(gòu)的微控制器。SPCE061A 內(nèi)嵌 32K 字的閃存摘 要:SPCE061A 是(FLASH),內(nèi)置DAC,能以單實現(xiàn)少量語音的、放音;非常適合于帶有語音功能的產(chǎn)品應用。本設計充分利用了 SPCE061A 的硬件資源,發(fā)揮了這顆的語音特色。由于本身具有語音處理的諸多優(yōu)勢,所以該系統(tǒng)硬件部分結(jié)構(gòu)簡單,思路清晰。在程序方面,由于的 IDE 自帶的語音庫函數(shù)已經(jīng)有和識別的子函數(shù),所以在實際的編程過程中只需要直接調(diào)用庫函數(shù)即可,省去了很多繁瑣的算法和流程。綜合以上的諸多
4、優(yōu)點,整個系統(tǒng)結(jié)構(gòu)簡單,程序結(jié)構(gòu)清晰。是系統(tǒng)的學習和應用這顆作品。的一在小車的驅(qū)動上,采用全橋驅(qū)動技術,共利用了 4 個 I/O 口,其中兩個 I/O 口實現(xiàn)小車的前進和后退控制,另外兩個 I/O 實現(xiàn)小車的轉(zhuǎn)彎控制,小車的控制電路結(jié)構(gòu)簡單,控制安全可靠。:SPCE061A,語音識別,全橋驅(qū)動,小車1 1引言語音處理技術是一門新興的技術,它不僅包括語音的錄制和,還涉及語音的壓縮編碼和,語音的識別等各種處理技術。以往做這方面的設計,一般有兩個途徑:案是單片機擴展設計,另一種就是借助于專門的語音處理。普通的單片機往往不能實現(xiàn)這么復雜的過程和算法,即使勉強實現(xiàn)也要加很多的器件。專門的語音處理也比較多
5、,像 ISD 系列、PM50 系列等,但是專門的語音處理芯片功能比較單SPCE061A 是在語音之外的其他方面應用基本是不可能的??萍纪瞥龅囊豢?16 位nSP 結(jié)構(gòu)的微控制器。該帶有硬件乘法器,能夠?qū)崿F(xiàn)乘法運算、內(nèi)積運算等復雜的運算。它不僅運算能力強,而且處理速度快,單周期最高可以達到 49MHz。SPCE061A 內(nèi)嵌 32K 字的 FLASH 程序器以及 2K 的 SRAM。同時該 SOC具有 ADC 和 DAC 功能,10 位的電流其 MIC_ADC 通道帶有 AGC 自動增益環(huán)節(jié),能夠很輕松的將語音信號到輸出型 DAC,只要外接一個功放就可以完成聲音的。以上介紹的這些硬件資源使得該
6、SPCE061A 能夠單實現(xiàn)語音處理功能。借助于 SPCE061A 的語音特色,開發(fā)出了這款語音控制小車注。小車不僅具有前進、后退、左轉(zhuǎn)、右轉(zhuǎn)停車等基本功能;同時配合 SPCE061A 的語音特色,實現(xiàn)語音控制功能。注:科技教育推廣中心目前共推出三款語音控制小車:語音控制小車、語音控制小車(越野型)、語音控制小車(迷你型);其中語音控制小車最早推出目前已經(jīng)停產(chǎn),語音控制小車(越野型)和語音控制小車(迷你型)同時推出,二者結(jié)構(gòu)和功能相似,只是外形大小不同。該文介紹 SPCE061A 在語音控制小車(迷你型)中的應用,下文簡稱語音控制小車。2 2語音控制小車設計要求2.1功能要求語音控制小車是大學
7、計劃推出的基于 SPCE061A 的代表性產(chǎn)品,它配合 61 板推出,綜合應用了 SPCE061A 的眾多資源,打破了傳統(tǒng)教學中單片機學習枯燥和低效的現(xiàn)狀。小車采用語音識別技術,可通過語音命令對其行駛狀態(tài)進行控制。語音控制小車的主要功能:1 可以通過簡單的 I/O 操作實現(xiàn)小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)功能;配合 SPCE061A 的語音特色,利用系統(tǒng)的語音可以在行走過程中聲控改變小車運動狀態(tài);在超出語音控制范圍時能夠自動停車。和語音識別資源,實現(xiàn)語音控制的功能;2.2參數(shù)說明車體:雙電機兩輪驅(qū)動供電:電池(三節(jié) AA:1.5V3)工作電壓:DC 4V6V工作電流:運動時約 200mA尺寸:15
8、5mm85mm35mm(長寬高)(如果加上 61 板高再加 15mm)2.3注意事項一定要注意電池的正負極性,切勿裝反;長期不用請將電池取出電池盒;由于語音信號的不確定性,語音識別的過程會出現(xiàn)一定的誤差和確性;4 由于小車行動比較靈活,速度比較快,在使用時一定要注意保持場地足夠大,且保證不會對周圍的物體造成;5 不要讓小車長時間運行在堵轉(zhuǎn)狀態(tài)(堵轉(zhuǎn)狀態(tài):由于小車所受阻力過大,造成小車電機加電但并不轉(zhuǎn)動的現(xiàn)象),這樣會造成很大的堵轉(zhuǎn)電流,有可能會損壞小車的控制電路。2.4備注可以自行添加各種傳感器,實現(xiàn)避障、循跡、等功能。3 3特性簡介3.1SPCE061A 特性簡介SPCE061A 是科技研發(fā)
9、生產(chǎn)的性價比很高的一款十六位單片機,使用它可以非常方便靈活的實現(xiàn)語音的錄放,該擁有 8 路 10 位精度的 ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動增益電路。這為實現(xiàn)語音錄入提供了方便的硬件條件。10 位精度的 DAC,只需要外接功放(SPY0030A)即可完成語音的。另外十六位單片機具有一套易學易用的指令系統(tǒng)和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標準 C 語言編程,也支持 C 語言與匯編語言的互相調(diào)用。另外還提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就可以很容易的完成語音的錄放、識別等功能,這些都為SPCE061A 特性:開發(fā)提供了方便的條件。16 位nSP 微處理器;工作電壓:內(nèi)核工
10、作電壓 VDD 為 3.0V3.6V(CPU),I/O 口工作電壓 VDDH 為 VDD5.5V(I/O); CPU 時鐘:0.32MHz49.152MHz;內(nèi)置 2K 字 SRAM; 內(nèi)置 32K 閃存 ROM;可編程音頻處理;晶體振蕩器;系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電小于 HYPERLINK mailto:2A3.6V 2A3.6V; 2 個 16 位可編程定時器/計數(shù)器(可自動預置初始計數(shù)值);2 個 10 位 DAC(數(shù)-模轉(zhuǎn)換)輸出通道;32 位通用可編程輸入/輸出端口;14 個中斷源可來自定時器 A / B,時基,2 個外部時鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用
11、音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語音數(shù)據(jù);鎖相環(huán) PLL 振蕩器提供系統(tǒng)時鐘信號;32768Hz 實時時鐘;7 通道 10 位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風放大器和自動增益控制(AGC)功能;具備串行設備接口;低電壓復位(LVR)功和低電壓監(jiān)測(LVD)功能;內(nèi)置仿真板(ICE,In- Circuit Emulator)接口。3.2精簡開發(fā)板61 板“61 板”是 SPCE061A EMU BOARD 的簡稱,是以16 位單片機 SPCE061A 為的精簡開發(fā)仿真實驗板,大小相當于一張牌。 “6
12、1 板”除了具備單片機最小系統(tǒng)電路外,還包括有電源電路、復位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等,“61 板”可以采用電池供電。圖 3-1 所示為該精簡開發(fā)板的實物圖。4 圖 3-1 61 板實物圖5 4系統(tǒng)總體方案介紹4.1系統(tǒng)硬件方案系統(tǒng)的結(jié)構(gòu)框圖如圖 4-1 示。61板控制板方向控制橋路SPCE061A驅(qū)動控制橋路圖 4-1 系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)組成主要包括以下兩部分:SPCE061A 精簡開發(fā)板、語音小車控制電路板。圖中的語音輸入部分 MIC_ IN、按鍵輸入 KEY、聲音輸出部分的功率放大環(huán)節(jié)等已經(jīng)做到了精簡開發(fā)板61 板上,為使用提供了很大的方
13、便。在電機的驅(qū)動方面,采用全橋驅(qū)動技術,利用四個 I/O 端口分為兩組分別實現(xiàn)兩個電機的正傳、反轉(zhuǎn)和停三態(tài)運行。4.2系統(tǒng)控制方案小車的運動控制采用語音控制和中斷定時控制相結(jié)合,通過語音觸發(fā)小車動作,小車動作之后,隨時可以通過語音指令改變小車的運動狀態(tài)。在每一次動作觸發(fā)的同時啟動定時器,如果小車由于某些原因不能正常的接收語音指令,則只要定時時間到,中斷服務程序會發(fā)出指令讓小車停下來。詳細的控制過程請參看第 6 節(jié)程序設計部分。6 驅(qū)動電機方向電機SPK功放濾波KEYMIC5系統(tǒng)硬件設計系統(tǒng)的硬件方面,由于大部分的功能實現(xiàn)都是在 61 板上完成的,只有電機控制部分電路另外設計在一塊獨立的電路板上
14、,和功能實現(xiàn)。稱之為控制板。下面詳細的介紹小車的結(jié)構(gòu)和運行原理以及控制電路板的結(jié)構(gòu)5.1車體介紹語音控制小車為四輪結(jié)構(gòu),如圖 5-1 所示。其中前面兩個車輪由前輪電機控制,在連桿和支點作用下控制前輪左右擺動,來調(diào)節(jié)小車的前進方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個車輪由后輪電機驅(qū)動,為整個小車提供動力。所以又稱前面的為方向輪,后面的兩個為驅(qū)動輪,如圖5-2 所示。后輪前輪前輪驅(qū)動電機后輪驅(qū)動電機圖 5-1 車體側(cè)視圖圖 5-2 車體頂視圖5.1.1小車的行走原理直走:由小車的結(jié)構(gòu)分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這是只要后輪電機正轉(zhuǎn)小車就會前進。如圖 5-3
15、所示;:動作和前進動作剛好相反,前輪電機仍然保持中間狀態(tài),后輪電機反轉(zhuǎn),小車就會向后運動,如圖 5-4 所示;左轉(zhuǎn):前輪電機逆時針旋轉(zhuǎn)(規(guī)定為正轉(zhuǎn)),后輪電機正轉(zhuǎn),這時小車就會側(cè)前進,如圖 5-5 所示;后輪共同作用下朝左右轉(zhuǎn):前輪電機反轉(zhuǎn),后輪電機正轉(zhuǎn),這時小車就是會示。后輪共同作用下朝右側(cè)前進,如圖 5-6 所7 圖 5-3 小車前進原理圖圖 5-4 小車示意圖圖 5-5 小車左轉(zhuǎn)示意圖圖 5-6 小車右轉(zhuǎn)示意圖5.2控制板原理圖控制板主要包括:接口電路、電源電路和電機的驅(qū)動電路,控制板原理圖如圖 5-7 所示。接口電路:接口電路負責將 61 板的 I/O 接口信號傳送給控制電路板,I/O
16、 信號主要為控制電機需要的 IOB8IOB11 這四路信號,同時為了方便后續(xù)的開發(fā)和完善,預留了 IOB12IOB15 以及 IOA8IOA15 接口,可以在這些接口上添加一些傳感器。電源部分:整個小車有 4 個電源信號:電池電源,控制板工作電源,61 板工作電源,61 板的 I/O 輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電 VCC,然后經(jīng)二極管 D1 后產(chǎn)生 61 板電源VCC_618 (D1 主要是防止電源接反,可以省略用導線代替),通過 61 板的 Vio 跳線產(chǎn)生 61 板的端口電源(V1)。VCCJ1VCCVCC_61 J2D11212Q1 PNP8550Q3 PNP85
17、50R1 200J3Q5 R3 IOB9 2KNPN8050IN4007R2200CON2CON212V1V1J5J6Q6 R4 IOB8 2KNPN8050CON2Q2NPN8050Q4 NPN8050IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 IOB14 IOB15 IOB8 IOB9 IOB10 IOB11 IOB12 IOB13 IOB14 IOB15 VCCCON10CON10V1V1Q7 PNP8550Q9 PNP8550R5200J7J8CON2Q11R7IOB10 2KR6200IOA8 IOA9 IOA10 IOA11 IOA12 IOA13 IOA1
18、4 IOA15 IOA8 IOA9 IOA10 IOA11 IOA12 IOA13 IOA14 IOA15 21NPN8050Q12 R8 IOB11 2KNPN8050J4Q8NPN8050Q10 NPN8050CON10CON10圖 5-7 控制板原理圖5.2.1全橋驅(qū)動原理全橋驅(qū)動又稱 H 橋驅(qū)動,下面介紹一下 H 橋的工作原理:H 橋一共有四個臂,分別為 B1B4,每個臂由一個開關控制,示例中為三極管 Q1Q4。如果讓 Q1、Q2 導通 Q3、Q4 關斷,如圖電機正轉(zhuǎn)。5-8 所示,此時電流將會流經(jīng) Q1、負載、Q2 組成的回路,B1 Q1B3 Q3B1 Q1B3 Q3MMLoadLo
19、adB4 Q4B2 Q2B4 Q4B2 Q2圖 5-8 B1、B2 工作時的 H 橋電路簡圖圖 5-9 B3、B4 工作時的 H 橋電路簡圖5-9 所示,此時電流將會流經(jīng) Q3、負載、Q4 組成的回路,如果讓 Q1、Q2 關斷 Q3、Q4 導通,如圖電機反轉(zhuǎn)。9 12345678910123456789101234567891012345678910如果讓 Q1、Q2 關斷 Q3、Q4 也關斷,負載 Load 兩端懸空,如圖 5-10 所示,此時電機停轉(zhuǎn)。這樣就實現(xiàn)了電機的正轉(zhuǎn)、反轉(zhuǎn)、停止三態(tài)控制。如果讓 Q1、Q2 導通 Q3、Q4 也導通,那么電流將會流經(jīng) Q1、Q4 組成的回路以及 Q2
20、 和 Q3 組成的回路,如圖 5-11 所示,這時橋臂上會出現(xiàn)很大的短路電流。在實際應用時注意避免出現(xiàn)橋臂短路的情況,這會給電路帶來很大的危害,嚴重的會燒毀電路。B1 Q1B3 Q3B1 Q1B3 Q3MMLoadLoadB4 Q4B2 Q2B4 Q4B2 Q2圖 5-11 B1B4 全部工作時的 H 橋簡圖圖 5-10 B1B4 全部停止工作時的 H 橋簡圖5.2.2動力電機驅(qū)動電路動力驅(qū)動由后輪驅(qū)動實現(xiàn),負責小車的直線方向運動,包括前進和后退,后輪驅(qū)動電路是一個全橋驅(qū)動電路,如圖 5-12 所示:Q1、Q2、Q3、Q4 四個三極管組成四個橋臂,Q1 和 Q4 組成一組,Q2 和 Q3 組成
21、一組,Q5 控制 Q2、Q3 的導通與關斷,Q6 控制 Q1 和 Q4 的導通與關斷,而 Q5、Q6 由 IOB9 和 IOB8控制,這樣就可以通過 IOB8 和 IOB9 控制四個橋臂的導通與關斷控制后輪電機的運行狀態(tài),轉(zhuǎn)或者停轉(zhuǎn),進而控制小車的前進和后退。轉(zhuǎn)反VCCQ1 PNP8550Q3R1 200PNP8550J3Q5 R3 IOB9 R22002K12NPN8050Q6 R4 IOB8 CON2Q22KNPN8050Q4NPN8050NPN8050圖 5-12 后輪電機驅(qū)動電路、IOB9 為低電平時 Q1 和 Q4 導通,Q2 和 Q3 截止,后輪電機正轉(zhuǎn),小車前進;反當 IOB8
22、為之當 IOB8 為低電平、IOB9 為時 Q1 和 Q4 截止,Q2 和 Q3 導通,后輪電機反轉(zhuǎn),小車;而當IOB8、IOB9 同為低電平時 Q1、Q2、Q3 和 Q4 都截止,后輪電機停轉(zhuǎn),小車停止運動。注意:IOB8 和 IOB9 不能同時置,這樣會造成后輪驅(qū)動全橋短路現(xiàn)象。10 5.2.3方向電機控制電路方向控制由前輪驅(qū)動實現(xiàn),包括左轉(zhuǎn)和右轉(zhuǎn),前輪驅(qū)動電路也是一個全橋驅(qū)動電路,如圖 5-12 所示: Q7、Q8、Q9、Q10 四個三極管組成四個橋臂,Q7 和 Q10 組成一組,Q8 和 Q9 組成一組,Q11 控制 Q8、 Q9 的導通與關斷,Q12 控制 Q7 和 Q10 的導通與
23、關斷,而 Q11、Q12 由 IOB10 和 IOB11 控制,這樣就可以通過 IOB10 和 IOB11 控制前輪電機的正轉(zhuǎn)和反轉(zhuǎn),進而控制小車的左轉(zhuǎn)和右轉(zhuǎn)。VCCQ7 PNP8550Q9R5PNP8550200CON2Q11R7IOB10 R62002K21NPN8050Q12 R8 IOB11 J4Q82KNPN8050Q10 NPN8050NPN8050圖 5-13 前輪電機驅(qū)動電路、IOB11 為低電平時 Q8 和 Q9 導通,Q7 和 Q10 截止,前輪電機正轉(zhuǎn),小車前輪朝當 IOB10 為轉(zhuǎn);反之當 IOB10 為低電平、IOB11 為時 Q8 和 Q9 截止,Q7 和 Q10
24、導通,前輪電機反轉(zhuǎn),小車前輪朝右偏轉(zhuǎn);而當 IOB10、IOB11 同為低電平時 Q8 和 Q9 截止,Q7 和 Q10 也截止,前輪電機停轉(zhuǎn),在彈簧作用下前輪被拉回到中間位置,保持直向。注意:IOB10、IOB11 不能同時為,這樣會造成前輪驅(qū)動全橋的橋臂短路。結(jié)合以上對前輪和后輪的狀態(tài)分析,得到小車的運行狀態(tài)與輸入的對照表,如下表所示:表 5.1 基本的輸入與小車運動狀態(tài)對照表另外還有一些不常用的運行狀態(tài),比如右后轉(zhuǎn)、左后轉(zhuǎn)等,結(jié)合以上對前輪和后輪的狀態(tài)分析,其端口對照如表 5.2 所示:表 5.2 輸入與小車的運動狀態(tài)對照表注意:為了小車的安全請不要出現(xiàn)以下兩種組合情況:表 5.3的輸入
25、狀態(tài)列表11 IOB11IOB10IOB9IOB8后電機前電機小車0110反轉(zhuǎn)正轉(zhuǎn)右后轉(zhuǎn)1010反轉(zhuǎn)反轉(zhuǎn)左后轉(zhuǎn)IOB11IOB10IOB9IOB8后電機前電機小車0000停轉(zhuǎn)停轉(zhuǎn)停0001正轉(zhuǎn)停轉(zhuǎn)前進0010反轉(zhuǎn)停轉(zhuǎn)0101正轉(zhuǎn)正轉(zhuǎn)左前轉(zhuǎn)1001正轉(zhuǎn)反轉(zhuǎn)右前轉(zhuǎn)12 IOB11IOB10IOB9IOB8后電機前電機小車*11停轉(zhuǎn)*停11*停轉(zhuǎn)停6系統(tǒng)設計6.1系統(tǒng)的總體程序流程系統(tǒng)的總體程序流6-1 所示:開始Y已經(jīng)訓練過N裝載語音模型保存訓練結(jié)果語音識別與執(zhí)行重新訓練Y圖 6-1 系統(tǒng)總體程序流程圖6-1 所示,分為四大部分:初始化部分、訓練部分、識別部分、重訓語音識別小車的主程序流操作。初始
26、化部分:初始化操作將 IOB8IOB11 設置為輸出端,用以控制電機。必要時還要有對應的輸入端設置和端口設置等。訓練部分:訓練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓練過,如果沒有訓練過則要求對其進行訓練,并且會在訓練成功之后將訓練的模型到 Flash,在以后使用時不需要重新訓練;如果已經(jīng)訓練過會把在 Flash 中的模型調(diào)出來裝載到辨識器中。識別部分:在識別環(huán)節(jié)當中,如果辨識結(jié)果是名字,停止當前的動作并進入待命狀態(tài),然后等待動作命令。如果辨識結(jié)果為動作指令小車會語音告知相應動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車13 等待復位清模型區(qū)N進入識別模式訓練小車初始化的名字
27、使小車停下來。重訓操作:考慮到有重新訓練的需求,設置了重新訓練的按鍵(61 板的 KEY3),循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓練標志位(0 xe000 單元),并等待復位。復位后,程序重新執(zhí)行,當檢測到訓練標志位為 0 x f 時會要求重新對其進行訓練。下面詳細介紹以上提到的子程序。6.1.1語音識別的原理簡介在介紹子程序之前首先介紹一下語音識別的原理。語音識別主要分為“訓練”和“識別”兩個階段。在訓練階段,單片機對到的語音樣本進行分析到的語音樣本也進行類處理,從中提取出語音特息,建立一個特征模型;在識別階段,單片機對似的分析處理,提取出語音的特息,然后將這個特息模型與已有的特征
28、模型進行對比,如果二者達到了一定的匹配度,則輸入的語音被識別。語音識別的具體流6-2 所示:語音特征模型圖 6-2 語音識別流程說明框圖6.1.2訓練子程序當程序檢測到訓練標志位 BS_Flag 內(nèi)容為 0 xf,就會要求操作者對它進行訓練操作,訓練操作的過 6-3 所示:訓練采用兩次訓練獲取結(jié)果的方式,以訓練名字為例:小車首先會提示:給我取個名字吧,這時你可以告訴它一個名字(比如 Jack);然后它會提示:請再說一遍,這時再次告訴它名字(Jack),如果兩次差別不大,小車就能夠成功的建立模型,名稱訓練成功;如果沒能夠成功的建立模型,小14 開始識別出N語音指令Y返回 識別過程執(zhí)行對應動作獲取
29、識別結(jié)果初始化識別器開始返回 中斷服務定時語音開始訓練成功 N Y返回訓練過程執(zhí)行訓練,獲取訓練結(jié)果初始化RAM車會告知失敗的原因并要求重新訓練。成功訓練名稱后會給出下一條待訓練指令提示音:前進,參照名稱訓練方式訓練前進指令。依次訓練小車的名稱前進指令功子程序返回,訓練結(jié)束。指令左轉(zhuǎn)指令右轉(zhuǎn)指令,全部訓練成開始訓練名稱訓Y前進訓Y訓Y圖 6-3 訓練流程圖下面是訓練部分的子程序,在訓練時如果訓練不成功 TrainWord()返回值不為 0,要求重復訓練,只有當訓練成功,TrainWord()返回 0,進行下一條指令訓練。6.1.3語音識別子程序6-4 所示:首先獲取辨識器的辨識結(jié)果,判斷是否有
30、語音觸發(fā),如果有語音觸發(fā)則語音識別流會返回識別結(jié)果的 ID 號,ID 號對稱或者對應不同的動作。如果 ID 號為名稱,則結(jié)束運動(如果當前在運動狀態(tài)),進入待命狀態(tài),等待下一次的指令觸發(fā);如果 ID 號為動作,則語音告知將要執(zhí)行的動作,并執(zhí)行該動作。15 void TrainSD()while(TrainWord(NAME_ID,S_NAME) != 0) ; /訓練名稱 while(TrainWord(D_GO_ID,S_ACT1) != 0) ; /訓練第 1 個動作 while(TrainWord(D_BACK_ID,S_ACT2) != 0) ; /訓練第 2 個動作 while(Tr
31、ainWord( D_LEFT_ID,S_ACT3) != 0) ;/訓練第 3 個動作 while(TrainWord(D_RIGHT_ID,S_ACT4) != 0) ; /訓練第 4 個動作訓練訓練前訓練名左轉(zhuǎn)訓練成功 NY右轉(zhuǎn)訓練成功 N Y訓練結(jié)束訓練成功提示指令練成功N訓練右轉(zhuǎn)指令進指令練成功N訓練左轉(zhuǎn)指令稱練成功N語音識別N語音觸發(fā)?Switch(Res)Y左轉(zhuǎn)右轉(zhuǎn)停車待命返回圖 6-4 語音識別部分流程圖6.1.4動作子程序動作子程序包括:前進、左拐、右拐、停車子程序;前進:由小車的結(jié)構(gòu)原理和驅(qū)動電路分析知:只要 IOB8 為,IOB9,IOB10,IOB11 全部為低電平即可
32、實現(xiàn)小車的前進。前進子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下:由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:只要 IOB9 為,IOB8,IOB10,IOB11 全部為低電平即可實現(xiàn)小車的。子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,程序如下:16 void BackUp()/PlaySnd(S_ACT2,3);/語音提示*P_IOB_Data=0 x0200;/*P_Mask |= 0 x0004;/開 2Hz 中斷 asm(fiq,irq);uiTimecont = 0;/清定時器void GoAhead()/前進PlaySnd(S_ACT1,3);/語音提示*P_IOB
33、_Data=0 x0100;/前進*P_Mask |= 0 x0004;/開 2Hz 中斷 asm(fiq,irq);uiTimecont = 0;/清定時器前進左轉(zhuǎn)指令指令前進指令名字?右轉(zhuǎn)指令左轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車左轉(zhuǎn)需要兩個條件:1.前輪2.后輪前進,這時對應的 I/O 狀態(tài)為:IOB8、IOB10 為,IOB9、IOB11 為低電平。左轉(zhuǎn)子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下:注:在左轉(zhuǎn)之前首先讓前輪右偏,然后再讓前輪朝也最大,能更好實現(xiàn)轉(zhuǎn)彎。,這樣前輪的擺動范圍更大,慣性更大,擺幅右轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車右轉(zhuǎn)需
34、要兩個條件:1.前輪右偏 2.后輪前進,這時對應的 I/O 狀態(tài)為:IOB8、IOB11 為,IOB9、IOB10 為低電平。右轉(zhuǎn)子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下:注:在右轉(zhuǎn)之前首先讓前輪也最大,能更好實現(xiàn)轉(zhuǎn)彎。,然后再讓前輪朝右偏,這樣前輪的擺動范圍更大,慣性更大,擺幅6.1.5中斷子程序雖然已經(jīng)有了前進、后退以及停車(通過直接呼叫小車的名字使其停車)等語音控制指令,但是考慮環(huán)境的干擾,小車運行時的噪音影響和有效距離的限制,小車運行后可能接收不到語音指令而一直運行。為了防止出現(xiàn)這種情況,加入了時間控制,在啟動小車運行的同時啟動定時器,定時器時間到停止小車的運行,該定時器借助于 2Hz 時基中斷完成,圖 6-5 所示為該程序的流程圖??梢栽诔绦蛑行薷?uiTimeset參數(shù)來控制運行時間,當 uiTimeset=2 時,運行時間為 1s,以此類推。17 void TurnLeft()/左轉(zhuǎn)PlaySnd(S_GJG,3);/提示音*P_IOB_Data=0 x0500;/前輪Delay();/延時*P_IOB_Data=0 x0900;/前輪右偏*P_Mask |= 0 x0004;/打開 2Hz 中斷 asm(fiq,irq);/允許總中斷uiTimeco
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年稅務師備考必避坑試題及答案
- 數(shù)據(jù)分析的實際技巧 試題及答案解析
- 食品安全課程復習試題及答案
- 2025企業(yè)租賃合同標準版
- 2025中介服務傭金合同范本
- 2025年高考考前信息必刷卷02英語(新高考I卷)解析版
- 2025停車場承包協(xié)議合同書
- 生育補貼政策落地方案
- 2025專項許可經(jīng)營合同
- 低空經(jīng)濟政策紅利與產(chǎn)業(yè)機遇透析
- 《碳排放管理師》(高級)培訓考試模擬題及答案
- 2024年重慶市高考歷史試卷(含答案)
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設計規(guī)范(正式版)
- 湖南省張家界市慈利縣2023-2024學年八年級下學期期中考試物理試題
- 金屬非金屬地下礦山監(jiān)測監(jiān)控系統(tǒng)建設規(guī)范
- 2024年蘇州市軌道交通集團有限公司招聘筆試參考題庫附帶答案詳解
- 新概念英語第2冊課文(完整版)
- 水培吊蘭的養(yǎng)殖方法要領
- 動物的遷徙行為與地球生態(tài)系統(tǒng)
- 【小學心理健康教育分析國內(nèi)外文獻綜述4100字】
- 2025年日歷日程表含農(nóng)歷可打印
評論
0/150
提交評論