

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