版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 題 目 語音識別機(jī)器人的設(shè)計(jì) </p><p> 系 部 電子信息工程 </p><p> 專 業(yè) 電子信息工程
2、 年級 06級 </p><p> 學(xué)生姓名 </p><p> 學(xué) 號 </p><p> 指導(dǎo)教師 </p><p&g
3、t; 語音識別機(jī)器人的設(shè)計(jì)</p><p> 【摘 要】 語音識別可劃分為訓(xùn)練和識別兩個過程。在第一階段,語音識別系統(tǒng)對人類的語言進(jìn)行學(xué)習(xí),把學(xué)習(xí)內(nèi)容組成語音庫存儲起來,在第二階段就可以把當(dāng)前輸入的語音在語音庫中查找相應(yīng)的詞義或語義。凌陽16位SPCE061A單片機(jī)內(nèi)嵌32K字閃存,2K字SRAM,內(nèi)置10位ADC、DAC,有多達(dá)14個的中斷源。它的CPU內(nèi)核采用16位具有DSP功能的微處理器芯片, 而且C
4、PU可最高工作在49MHz的主頻下,能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號,因此與其他類型的單片機(jī)相比,在數(shù)字語音處理方面SPCE061A更具有優(yōu)勢?;赟PCE061A設(shè)計(jì)了一個具有語音識別功能的機(jī)器人。經(jīng)過訓(xùn)練,訓(xùn)練人可使用各種命令讓機(jī)器人完成許多有趣的動作,使得人機(jī)交互更具智能化。</p><p> 【關(guān)鍵詞】SPCE061A單片機(jī) 語音識別 機(jī)器人</p><p> Th
5、e Design of the Speech Recognition Robot</p><p> 【Abstract】 The speech recognition is divided into two stages, namely, training and recognition. At the first stage, the speech recognition system learns abo
6、ut the human language and stores what it has learned in a speech database. Then at the next stage, the meaning of each inputted speech can immediately be found in the speech database. Sunplus 16-bit SPCE061ASCM is embedd
7、ed with 32K word Flash and 2K word SRAM, with built-in 10-bit ADC and DAC as well as more than 14 interrupt sources. The co</p><p> 【Key words】SPCE061A SCM Speech Recognition Robot</p><p>&
8、lt;b> 目 錄</b></p><p><b> 緒論1</b></p><p> 1 SPCE061A單片機(jī)1</p><p> 1.1 SPCE061A簡介1</p><p> 1.2 芯片特性1</p><p> 1.3 SPCE061A精簡開發(fā)板
9、2</p><p> 2 所用語音算法2</p><p> 2.1語音識別算法2</p><p> 2.1.1 語音識別概述2</p><p> 2.1.2 語音識別原理2</p><p> 2.1.3 SPCE061A實(shí)現(xiàn)語音識別的步驟3</p><p> 2.2 凌陽
10、音頻概述4</p><p> 2.2.1音頻壓縮編碼4</p><p> 2.2.2 凌陽語音的播放、錄制、合成和辨識5</p><p> 2.2.3 常用的應(yīng)用程序接口API的功能及應(yīng)用5</p><p> 3 系統(tǒng)總體設(shè)計(jì)方案8</p><p> 4 系統(tǒng)的硬件設(shè)計(jì)9</p>&
11、lt;p> 4.1 SPCE061A最小系統(tǒng)9</p><p> 4.2 SPCE061A的時鐘10</p><p> 4.2.1 時鐘電路10</p><p> 4.2.2 鎖相環(huán)10</p><p> 4.2.3 系統(tǒng)時鐘11</p><p> 4.3 電源模塊13</p>
12、<p> 4.4 語音錄放13</p><p> 4.4.1 錄音13</p><p> 4.4.2 放音14</p><p> 4.5 機(jī)器人硬件驅(qū)動電路14</p><p> 5 系統(tǒng)軟件設(shè)計(jì)15</p><p> 5.1 擦除FLASH模塊16</p><
13、p> 5.2 位操作模塊17</p><p> 5.3 語音播放函數(shù)17</p><p><b> 參考文獻(xiàn)20</b></p><p><b> 附錄21</b></p><p><b> 致 謝22</b></p><p>
14、<b> 緒論 </b></p><p> 目前制造業(yè)市場上,工業(yè)機(jī)器人具有相當(dāng)大的市場潛力,要使工業(yè)機(jī)器人真正應(yīng)用于生產(chǎn)線上的各個方面,滿足人們?nèi)找嬖鲩L的需求,就離不開高性能的語音識別控制系統(tǒng)。隨著計(jì)算機(jī)軟硬件技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)、通訊技術(shù)等的飛速發(fā)展人類已經(jīng)進(jìn)入后PC時代。 語音識別技術(shù)得到了迅猛發(fā)展, 支持語音識別的各種產(chǎn)品紛紛面世。人類實(shí)現(xiàn)了語音命令控制空調(diào)、電視、燈光、自
15、動窗簾等的使用,讓人們的生活“隨音所欲”,更加舒適,更加便捷?;诹桕?6位SPCE061A單片機(jī)設(shè)計(jì)了一個具有語音識別功能的機(jī)器人。在經(jīng)過訓(xùn)練后使機(jī)器人對訓(xùn)練人的命令做出應(yīng)答,完成跳兩首舞曲、走步、轉(zhuǎn)向、轉(zhuǎn)頭、發(fā)射飛盤等動作。</p><p> 1 SPCE061A單片機(jī)</p><p> 本系統(tǒng)采用凌陽16位SPCE061A單片機(jī)作為控制中心,對輸入的語音指令進(jìn)行識別和處理,從而驅(qū)
16、動機(jī)器人不同部位的直流電機(jī),做出前進(jìn)、后退、左傳、右轉(zhuǎn)等不同動作。</p><p> 1.1 SPCE061A簡介</p><p> SPCE061A是凌陽科技研發(fā)生產(chǎn)的性價比很高的一款16位單片機(jī),使用它可以非常方便靈活的實(shí)現(xiàn)語音的錄放系統(tǒng),該芯片擁有八路10位精度的ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動增益電路,用于錄音。兩路10精度DAC,只需外接功放(SPY0030A)
17、即可完成放音。凌陽16位單片機(jī)所擁的一套指令系統(tǒng)和集成開發(fā)環(huán)境具有易學(xué)易用、效率高等特點(diǎn)。在集成開發(fā)環(huán)境中,支持標(biāo)準(zhǔn)C語言編程,并可以實(shí)現(xiàn)C語言與凌陽匯編語言的相互調(diào)用,語音的錄放只需調(diào)用相應(yīng)的庫函數(shù)就可實(shí)現(xiàn)。 </p><p> SPCE061A片內(nèi)還集成了一個ICE(在線仿真電路)接口,使得對芯片的編程和仿真變得非常方便,而且ICE接口不占用芯片上的硬件資源,結(jié)合凌陽科技提供的集成開發(fā)環(huán)境(unSP IDE
18、)可以對芯片進(jìn)行仿真;而程序的下載(燒寫)也是通過該接口進(jìn)行下載。</p><p><b> 1.2 芯片特性</b></p><p> SPCE061A 性能簡介[1]:</p><p> ?。?) 16位微處理器</p><p> ?。?) 工作電壓(CPU)VDD 為3.0~3.6V,(I/O)VDDH 為3
19、.0~5.5V</p><p> ?。?) CPU 時鐘:0.32~49.152MHz</p><p> ?。?) 內(nèi)置2K字SRAM</p><p> (5) 內(nèi)置32K字FLASH</p><p> ?。?) 可編程音頻處理</p><p><b> ?。?) 晶體振蕩器</b></p
20、><p> ?。?) 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)顟B(tài)),耗電僅為2uA/3.6V</p><p> ?。?) 2個16 位可編程定時器/計(jì)數(shù)器(可自動預(yù)置初始計(jì)數(shù)值)</p><p> (10) 2個10 位 DAC(數(shù)/模轉(zhuǎn)換)輸出通道</p><p> ?。?1) 32位通用可編程輸入/輸出通道</p><p>
21、; ?。?2) 14個中斷源可來自定時器 A/B、時基、2個外部時鐘源輸入和鍵喚醒</p><p> ?。?3) 具備鍵喚醒的功能</p><p> ?。?4) 使用凌陽音頻編碼SACM_S480可以播放壓縮的語音資源</p><p> ?。?5) 鎖相環(huán)PLL振蕩器提供系統(tǒng)時鐘信號</p><p> (16) 32768Hz實(shí)時時鐘<
22、;/p><p> (17) 7通道10位電壓模/數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模/數(shù)轉(zhuǎn)換器</p><p> ?。?8) 聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器,并具有自動增益控制(AGC)功能</p><p> ?。?9) 具備串行設(shè)備接口(SIO)</p><p> ?。?0) 具備低電壓復(fù)位(LVR)功能和低電壓檢測(LVD)功能<
23、;/p><p> ?。?1) 內(nèi)置ICE(在線仿真電路)接口</p><p> ?。?2) 具有 WatchDog 功能</p><p> 1.3 SPCE061A精簡開發(fā)板</p><p> SPCE061A精簡開發(fā)板(簡稱61板),是以凌陽16位SPCE061A單片機(jī)為核心的精簡開發(fā)、仿真實(shí)驗(yàn)板。61板除了具備單片機(jī)最小系統(tǒng)電路外,還包括
24、電源電路、音頻電路(含MIC輸入部分和DAC音頻輸出部分)、復(fù)位電路等。</p><p> 61板上有調(diào)試器接口(Probe接口)以及下載線接口(EZ_Probe接口),分別可接凌陽科技的在線調(diào)試器、簡易下載器。實(shí)現(xiàn)程序的下載、在線仿真調(diào)試只需配合unSP IDE使用。</p><p><b> 2 所用語音算法</b></p><p>&
25、lt;b> 2.1語音識別算法</b></p><p> 2.1.1 語音識別概述</p><p> 根據(jù)對說話人的依賴程度,分為:</p><p> ?。?) 特定人語音識別(SD):只能辨認(rèn)特定使用者的語音,訓(xùn)練→使用。</p><p> ?。?) 非特定人語音識別(SI):可辨認(rèn)任何人的語音,無須訓(xùn)練。</
26、p><p> 根據(jù)對說話方式的要求,分為:</p><p> (1) 孤立詞識別:每次只能識別單個詞匯。</p><p> ?。?) 連續(xù)語音識別:用者以正常語速說話,即可識別其中的語句。 </p><p> 2.1.2 語音識別原理</p><p> 特征提取,抽取反應(yīng)語音本質(zhì)的特征參數(shù),形成特征矢量序列。<
27、;/p><p> 語音模型庫,從一個或多個講話者多次重復(fù)講話中提取的語音參數(shù)模板。</p><p> 匹配檢測,把輸入語音的特征參數(shù)與語音模型庫進(jìn)行比較分析,得到識別結(jié)果。</p><p> 語音識別原理參看圖 2-1,如下:</p><p> 圖 2-1 語音識別原理</p><p> 2.1.3 SPCE06
28、1A實(shí)現(xiàn)語音識別的步驟</p><p> SPCE061A實(shí)現(xiàn)語音識別的步驟,分為訓(xùn)練部分與識別部分,以及在訓(xùn)練、識別過程中</p><p> 中斷的情況,參看圖 2-2,如下:</p><p> 圖 2-2 SPCE061A實(shí)現(xiàn)語音識別</p><p> 2.2 凌陽音頻概述</p><p> 我們所說的音
29、頻是指頻率在20Hz~20KHz的聲音信號,分為:波形聲音、語音和音樂三種,其中波形聲音就是自然界中所有的聲音,是聲音數(shù)字化的基礎(chǔ)。語音也可以表示為波形聲音,但波形聲音表示不出語言、語音學(xué)的內(nèi)涵。語音是對講話聲音的一次抽象,是語言的載體,是人類社會特有的一種信息系統(tǒng),是社會交際工具的符號。音樂與語音相對更規(guī)范一些,是符號化了的聲音。但音樂不能對所有的聲音進(jìn)行符號化。為了讓數(shù)字計(jì)算機(jī)更加便利處理音頻信號,需要將模擬的(連續(xù)的)聲音波形數(shù)字
30、化(離散化),該過程主要包括采樣和量化兩個方面。數(shù)字音頻的質(zhì)量取決于:采樣頻率和量化位數(shù)這兩個重要參數(shù)。此外,聲道的數(shù)目、相應(yīng)的音頻設(shè)備也是影響音頻質(zhì)量的原因。</p><p> 語音處理技術(shù)是建立在語言學(xué)和數(shù)字信號處理基礎(chǔ)之上的綜合學(xué)科,其過程大致可以分為A/D采樣輸入、編碼處理、存儲、解碼處理和D/A等。如今,要實(shí)現(xiàn)語音處理有多種渠道,可以選用專用語音芯片也可以選用單片機(jī),二者區(qū)別參看表 2·1,
31、如下:</p><p> 表 2·1 語音處理器件性能對照表[2]</p><p> SPCE061A單片機(jī)具有八路10位ADC和兩路10位DAC,兩個16位可編程定時器/計(jì)數(shù)器,內(nèi)置MIC放大器和自動增益控制(AGC)電路,CPU時鐘主頻最高達(dá)49MHz且具有DSP功能,有能力執(zhí)行復(fù)雜壓縮算法。所以在選擇具有語音處理功能單片機(jī)時,SPCE061A單片機(jī)可謂是上上之選。SPC
32、E061A將A/D、編碼算法、解碼算法、存儲及D/A做成相應(yīng)的模塊,每個模塊都有其應(yīng)用程序接口API,要實(shí)現(xiàn)語音處理,只用了解每個模塊所要實(shí)現(xiàn)的功能及參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可。</p><p> 不同音頻質(zhì)量等級的編碼技術(shù)標(biāo)準(zhǔn)(頻響)參看表 2·2,如下:</p><p> 表 2·2 音頻質(zhì)量等級編碼技術(shù)標(biāo)準(zhǔn)[2]</p><p&g
33、t; 凌陽音頻壓縮算法處理的語音信號的范圍是200Hz~3.4KHz的電話話音。</p><p> 2.2.1音頻壓縮編碼</p><p> 2.2.1.1 音頻壓縮編碼基礎(chǔ)</p><p> 音頻壓縮編碼中的數(shù)據(jù)量:(采樣頻率×量化位數(shù))/(字節(jié)數(shù))×聲道數(shù)目</p><p> 壓縮編碼的目的,通過對資料的壓縮
34、,達(dá)到高效率存儲和轉(zhuǎn)換資料的結(jié)果,即在保證一定聲音質(zhì)量的條件下,以最小的資料率來表達(dá)和傳送聲音信息。</p><p> 壓縮編碼的必要性,未經(jīng)壓縮編碼的音頻資料量很大,用來傳輸或存儲是不容易實(shí)現(xiàn)的。所以要通過對信號趨勢的預(yù)測和冗余信息處理,進(jìn)行資料的壓縮,這樣就可以使我們用較少的資源建立更多的信息。</p><p> 常見的幾種音頻壓縮編碼:</p><p>
35、?。?) 波形編碼[2],將時間域信號直接變換為數(shù)字代碼,盡量真實(shí)地還原波形。波形編碼的基本原理是在時間軸上對模擬語音按一定的速率抽樣,然后將幅度樣本分層量化,并用代碼表示。譯碼是其反過程,將收到的數(shù)字序列經(jīng)過譯碼和濾波恢復(fù)成模擬信號。</p><p> (2) 參數(shù)編碼[2],參數(shù)編碼又稱為聲源編碼,是將信源信號在頻率域或其它正交變換域提取特征參數(shù),并將其變換成數(shù)字代碼進(jìn)行傳輸。譯碼為其反過程,將收到的數(shù)字序
36、列經(jīng)變換恢復(fù)特征參量,再根據(jù)特征參量重建語音信號。具體說,參數(shù)編碼是通過對語音信號特征參數(shù)的提取和編碼,盡量保持語音信號的可懂性,而還原后的波形可能與原波形差別很大。</p><p> ?。?) 混合編碼[2],將波形編碼和參數(shù)編碼組合起來,克服了原有波形編碼和參數(shù)編碼的弱點(diǎn),結(jié)合各自的長處,盡量保持波形編碼的高質(zhì)量和參數(shù)編碼的低速率。</p><p> 2.2.1.2 壓縮分類<
37、/p><p> 壓縮分為無損壓縮和有損壓縮。無損壓縮一般指磁盤文件,壓縮比低,一般為:2:1~4:1;有損壓縮是指音/視頻文件,壓縮比可高達(dá)100:1。凌陽音頻壓縮算法根據(jù)不同的壓縮比分為以下幾種:SACM-A2000、SACM-S480、SACM-S240。三者區(qū)別參看表 2·3,如下:</p><p> 表 2·3 凌陽語音壓縮算法區(qū)別[2]</p>
38、<p> 2.2.2 凌陽語音的播放、錄制、合成和辨識</p><p> 要完成語音的播放、錄制、合成及辨識等工作,單片機(jī)需要強(qiáng)大的信息處理能力而凌陽16位SPCE061A單片機(jī)則是為此而開發(fā)的,其具有DSP功能,可處理大量信息,CPU最高時鐘頻率可達(dá)到49MHz,具備運(yùn)算速度高的優(yōu)點(diǎn)。凌陽壓縮算法中SACM_A2000、SACM_S480、SACM_S240主要是用來放音,可用于語音提示,而DVR
39、則用來錄音。</p><p> 2.2.3 常用的應(yīng)用程序接口API的功能及應(yīng)用</p><p> 語音和音樂與我們的生活有著相當(dāng)密切的關(guān)系,而單片機(jī)對語音的控制如錄放音、合成機(jī)辨識也廣泛應(yīng)用在現(xiàn)實(shí)生活中。語音處理大致可以分為A/D、編碼處理、存儲、解碼處理以及D/A等。然而,通過麥克風(fēng)輸入所生成的WAVE文件,其占用的存儲空間很大,對于單片機(jī)來說想要存儲大量的信息顯然很不可能實(shí)現(xiàn)的,
40、而凌陽的SPCE061A所采用的解決辦法即SACM_LIB,該庫將A/D、編碼、解碼、存儲及D/A做成相應(yīng)的模塊,對于每個模塊都有其應(yīng)用程序接口API,要實(shí)現(xiàn)某功能,用戶只需了解每個模塊所要實(shí)現(xiàn)的功能及其參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可。</p><p> 語音識別API[2]介紹:</p><p> BSR _Init Recognizer(int Audio Source);初
41、始化識別器</p><p> BSR _Train(int Word ID, int Train Mode);語音訓(xùn)練</p><p> BSR _Delete SD Group(int SD Group No);清除內(nèi)存</p><p> BSR _Pause Recognizer();暫停識別,但不釋放中斷等資源</p><p>
42、 BSR _Resume Recognizer();恢復(fù)被暫停的識別</p><p> BSR _Get Recognizer Score();獲得識別結(jié)果的可信度,返回值從-4096到4096,數(shù)值越大表示輸入語音與特征模型的匹配度越高</p><p> BSR _Enable CPU Indicator();開啟CPU狀態(tài)監(jiān)測功能。開啟該功能后,IOA0和IOA1將發(fā)出每16ms電
43、平變化一次的方波</p><p> BSR _Disable CPU Indicator();關(guān)閉CPU狀態(tài)監(jiān)測功能</p><p> BSR _Export SD Word(int Command ID);使用函數(shù)庫時,會自動創(chuàng)建一個100 Word的數(shù)組BSR _SD Model[100],可以把某條訓(xùn)練命令的特征模型數(shù)據(jù)導(dǎo)出到這個數(shù)組中</p><p>
44、 BSR _Import SD Word(int Command ID);可以把BSR _SD Model數(shù)組中的數(shù)據(jù)導(dǎo)入為某條語音命令的特征模型</p><p> unsigned int BSR _SD Model[];配合BSR _Export SD Word(int Command ID)與BSR _Import SD Word(int Command ID)函數(shù)使用,此數(shù)組的作用相當(dāng)于一個暫時的存儲區(qū)
45、</p><p> SACM_480采用混合編碼方式,壓縮比比較大,存儲容量大,音質(zhì)介于A2000和S240之間,適用于語音播放,如電子詞典詞庫等,所以本文采用了該算法,以下就SACM_480算法具體介紹其API函數(shù)的格式、功能、參數(shù)、返回值、備注。</p><p> 其相關(guān)API函數(shù)如下所示:</p><p> 1) API格式[2]: C:int SACM
46、_S480_Initial(int Init _Index)</p><p> ASM:R1=[ Init _ Index]</p><p> Call F_ SACM_ S480_Initial</p><p> 功能說明:SACM_480語音播放之前的初始化。</p><p> 參數(shù): Init _ Index=0:手動方式 I
47、nit _ Index=1:自動方式。</p><p> 返回值: 0:語音模塊初始化失敗。</p><p> 1:語音模塊初始化成功。</p><p> 備注: 該函數(shù)用于對定時器、中斷和DAC等的初始化。</p><p> 2) API格式[2]: C:void SACM_S480_ServiceLoop(void) </p
48、><p> ASM:Call F_ SACM_S480_ServiceLoop</p><p> 功能說明:從資源中獲取SACM_S480語音資料,并將其填入解碼隊(duì)列中。</p><p><b> 參數(shù): 無</b></p><p><b> 返回值: 無</b></p><
49、p> 備注: 播放語音文件中數(shù)據(jù),當(dāng)出現(xiàn)FF FF FFH數(shù)據(jù)時便停止播放。</p><p> 3) API格式[2]: C: int SACM_S480_Play(int Speech _Index, int Channel, int Ramp _Set)</p><p> ASM:R1=[ Speech _Index]</p><p> R2=[
50、Channel]</p><p> R3=[ Ramp _Set]</p><p> Call SACM_S480_Play</p><p> 功能說明: 播放資源中SACM_480語音。</p><p> 參數(shù): Speech _Index:語音索引號。</p><p><b> Channel:
51、</b></p><p> 1. 通過DAC1通道播放。</p><p> 2. 通過DAC2通道播放。</p><p> 3. 通過DAC1和DAC2雙通道播放。</p><p> Ramp _Set:</p><p> 0. 禁止音量增/減調(diào)節(jié)。</p><p> 1
52、. 僅允許音量增調(diào)節(jié)。</p><p> 2. 僅允許音量減調(diào)節(jié)。</p><p> 3. 允許音量增/減調(diào)節(jié)。</p><p><b> 返回值: 無</b></p><p> 備注: ⑴ SACM_S480的數(shù)據(jù)率有4.8Kbps\7.2Kbps兩種,可在同一模塊的幾種算法中自動選擇一種。</p>
53、<p> ?、?Speech _Index是定義在resource.inc文件中資源表的偏移地址。</p><p> ?、?中斷服務(wù)子程序中F_FIQ_Service_SACM_S480必須放在TMA_FIQ中斷向量上。</p><p> 4) API格式[2]: ASM:Call F_FIQ_Service_SACM_S480</p><p>
54、功能說明:用作SACM_S480語音背景程序的中斷服務(wù)子程序。通過前臺子程序(自動方式的SACM_S480_ServiceLoop及手動方式SACM_S480_Decode)進(jìn)行語音信息編碼,然后將其送入DAC通道播放。</p><p><b> 參數(shù): 無</b></p><p><b> 返回值:無</b></p><
55、p> 備注:SACM_S480語音背景子程序只有匯編指令形式,且應(yīng)該將此子程序安置</p><p> 在TMA_FIQ中斷源上。</p><p> 3 系統(tǒng)總體設(shè)計(jì)方案</p><p> 用61板來控制機(jī)器人,使用了I0B7-IOB15資源,另外使用了揚(yáng)聲器,參看圖 3-1,如下:</p><p> 圖 3-1 系統(tǒng)的總體框圖
56、</p><p> 61板與機(jī)器人連接圖,參看圖 3-2,如下:</p><p> 圖 3-2 61板與機(jī)器人連接圖</p><p> 系統(tǒng)主要由61板與機(jī)器人驅(qū)動電路組成。整個系統(tǒng)的主控板是61板,用來驅(qū)動電路驅(qū)動電機(jī)。在主控板61板的控制下完成跳兩首舞曲、走步、轉(zhuǎn)向、轉(zhuǎn)頭、發(fā)射飛盤等動作。另外為了使機(jī)器人智能化,增添了特定人語音識別的功能,通過各種命令的使
57、用來操作機(jī)器人。 </p><p><b> 4 系統(tǒng)的硬件設(shè)計(jì)</b></p><p> 4.1 SPCE061A最小系統(tǒng)</p><p> SPCE061A最小系統(tǒng)中,含有SPCE061A芯片外圍的基本模塊,其主要由晶體輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復(fù)位電路(RESET)、指示燈(LED)等組成,參看圖 4-1。在OS
58、C32O、OSC32I端口接上晶體振蕩器和諧振電容,在VCOIN端口接上相對應(yīng)的電容和電阻后即可工作。在其他不用的VDD端口和GND端口也不能懸空應(yīng)該接上0.1uF的耦合電容以提高抗干擾能力。</p><p> 圖 4-1 SPCE061A最小系統(tǒng)</p><p> 4.2 SPCE061A的時鐘</p><p> 凌陽16位SPCE061A單片機(jī)最高CPU時
59、鐘頻率(CPUCLK)可達(dá)到49.152MHz,為數(shù)字信號處理奠定了堅(jiān)實(shí)的基礎(chǔ)。而取得CPU時鐘頻率(CPUCLK)的過程大致可分為三個階段。第一階段,先通過晶體振蕩電路得到了一個32768Hz的實(shí)時頻率(RTC)。第二階段,鎖相環(huán)對實(shí)時頻率(RTC)進(jìn)行倍頻,得到系統(tǒng)時鐘頻率Fosc。第三階段,對系統(tǒng)時鐘頻率Fosc進(jìn)行分頻,最終得到CPU時鐘頻率(CPUCLK)。其過程參看圖 4-2,如下:</p><p>
60、 圖 4-2 SPCE061A的時鐘</p><p> 4.2.1 時鐘電路</p><p> 日常生活中的鐘表、實(shí)時時鐘延時以及其他與時間相關(guān)產(chǎn)品所采用的是32768Hz的實(shí)時時鐘。在SPCE061A時鐘電路中使用的是晶體振蕩器,采用頻率為32768Hz外接晶體,SPCE061A時鐘電路的連線圖可參看圖 4-3。</p><p> 圖 4-3 SPCE06
61、1A時鐘電路連接圖</p><p><b> 4.2.2 鎖相環(huán)</b></p><p> 鎖相環(huán)(Phase Lock Loop)是將32768Hz的實(shí)時時鐘(RTC)進(jìn)行倍頻,調(diào)整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz的系統(tǒng)時鐘Fosc參看圖 4-4,如下:</p><p>
62、 圖 4-4 PLL倍頻電路框圖</p><p> SPCE061A片內(nèi)集成了PLL電路,要使芯片內(nèi)PLL電路正常工作只需外接簡單的電路即可,參看圖 4-5,如下:</p><p> 圖 4-5 PLL外圍電路</p><p> 4.2.3 系統(tǒng)時鐘</p><p> 將經(jīng)過PLL電路倍頻得到的系統(tǒng)時鐘頻率Fosc,對其分頻便可得到C
63、PU時鐘頻率(CPUCLK),參看圖 4-6。可以通過對P_SystemClock單元的編程完成對系統(tǒng)時鐘頻率Fosc和CPU時鐘頻率(CPUCLK)的定義。32768Hz RTC 振蕩器有兩種工作方式[3]:強(qiáng)振模式和自動弱振模式。處于強(qiáng)振模式時,RTC 振蕩器始終運(yùn)行在高耗能的狀態(tài)下。處于自動弱振模式時,系統(tǒng)在上電復(fù)位(power on reset) 后的前 7.5 秒內(nèi)處于強(qiáng)振模式,然后自動切換到弱振模式以降低功耗。</p&
64、gt;<p> 圖 4-6 分頻電路框圖</p><p> 在 SPCE061A 內(nèi),P_SystemClock單元(參看表 4·1)控制著系統(tǒng)時鐘頻率Fosc和 CPU 時鐘頻率(CPUCLK)。第 0~2 位用來控制CPUCLK(參看表 4·2)。第 5~7 位用來控制Fosc(參看表 4·3)。Fosc的預(yù)設(shè)值為24.576MHz,上電復(fù)位或系統(tǒng)從備用狀態(tài)(睡
65、眠狀態(tài))被喚醒后,CPUCLK的預(yù)設(shè)值為Fosc/8。另外,在睡眠狀態(tài)(即b2~b0同時被置為1)下,通過設(shè)置該單元的第 4 位可以打開或關(guān)閉32768Hz 實(shí)時時鐘。</p><p> 表 4·1 設(shè)置P_SystemClock單元[3]</p><p> 表 4·2 CPU時鐘頻率(CPUCLK)選擇[3]</p><p> 表 4
66、183;3 PLL頻率(Fosc)選擇[3]</p><p><b> 4.3 電源模塊</b></p><p> 電源輸入端口是61板的能源供應(yīng)中心,整塊板子的電源都是由此提供進(jìn)去,可采用電池或穩(wěn)壓電源提供5V輸入,并且必須至少保證電流在50mA以上,否則會造成系統(tǒng)無法倍頻和下載出錯。SPCE061A的內(nèi)核供電為3.3V,由于I/O端口可接3.3V也可以接5V,
67、所以在電源模塊中有一個端口電平選擇跳線J5用于選擇端口電壓,電源模塊參看圖 4-7,如下:</p><p> 圖 4-7 電源模塊</p><p> 由于此系統(tǒng)需要的端口高電平為5V,所以圖 4-7當(dāng)中的J5跳線需要跳到1和2上。</p><p><b> 4.4 語音錄放</b></p><p> 錄音過程,將
68、輸入的語音信號(模擬信號)作A/D轉(zhuǎn)換,轉(zhuǎn)換成數(shù)字信號,編碼后存入存儲器中。放音過程與錄音相反,先將數(shù)據(jù)從存儲器中取出并解碼,然后作D/A轉(zhuǎn)換成語音信號。</p><p><b> 4.4.1 錄音</b></p><p> 使用A/D轉(zhuǎn)化器的7個通道將模擬信號轉(zhuǎn)換成數(shù)字信號,可以直接通過引線輸入。另外1個通道是只用于語音輸入,即通過內(nèi)置有自動增益控制放大器的麥克
69、風(fēng)通道(MIC-IN)輸入,它專門用于對語音信號的采樣,首先語音信號經(jīng)MIC轉(zhuǎn)換成電信號,由隔直電容隔斷直流成分,然后輸入至SPCE061A內(nèi)部前置放大器。SPCE061A內(nèi)部自動增益控制(AGC)電路能隨時跟蹤、監(jiān)測前置放大器輸出的音頻信號電平,當(dāng)輸入信號增大時,AGC電路自動減小放大器的增益。當(dāng)輸入信號減小時,AGC電路自動增大放大器的增益,可使進(jìn)入A/D的信號保持在最佳電平,又可使削弱減至最小。SPCE061A的A/D轉(zhuǎn)換范圍是整
70、個輸入范圍,即最大的模擬信號輸入電壓范圍0V~AVdd.非法的A/D模擬信號將影響轉(zhuǎn)換電路的工作范圍,從而降低ADC的性能。由于Line _in通道和IOA0~I(xiàn)OA6共用引腳,所以盡量選擇其他非IOA0~I(xiàn)OA6的引腳,因?yàn)榉欠↖O信號會造成電壓不穩(wěn)最終影響ADC的性能。ADC的最大輸入電壓由P_ ADC_ Ctrl(寫)的第7位和第8位的值決定。第7位VEXTREF控制著ADC的參考電壓,即AVdd/外部參考電壓</p>
71、<p><b> 4.4.2 放音</b></p><p> 將HM628128A中存儲的語音數(shù)據(jù)順序取出,解碼后,以8kHz的速率進(jìn)行D/A轉(zhuǎn)換輸出,語音數(shù)據(jù)經(jīng)電容濾波恢復(fù)成原始語音波形,最后用三極管驅(qū)動揚(yáng)聲器放音。SPCE061A音頻輸出共有兩個DAC通道,DAC1和DAC2輸出的模擬電信號通過DAC1和DAC2引腳輸出。DAC的輸出范圍是0x0000~0xFFFF。D
72、AC1和DAC2的輸出數(shù)據(jù)應(yīng)寫入P_DAC1和P_DAC2單元。上電復(fù)位以后,兩個DAC均被自動打開,此時會消耗少量的電流(幾個毫安)。如若不需要,盡量關(guān)閉DAC輸出(將P_DAC_Ctrl單元的第一位置為1)。而且DAC的直流電壓必須保持平穩(wěn)地變化,否則可能由于電壓的突變引起揚(yáng)聲器產(chǎn)生雜音。為減緩電壓的變化幅度,從而輸出高質(zhì)量的音頻數(shù)據(jù)可以采用ramp up/down技術(shù)。其應(yīng)用條件是:被喚醒/上電復(fù)位后首次使用DAC時,上電復(fù)位功能
73、應(yīng)在被關(guān)閉/進(jìn)入睡眠狀態(tài)之前。</p><p> 放音利用的是SPCE061A內(nèi)部的DAC,電路參看圖 4-8。圖中的SPY0030是凌陽公司的產(chǎn)品。和LM386相比,在工作電壓上,LM386需在4V以上,而SPY0030僅需2.4V(兩節(jié)電池)即可工作;在輸出功率上,LM386僅在100mW以上,而SPY0030可達(dá)700mW。</p><p> 圖 4-8 放音模塊電路</p
74、><p> 4.5 機(jī)器人硬件驅(qū)動電路</p><p> 機(jī)器人硬件原理參看圖 4-9,如下:</p><p> 左右腿、脖子電機(jī)驅(qū)動</p><p> 加速度、發(fā)射電機(jī)驅(qū)動</p><p> 圖 4-9 機(jī)器人驅(qū)動電路原理圖</p><p> 機(jī)器人驅(qū)動電路采用功率較大的三極管搭成H橋
75、來驅(qū)動電機(jī)從而實(shí)現(xiàn)電機(jī)的正向旋轉(zhuǎn)與電機(jī)的反向旋轉(zhuǎn),本系統(tǒng)中使用H橋[4]驅(qū)動的電機(jī)包括兩個用于走路的電機(jī)與一個頭部轉(zhuǎn)向的電機(jī)。同時用了一個三極管驅(qū)動單向旋轉(zhuǎn)的電機(jī),如加速電機(jī)與發(fā)射電機(jī)。</p><p><b> 5 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 完成特定人語音的訓(xùn)練可在主函數(shù)中調(diào)用相關(guān)函數(shù),然后在訓(xùn)練成功后進(jìn)行語音識別,再根據(jù)識別的命令執(zhí)行相關(guān)的操作。
76、程序流程參看圖 5-1。根據(jù)FLASH中的標(biāo)志位判斷是否為第一次下載。使用BSR _Export SD Word(uiCommand ID) 函數(shù)將訓(xùn)練好的語音模型導(dǎo)出存儲到FLASH中,用于操作。在語音識別中,首先讀取FLASH取得語音模型,然后調(diào)用BSR _Import SD Word(uiCommand ID)函數(shù)將語音資源載入內(nèi)存。在識別出命令后,執(zhí)行相關(guān)動作,操作電機(jī)的正向或反向旋轉(zhuǎn),同時配合延時與播放聲音組合起來形成不同的動
77、作。</p><p> 圖 5-1 程序流程圖與中斷流程圖</p><p> 5.1 擦除FLASH模塊</p><p> 在程序中按照操作SPCE061A的flash的步驟擦寫flash,在程序中寫成3個函數(shù)用于操作flash,如下:</p><p> F _ Flash Write1Word()[3]</p><
78、;p> 語法:void F_FlashWrite1Word(int addr, int Value)</p><p> 描述:寫一個字到FLASH中</p><p> 參數(shù):1、被寫數(shù)據(jù)的存儲地址</p><p><b> 2、被寫數(shù)據(jù)</b></p><p><b> 返回:無</b&g
79、t;</p><p> F _ Flash Write()[3]</p><p> 語法:F _Flash Write(int sector, int & num, int size)</p><p><b> 描述:順序?qū)懚鄠€字</b></p><p> 參數(shù):1、被寫數(shù)據(jù)的起始地址</p>
80、<p><b> 2、被寫數(shù)據(jù)</b></p><p><b> 3、寫數(shù)據(jù)的數(shù)量</b></p><p><b> 返回:無</b></p><p> F _ Flash Erase()[3]</p><p> 語法:void F _ Flash Er
81、ase(sector)</p><p> 描述:擦除256字節(jié)</p><p> 參數(shù):擦除頁的起始地址</p><p><b> 返回:無</b></p><p><b> 5.2 位操作模塊</b></p><p> 由于SPCE061A沒有位操作指令,而在程序
82、控制電機(jī)的時候需要經(jīng)常操作某一位,為了方便程序的編寫,增強(qiáng)可讀性,編寫位操作模塊</p><p> 函數(shù)void Set _ IOB _Bit(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)[1],參數(shù)依次為IO的位、Dir、Attrib、Data、Buffer</p><p> 例如操作IOB
83、11為同向低電平輸出為Set _ IOB _Bit(11,1,1,0,0)</p><p> 5.3 語音播放函數(shù)</p><p> 在本系統(tǒng)的軟件設(shè)計(jì)當(dāng)中,將語音播放的程序設(shè)計(jì)為語音播放模塊,以便于調(diào)用:語音播放程序分為兩部分,第一部分是播放流程控制,參看圖 5-2;第二部分是中端播放服務(wù)程序,參看圖 5-3,如下:</p><p> 圖 5-2 SACM_
84、480自動播放流程圖</p><p> 圖 5-3 中斷服務(wù)程序流程圖</p><p><b> 結(jié)論</b></p><p> 語音處理技術(shù)本身就是一門理論性強(qiáng)、實(shí)用面廣而且難度較大的綜合學(xué)科。而開發(fā)出具有語音功能的單片機(jī)也是相當(dāng)困難的。凌陽unsp系列16位單片機(jī),就是適應(yīng)這種需求而設(shè)計(jì)的。凌陽SPCE061A實(shí)現(xiàn)語音識別其獨(dú)特之處在
85、于:硬件電路簡單,因?yàn)镾PCE061A是一款專門為語音信號處理設(shè)計(jì)的單片機(jī),麥克風(fēng)和喇叭可以直接接入,接放大電路可不用外接。具有一套高效的指令系統(tǒng),軟件編程容易,有相應(yīng)的API函數(shù),可直接調(diào)用。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 凌陽科技大學(xué)計(jì)劃.凌陽單片機(jī)在大學(xué)生電子競賽中的應(yīng)用.北京:北京航空航天大學(xué)出版社,2005:7-8
86、</p><p> [2] 趙定遠(yuǎn) 馬洪江.16位單片機(jī)及語音嵌入式系統(tǒng).北京:中國水利出版社,2006:237-249</p><p> [3] 羅亞非. 凌陽16位單片機(jī)應(yīng)用基礎(chǔ).北京:北京航空航天大學(xué)出版社,2005:33-34</p><p> [4] 李曉靜 羅永革 佘建強(qiáng) 劉珂璐.基于AMT直流電機(jī)的H橋驅(qū)動電路硬件研制.湖北汽車工業(yè)學(xué)院學(xué)報(bào),20
87、07(3);22-25</p><p> [5] 薛均義 張彥斌.凌陽16位單片機(jī)原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,2003</p><p> [6] 王慧 王超陳 俊波.基于語音識別機(jī)器人的研究.世界科技研究與發(fā)展,2009(10):811-813</p><p> [7] 叢欣 梁光勝.嵌入式語音識別技術(shù).電腦編程技巧與維護(hù),2006(9):76-
88、78</p><p> [8] 嚴(yán)一巖.語音集成電路概述.電子世界,1997(10):22-23</p><p> [9] 雙龍.智能機(jī)器人語音識別對話與控制.電子世界,2004(10):38</p><p> [10] 黃淞 蔣雪峰 張貴冰 楊文杰.智能語音識別避障機(jī)器人的研究與設(shè)計(jì).應(yīng)用科技,2002(10):163-165</p><
89、p> [11] Zili Zhou Chris K. Modeling of Configuration-Dependent Flexible Joints for a Parallel Robot. Advances in Mechanical Engineering,2009(4):1-12</p><p><b> 致 謝</b></p><p>
90、在論文最后的收尾階段,首先我要將我最崇高的敬意和最衷心的感謝獻(xiàn)給**老師,在她的悉心指導(dǎo)和盡心幫助下,這篇論文才得以順利完成,**老師給我的幫助,不僅僅是在論文的寫作上,她嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度更教會了我許多書本上學(xué)不到的知識,在我日后的工作和生活中,這些收獲必定會指引我認(rèn)真、踏實(shí)的走好每一步。</p><p> 我還要感謝學(xué)院里每一位教過我課程的老師,是他們交給我豐富的專業(yè)知識,使我受益匪淺,大大提高了專業(yè)能力和專業(yè)
91、素質(zhì),為我論文的完成打下了堅(jiān)實(shí)的基礎(chǔ),我將永遠(yuǎn)感謝他們。</p><p> 同時,我也感謝學(xué)院圖書館是他們的辛苦工作,給我們提供寬廣的知識搜索平臺為論文的完成提供了強(qiáng)有力的保障。</p><p> 最后,我還要感謝我的父母及家人,他們是我最堅(jiān)實(shí)的后盾,不僅在物質(zhì)上支持我,更在精神上給予我最無私的關(guān)懷和鼓勵,讓我始終能夠在愉悅、舒適的心情及環(huán)境下完成我的學(xué)業(yè),謝謝他們!</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-語音識別機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)
- 基于凌陽單片機(jī)的語音識別機(jī)器人的設(shè)計(jì)畢業(yè)論文
- 機(jī)器人的語音識別技術(shù)20265
- wifi機(jī)器人畢業(yè)論文畢業(yè)設(shè)計(jì)
- 機(jī)器人搜救畢業(yè)論文
- 消防機(jī)器人畢業(yè)論文
- 工業(yè)機(jī)器人畢業(yè)論文
- 智能機(jī)器人畢業(yè)論文
- 足球機(jī)器人畢業(yè)論文
- 管道清潔機(jī)器人畢業(yè)論文--管道機(jī)器人的設(shè)計(jì)與運(yùn)動仿真
- 畢業(yè)論文-水平多關(guān)節(jié)機(jī)器人的設(shè)計(jì)
- 運(yùn)載機(jī)器人的設(shè)計(jì)制作-畢業(yè)論文.doc
- 畢業(yè)論文管道機(jī)器人的設(shè)計(jì)與仿真
- 畢業(yè)論文(設(shè)計(jì))機(jī)器人關(guān)節(jié)的設(shè)計(jì)與實(shí)現(xiàn)
- 管道清潔機(jī)器人畢業(yè)論文
- 畢業(yè)論文外文翻譯(機(jī)器人)
- 畢業(yè)論文外文翻譯--機(jī)器人
- 畢業(yè)論文-足球機(jī)器人控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文--仿人雙足機(jī)器人
- 智能循跡機(jī)器人(硬件部分)設(shè)計(jì)【畢業(yè)論文】
評論
0/150
提交評論