2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  緒論</b></p><p>  當(dāng)今社會,科學(xué)技術(shù)日新月異,時代前進(jìn)的步伐越邁越寬,應(yīng)用自動化設(shè)備,計算機(jī)處理,現(xiàn)代化通訊,數(shù)字化信息,現(xiàn)代化顯示設(shè)備等高新技術(shù)而建立的現(xiàn)代化智能,監(jiān)控等系統(tǒng)已經(jīng)得到充分的發(fā)展與應(yīng)用,智能機(jī)器人也就應(yīng)運而生。同時,在建設(shè)以人為本的和諧社會的過程中,智能服務(wù)機(jī)器人能夠完成多種危險作業(yè),以保證人身安全。因此,重點研究低成本的自組織網(wǎng)

2、絡(luò),個性化的智能機(jī)器人成為主要方向。</p><p>  此外隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究。可見其研究意義也很適應(yīng)了當(dāng)今智能機(jī)器人研究方向。本設(shè)計就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的準(zhǔn)備。本題目是結(jié)合科研項目而確定的設(shè)計類課題。設(shè)計的智能電動小車應(yīng)該能夠?qū)崟r顯示時間、速度,具有語音識

3、別、避障功能,可程控行駛速度。</p><p>  根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電、紅外線,實現(xiàn)對電動車的速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。</p><p>  這種方案能實現(xiàn)對電動車的運動狀態(tài)進(jìn)行實時控制,控制靈活、可靠、精度高,可滿足對系統(tǒng)的各項要求。本設(shè)計采用凌陽

4、系列中的SPCE061A單片機(jī)為控制核心,利用紅外線傳感器檢測道路上的障礙,控制電動小汽車的自動避障,快慢速行駛,以及自動停車,并可以自動記錄時間和速度,語音識別功能。SPCE061A是一款16位單片機(jī),它的易用性和多功能性受到了廣大使用者的好評。它是第三代單片機(jī)的代表。</p><p>  新一代的單片機(jī)的最主要的技術(shù)特點是向外部接口電路擴(kuò)展,以實現(xiàn)Microcomputer完善的控制功能為己任,將一些外部接口

5、功能單元如A/D﹑PWM﹑PCA(可編程計數(shù)器陣列)﹑WDT(監(jiān)視定時器)﹑高速I/O口﹑計數(shù)器的捕獲/比較邏輯等。這一代單片機(jī)中,在總線方面最重要的進(jìn)展是為單片機(jī)配置了芯片間的串行總線,為單片機(jī)應(yīng)用系統(tǒng)設(shè)計提供了更加靈活的方式。凌陽公司還為這一代單片機(jī)SPCE061A系列單片機(jī)引入了具有較強(qiáng)功能語音識別。新一代單片機(jī)為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展與配置打下了良好的基礎(chǔ)。 </p><p>  本設(shè)

6、計就采用了比較先進(jìn)的SPCE061A為控制核心,SPCE061A采用CHOMS工藝,功耗很低。該設(shè)計具有實際意義,可以應(yīng)用于考古、機(jī)器人、醫(yī)療器械等許多方面。尤其是在足球機(jī)器人研究方面具有很好的發(fā)展前景。所以本設(shè)計與實際相結(jié)合,現(xiàn)實意義很強(qiáng)。</p><p><b>  硬件電路設(shè)計</b></p><p><b>  硬件框圖</b></

7、p><p>  避障語音控制小車系統(tǒng)構(gòu)成框圖如圖2-1所示。主要由61板、電機(jī)驅(qū)動板、車體(含前后輪電機(jī))和顯示板等部分構(gòu)成。</p><p>  圖2-1 控制系統(tǒng)構(gòu)成框圖</p><p>  硬件連接如圖2-2所示。</p><p>  圖2-2 硬件連接圖</p><p><b>  硬件原理圖</

8、b></p><p>  硬件電路包括外部電機(jī)驅(qū)動電路如圖2-3所示,外擴(kuò)顯示板如圖2-4和2-5所示。</p><p>  圖2-3 電機(jī)驅(qū)動電路圖</p><p>  電機(jī)前后輪驅(qū)動模塊驅(qū)動采用分立元件組成的H橋控電路,內(nèi)部定時器產(chǎn)生的PWM波經(jīng)IOB9輸入H橋電路驅(qū)動電機(jī)前進(jìn),同時IOB8為低電平;反之,車輛倒車;IOB10輸入H橋高電平,IOB11為

9、低電平時車左轉(zhuǎn),反之,車輛右轉(zhuǎn)。(注意H橋兩臂不能同時出現(xiàn)高電平信號。)</p><p>  為了便于單片機(jī)的引腳有效利用,所以對此電路PCB的設(shè)計還擴(kuò)了多個引腳插槽,彼此都為并聯(lián),這樣設(shè)計主要兩方面的好處,其一是使單片機(jī)的引腳利用率,其二是便于各模塊的連接,即插即用,便于固定,并且穩(wěn)定性高。</p><p>  在設(shè)計中還把電源引腳也集成到插槽內(nèi),這樣外擴(kuò)模塊供電方式也解決了,這也為本硬

10、件設(shè)計的一大特色。</p><p>  圖2-4 外擴(kuò)顯示板電路圖</p><p>  圖2-5 顯示測速板絲網(wǎng)圖</p><p>  此模塊中用四段八段數(shù)碼管作為顯示器,并具有雙重功能,在小車行駛時能顯示倒計時,又能通過按鍵的切換來顯示小車的當(dāng)前速度,此外在四位數(shù)碼管的兩側(cè)分別有四個LED燈用以顯示小車的運行狀態(tài)。在顯示板的右側(cè)為測速裝置,它由一組紅外對管以及兩個

11、三極管配合而成的比較器組成,當(dāng)檢測到白線后,就會產(chǎn)生高電平,進(jìn)行中斷觸發(fā)。而在車輪上貼有白色膠帶,所以要想檢測車速,只要判斷單位時間內(nèi)產(chǎn)生的中斷數(shù)即可。</p><p><b>  硬件資源利用</b></p><p><b>  微控制器電路</b></p><p>  控制器采用凌陽科技公司的SPCE061A,其硬件資

12、源分配見表2-3所示。</p><p>  表2-3 硬件資源分配表</p><p><b>  電源板電路模塊分析</b></p><p>  4節(jié)AA的電池給61板提供6V的輸入電壓,經(jīng)61板上電源穩(wěn)壓塊SPY0029的作用下產(chǎn)生3.3V的電壓供給SPCE061A。外部顯示模塊由61板提供電源,電機(jī)驅(qū)動由電池直接供電。</p>

13、<p>  圖2-4所示電源電路圖中的VDDH3為SPCE061A的I/O電平參考,接SPCE061A的51腳,這種接法使得I/O輸入輸出高電平為3.3V,VDDP為PLL鎖相環(huán)電源,接SPCE061A的7腳,VDD和VDDA為數(shù)字電源,分別接SPCE061A的15腳和36腳,AVSS1是模擬地,接SPCE061A的24腳;VSS是數(shù)字地,接SPCE061A的38腳;AVSS2接音頻輸出電路的AVSS2。</p>

14、<p>  圖2-4 電源電路圖</p><p><b>  鍵盤輸入電路</b></p><p>  鍵盤輸入電路如圖2-5鍵盤輸入電路所示,當(dāng)有鍵按下時,對應(yīng)的I/O口被拉到高電平,CPU響應(yīng)按鍵信號,進(jìn)行相應(yīng)的信號處理。</p><p>  圖2-5 鍵盤輸入電路</p><p><b> 

15、 麥克風(fēng)輸入電路</b></p><p>  麥克采來的語音信號經(jīng)AGC(自動增益控制放大)后進(jìn)入MIC-IN通道進(jìn)行A/D轉(zhuǎn)換。音頻錄入部分:主要由Microphone、AGC電路、ADC電路構(gòu)成。 </p><p>  圖2-6是音頻錄入電路。因為SPCE061A內(nèi)置了AGC電路和ADC電路,所以實現(xiàn)音頻錄入的外圍電路變得如此簡單。這部分電路與SPCE061A的連接是這樣的

16、:AGC 接音頻錄入AGC引腳(25腳),OPI接Microphone的第二運放輸入腳(26腳),MICOUT接Microphone的第一運放輸出腳(27腳),MICN接Microphone的負(fù)向輸入腳(28腳),MICP接Microphone正向輸入腳(33腳),VCM接ADC參考電壓輸出腳(34腳),VMIC接Microphone電源(37腳)。</p><p>  語音信號經(jīng)Microphone轉(zhuǎn)換成電信號

17、,由隔直電容隔掉直流成分,然后輸入至SPCE061A內(nèi)部前置放大器。SPCE061A內(nèi)部自動增益控制電路AGC能隨時跟蹤、監(jiān)視前置放大器輸出的音頻信號電平,當(dāng)輸入信號增大時,AGC電路自動減小放大器的增益;當(dāng)輸入信號減小時,AGC電路自動增大放大器的增益,以便使進(jìn)入A/D的信號保持在最佳電平,又可使削波減至最小。</p><p>  圖2-6 麥克輸入電路</p><p><b>

18、;  CPU語音輸出電路</b></p><p>  SPCE061A內(nèi)置2路10位精度的DAC,只需要外接功放電路即可完成語音的播放。</p><p>  圖2-7是音頻輸出電路圖??梢越佣鷻C(jī),也可以直接聽喇叭輸出的聲音。</p><p>  圖2-7 CPU語音輸出電路</p><p><b>  指示電路</

19、b></p><p>  指示燈實際排列如圖2-8所示;</p><p>  當(dāng)車準(zhǔn)備就緒的時候,車顯示板的1號,5號,3號,7號四個燈亮起。</p><p>  當(dāng)遇到障礙物和顯示速度的時候,車的八個燈全部點亮。</p><p>  當(dāng)車進(jìn)入設(shè)置模式后,加數(shù)時1號,5號燈亮,減數(shù)的時2號,6號燈亮;</p><p&

20、gt;  圖2-8 指示燈排列圖</p><p><b>  避障電路</b></p><p>  如圖2-9所示,避障光電接收管采集的電流信號經(jīng)三極管放大,在集電極將電流信號變成電壓信號。當(dāng)檢測到障礙物后TX就會發(fā)生電平變化,產(chǎn)生外部中斷。</p><p>  圖2-9 指示燈硬件電路原理圖</p><p><b

21、>  本章小結(jié)</b></p><p>  此章主要為小車的硬件結(jié)構(gòu),在設(shè)計中本著穩(wěn)定性強(qiáng),結(jié)構(gòu)緊湊,便于擴(kuò)展的原則,進(jìn)行的電路原理圖的設(shè)計以及PCB圖的排版。在安全性上也進(jìn)行了改進(jìn),比如在電機(jī)控制部分中為了防止短路,在設(shè)計中進(jìn)行了優(yōu)化。</p><p>  凌陽音頻函數(shù)在系統(tǒng)中的應(yīng)用</p><p>  本系統(tǒng)中凌陽音頻的使用</p>

22、<p>  語音處理大致可以分為A/D轉(zhuǎn)換、編碼處理、語音存儲、語音解碼處理以及D/A轉(zhuǎn)換幾大模塊;</p><p>  SPCE061A針對以上的各大要素進(jìn)行的解決方案為:</p><p>  將A/D、編碼算法、解碼算法、存儲及D/A作成相應(yīng)的模塊,對于每個模塊都有其應(yīng)用程序接口API,用戶只需了解每個模塊所要實現(xiàn)的功能及其參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可實現(xiàn)語音處理

23、功能。</p><p><b>  語音資源格式的選取</b></p><p>  表3-1所列出的是凌陽音頻的幾種算法:</p><p>  表3-1 SACM-lib庫中模塊及其算法類型</p><p>  麥克風(fēng)輸入所生成的WAVE文件,其占用的存儲空間很大,對于單片機(jī)來說想要存儲大量的信息顯然是不可能的,而凌陽的

24、SPCE061A提出了解決的方法,即SACM-LIB,該庫將A/D、編碼、解碼、存儲及D/A作成相應(yīng)的模塊,對于每個模塊都有其應(yīng)用程序接口API,只需了解每個模塊所要實現(xiàn)的功能及其參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可實現(xiàn)該功能,例如在程序中插入語音提示,或連續(xù)播放一段語音或音樂,也可以根據(jù)自己需要的空間或使用范圍選擇適合自己的算法如表3-2所示</p><p>  表3-2 單片機(jī)對語音處理過程</p>

25、;<p>  SACM-S480壓縮算法壓縮比較大,為80:3,存儲容量大,音質(zhì)介于A2000和S240之間,適用于語音播放。本系統(tǒng)采用S480格式語音資源。</p><p>  S480語音資源的制作</p><p>  系統(tǒng)所用語音素材采用錄音軟件錄制成WAV語音文件,其文件格式要求為單聲道、16位、8K采樣率。然后通過凌陽提供的語音壓縮工具轉(zhuǎn)換為S480格式文件。<

26、;/p><p><b>  凌陽語音辨識 </b></p><p>  對于語音辨識主要有以下兩種: </p><p>  (1) 特定發(fā)音人識別SD(Speaker Dependent):是指語音樣板由單個人訓(xùn)練,也只能識別訓(xùn)練人的語音命令,而他人的命令識別率較低或幾乎不能識別。在本產(chǎn)品中采用特定人的語音識別。 </p><p

27、>  (2) 非特定發(fā)音人識別SI(Speaker Independent):是指語音樣板由不同年齡、不同性別、不同口音的人進(jìn)行訓(xùn)練,可以識別一群人的命令。</p><p>  本系統(tǒng)采用特定發(fā)音人識別。語音辨識庫已被集成在凌陽的單片機(jī)開發(fā)環(huán)境unSP IDE 2.0.0軟件安裝包內(nèi),安裝該軟件后,可在其子目錄下查找到。</p><p><b>  語音識別基本流程:<

28、;/b></p><p>  (1) 語音信號數(shù)字化。</p><p>  (2) 特征提?。撼槿》磻?yīng)語音本質(zhì)的特征參數(shù),形成特征矢量序列。</p><p>  (3) 語音模型庫:從一個或多個講話者多次重復(fù)講話中提取的語音參數(shù)模板。</p><p>  (4) 模式匹配:把輸入語音的特征參數(shù)與語音模型庫進(jìn)行比較分析,得到識別結(jié)果。&l

29、t;/p><p>  S480語音的應(yīng)用程序接口API的功能介紹及應(yīng)用 </p><p>  以下就SACM-S480算法具體介紹其API函數(shù)的格式、功能、參數(shù)、返回值、備注。 </p><p>  其相關(guān)API函數(shù)如下所示: </p><p>  int SACM_S480_Initial(int Init_Index) </p>

30、<p>  void SACM_S480_ServiceLoop(void) </p><p>  void SACM_S480_Play(int Speech_Index, int Channel, int Ramp_Set) </p><p>  void SACM_S480_Stop(void) </p><p>  void SACM_S480_

31、Pause(void) </p><p>  void SACM_S480_Resume(void) </p><p>  void SACM_S480_Volume(Volume_Index) </p><p>  unsigned int SACM_S480_Status(void) </p><p>  Call F_FIQ_Servi

32、ce_SACM_S480 </p><p>  各函數(shù)具體內(nèi)容如下: </p><p>  (1)【API格式】C:int SACM_S480_Initial(int Init_Index) </p><p>  ASM:R1=[Init_Index] </p><p>  Call F_SACM_S480_Initial </p>

33、;<p>  【功能說明】SACM_S480語音播放之前的初始化。 </p><p>  【參數(shù)】Init_Index=0 表示手動方式;Init_Index=1 則表示自動方式。 </p><p>  【返回值】0:代表語音模塊初始化失敗 </p><p>  1:代表初始化成功。 </p><p>  【備注】該函數(shù)用于對定

34、時器、中斷和DAC等的初始化。 </p><p>  (2)【API格式】C:void SACM_S480_ServiceLoop(void) </p><p>  ASM:Call F_SACM_S480_ServiceLoop</p><p>  【功能說明】從資源中獲取SACM_S480語音資料,并將其填入解碼隊列中。</p><p>

35、<b>  【參數(shù)】無。</b></p><p><b>  【返回值】無。</b></p><p>  【備注】播放語音文件中數(shù)據(jù),當(dāng)出現(xiàn)FF FF FFH數(shù)據(jù)時便停止播放。 </p><p>  (3)【API格式】C:int SACM_S480_Play(int Speech_Index, int Channel,

36、int Ramp_Set);</p><p>  ASM:R1=[Speech_Index] </p><p>  R2=[Channel] </p><p>  R3=[Ramp_Set] </p><p>  Call SACM_S480_Play</p><p>  【功能說明】播放資源中SACM_S480語音。

37、</p><p>  【參數(shù)】Speech_Index 表示語音索引號。 </p><p>  Channel:1.通過DAC1通道播放; </p><p>  2.通過DAC2通道播放; </p><p>  3.通過DAC1和DAC2雙通道播放。 </p><p>  Ramp_Set:0.禁止音量增/減調(diào)節(jié); &

38、lt;/p><p>  1.僅允許音量增調(diào)節(jié); </p><p>  2.僅允許音量減調(diào)節(jié); </p><p>  3.允許音量增/減調(diào)節(jié)。</p><p><b>  【返回值】無。 </b></p><p><b>  【備注】 </b></p><p&g

39、t; ?、賁ACM_S480的數(shù)據(jù)率有4.8Kbps\7.2Kbps三種,可在同一模塊的幾種算法中自動選擇一種。 </p><p> ?、赟peech_Index是定義在resource.inc文件中資源表(T_SACM_S480_Speech Table)的偏移地址。</p><p>  ③中斷服務(wù)子程序中F_FIQ_Service_SACM_S480必須放在TMA_FIQ中斷向量上(參

40、見SPCE的中斷系統(tǒng))。 </p><p> ?、芎瘮?shù)允許TimerA以所選的的數(shù)據(jù)采樣率(計數(shù)溢出)中斷。 </p><p>  (4)【API格式】C:void SACM_S480_Stop(void); </p><p>  ASM:Call F_ SACM_S480_Stop </p><p>  【功能說明】停止播放SACM_S48

41、0語音。</p><p><b>  【參數(shù)】無。 </b></p><p><b>  【返回值】無。 </b></p><p>  (5)【API格式】C:void SACM_S480_Pause (void); </p><p>  ASM:Call F_ SACM_S480_Pause &l

42、t;/p><p>  【功能說明】暫停播放SACM_S480語音。 </p><p><b>  【參數(shù)】無。 </b></p><p><b>  【返回值】無。 </b></p><p>  (6)【API格式】C:void SACM_S480_Resume(void);</p>&l

43、t;p>  ASM:Call F_ SACM_S480_Resume</p><p>  【功能說明】恢復(fù)暫停播放的SACM_S480語音。 </p><p><b>  【參數(shù)】無。 </b></p><p><b>  【返回值】無。 </b></p><p>  (7)【API格式】C:

44、void SACM_S480_Volume(Volume_Index); </p><p>  ASM:R1=[ Volume_Index] </p><p>  Call F_Model-Index_Volume</p><p>  【功能說明】在播放SACM_S480語音時改變主音量。 </p><p>  【參數(shù)】Volume_Inde

45、x為音量數(shù),音量從最小到最大可在0~15之間選擇。 【返回值】無。 </p><p>  (8)【API格式】C:unsigned int SACM_S480_Status(void);</p><p>  ASM:Call F_SACM_S480_Status</p><p><b>  【返回值】=R1。</b></p>&l

46、t;p>  【功能說明】獲取SACM_S480語音播放的狀態(tài)。 </p><p><b>  【參數(shù)】無。</b></p><p>  【返回值】當(dāng)R1的值bit0=0,表示語音播放結(jié)束;bit0=1,表示語音在播放中。 </p><p>  (9)【API格式】ASM:Call F_FIQ_Service_SACM_S480 </

47、p><p>  【功能說明】用作SACM_S480語音背景程序的中斷服務(wù)子程序。通過前臺子程序(自動方式的SACM_S480_ServiceLoop及手動方式的SACM_S480_Dec ode)對語音資料進(jìn)行解碼,然后將其送入DAC通道播放。</p><p><b>  【參數(shù)】無</b></p><p><b>  【返回值】無。&l

48、t;/b></p><p>  【備注】SACM_S480語音背景子程序只有匯編指令形式,且應(yīng)將此子程序安置在TMA_FIQ中斷源上。 </p><p>  語音辨識應(yīng)用程序接口API的功能介紹及應(yīng)用</p><p>  在本系統(tǒng)中,借助語音辨識函數(shù)庫開發(fā)訓(xùn)練語音和語音識別功能,以達(dá)到語音控制小車的目的。</p><p>  圖3-3是

49、語音辨識的一個整體框圖:</p><p>  圖3-3 語音辨識原理框圖</p><p>  常用的API函數(shù)介紹:</p><p>  【API格式】C:int BSR_DeleteSDGroup(0);</p><p>  ASM:F_BSR_DeleteSDGroup(0)</p><p>  【功能說明】SRA

50、M初始化。</p><p>  【參數(shù)】該參數(shù)是辨識的一個標(biāo)識符,0代表選擇SRAM,并初始化。</p><p>  【返回值】當(dāng)SRAM擦除成功返回0,否則,返回-1。 </p><p><b>  訓(xùn)練部分:</b></p><p>  【API格式】C:int BSR_Train (int CommandID, i

51、nt TraindMode); </p><p>  ASM:F_BSR_Train</p><p>  【功能說明】訓(xùn)練函數(shù)。</p><p><b>  【參數(shù)】 </b></p><p>  CommandID:命令序號,范圍從0x100到0x105,并且對于每組訓(xùn)練語</p><p>&l

52、t;b>  都是唯一的。 </b></p><p>  TraindMode:訓(xùn)練次數(shù),要求使用者在應(yīng)用之前訓(xùn)練一或兩遍: </p><p>  BSR_TRAIN_ONCE:要求訓(xùn)練一次。 </p><p>  BSR_TRAIN_TWICE要求訓(xùn)練兩次。 </p><p>  【返回值】訓(xùn)練成功,返回0;沒有聲音返回-1

53、;訓(xùn)練需要更多的語音數(shù)</p><p>  據(jù)來訓(xùn)練,返回-2;當(dāng)環(huán)境太吵時,返回-3;當(dāng)數(shù)據(jù)庫滿,返回-4;當(dāng)兩次輸入命令不通,返回-5;當(dāng)序號超出范圍,返回-6。</p><p><b>  【備注】 </b></p><p>  在調(diào)用訓(xùn)練程序之前,確保識別器正確的初始化。</p><p>  訓(xùn)練次數(shù)是2時,則兩

54、次一定會有差異,所以一定要保證兩次訓(xùn)練結(jié)果接近 </p><p>  為了增強(qiáng)可靠性,最好訓(xùn)練兩次,否則辨識的命令就會傾向于噪音 </p><p>  調(diào)用函數(shù)后,等待2秒開始訓(xùn)練,每條命令只有1.3秒,也就是說,當(dāng)訓(xùn)練命令超出1.3秒時,只有前1.3秒命令有效。 </p><p><b>  辨識部分: </b></p><

55、;p>  (1)【API格式】C:void BSR_InitRecognizer(int AudioSource)</p><p>  ASM:F_BSR_InitRecognizer </p><p>  【功能說明】辨識器初始化。 </p><p>  【參數(shù)】定義語音輸入來源。通過MIC語音輸入還是LINE_IN電壓模擬量輸入。 </p>

56、<p><b>  【返回值】無。 </b></p><p>  (2)【API格式】C:int BSR_GetResult();</p><p>  ASM:F_ BSR_GetResult </p><p><b>  【返回值】=R1 </b></p><p>  【功能說明】辨識中

57、獲取數(shù)據(jù)。 </p><p><b>  【參數(shù)】無。 </b></p><p><b>  【返回值】 </b></p><p>  當(dāng)無命令識別出來時,返回0; </p><p>  識別器停止未初始化或識別未激活返回-1; </p><p>  當(dāng)識別不合格時返回-2;

58、 </p><p>  當(dāng)識別出來時返回命令的序號。 </p><p>  【備注】該函數(shù)用于啟動辨識,BSR_GetResult();</p><p>  (3)【API格式】C:void BSR_StopRecognizer(void); </p><p>  ASM:F_BSR_StopRecognizer </p>&l

59、t;p>  【功能說明】停止辨識。 </p><p><b>  【參數(shù)】無。 </b></p><p><b>  【返回值】無。 </b></p><p>  【備注】該函數(shù)是用于停止識別,當(dāng)調(diào)用此函數(shù),F(xiàn)IQ_TMA中斷將關(guān)閉。 </p><p><b>  中斷部分: <

60、;/b></p><p>  (4)【API格式】ASM:_BSR_InitRecognizer </p><p>  【功能說明】在中斷中調(diào)用,并通過中斷將語音信號送DAC通道播放。 </p><p><b>  【參數(shù)】無。 </b></p><p><b>  【返回值】無。 </b>&

61、lt;/p><p><b>  【備注】 </b></p><p> ?、?該函數(shù)在中斷FIQ_TMA中調(diào)用 </p><p>  ② 當(dāng)主程序調(diào)用BSR_InitRecognizer時,辨識器便打開8K采樣率的FIQ_TMA中斷并開始將采樣的語音數(shù)據(jù)填入辨識器的數(shù)據(jù)隊列中。 </p><p> ?、?應(yīng)用程序需要設(shè)置一下程

62、序段在FIQ_TMA中.</p><p><b>  本章小結(jié)</b></p><p>  本章介紹了凌陽SPCE061A的核心—語音,在此主要以S480為例分別從這種格式的存儲、播放、識別中所用到的API函數(shù)做了詳細(xì)的介紹。這些函數(shù)都為凌陽公司所提供的底層函數(shù),所以應(yīng)用時要注意函數(shù)的返回值以及函數(shù)的形參,這樣也會節(jié)省大量的時間進(jìn)行上層開發(fā)。</p>&

63、lt;p>  凌陽公司提供的這些API函數(shù)分別從C語言和匯編語言兩種形式提供給用戶,便于各方面用戶的調(diào)用。</p><p><b>  軟件設(shè)計</b></p><p><b>  系統(tǒng)軟件設(shè)計說明</b></p><p>  在進(jìn)行微機(jī)控制系統(tǒng)設(shè)計時,除了系統(tǒng)硬件設(shè)計外,大量的工作就是如何根據(jù)每個生產(chǎn)對象的實際需要

64、設(shè)計應(yīng)用程序。因此,軟件設(shè)計在微機(jī)控制系統(tǒng)設(shè)計中占重要地位。對于本系統(tǒng),軟件更為重要。</p><p>  在單片機(jī)控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過程控制程序主要是使單片機(jī)按一定的方法進(jìn)行計算,然后再輸出,以便控制生產(chǎn)。</p><p>  為了完成上述任務(wù),在進(jìn)行軟件設(shè)計時,通常把整個過程分成若干個部分,每一部分叫

65、做一個模塊。所謂“模塊”,實質(zhì)上就是所完成一定功能,相對獨立的程序段,這種程序設(shè)計方法叫模塊程序設(shè)計法。</p><p>  模塊程序設(shè)計法的主要優(yōu)點是:</p><p>  1.單個模塊比起一個完整的程序易編寫及調(diào)試;</p><p>  2.模塊可以共存,一個模塊可以被多個任務(wù)在不同條件下調(diào)用;</p><p>  3.模塊程序允許設(shè)計者

66、分割任務(wù)和利用已有程序,為設(shè)計者提供方便。</p><p>  本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑定時子程序、避障子程序﹑中斷子程序顯示子程序﹑調(diào)速子程序﹑算法子程序構(gòu)成。</p><p><b>  模塊分析</b></p><p>  整個軟件系統(tǒng)分主程序模塊、系統(tǒng)初始化模塊、語音功能模塊、顯示功能模塊、避障功能模塊、運行時間控制模塊、鍵

67、盤功能模塊。</p><p><b>  主程序</b></p><p><b>  主程序流程圖</b></p><p>  主程序是整個工程的核心。本項目的軟件設(shè)計大量采用子函數(shù)結(jié)構(gòu),主程序通過調(diào)用各種子函數(shù)來實現(xiàn)系統(tǒng)功能。在主程序里包含了函數(shù)的初始化,其中包含了IO口的初始化,中斷函數(shù)初始化,定時器初始化。還包含了訓(xùn)

68、練函數(shù),進(jìn)行語音存儲,識別函數(shù)的打開,蔽障和鍵盤的查詢,以及速度的檢測。</p><p>  在主程序的開始的進(jìn)行初始化之后,就會進(jìn)入一個死循環(huán)中。用查詢的方式判斷鍵值的輸入,以及判斷中斷標(biāo)志位的變化,進(jìn)而進(jìn)行相應(yīng)的處理。</p><p>  主程序的流程圖如圖4-1所示。</p><p>  圖4-1 主程序流程圖</p><p><

69、b>  初始化系統(tǒng)子函數(shù)</b></p><p>  該函數(shù)承擔(dān)著開機(jī)后初始化系統(tǒng)的任務(wù),包含初始化I/O端口工作模式、初始化變量與參數(shù)、初始化定時器TimerB及開放它的FIQ中斷。</p><p>  其中具體包含,初始化操作將IOB8~IOB11設(shè)置為輸出端,用以控制電機(jī)。必要時還要有對應(yīng)的輸入端設(shè)置和PWM端口設(shè)置等,同時還初始化IOA的高八口為顯示信號輸出端口。

70、初始IOA0,IOA1,IOA2為按鍵輸入端口,IOB2為避障信號輸入端口,IOB0,IOB4~IOB7初始為輸出端口用以控制數(shù)碼管和LED的位選。</p><p>  圖4-2 初始化系統(tǒng)子函數(shù)流程圖</p><p><b>  語音功能的實現(xiàn)</b></p><p>  凌陽科技針對SPCE061A開發(fā)了自己的語音函數(shù)庫,該函數(shù)庫能夠?qū)崿F(xiàn)語

71、音訓(xùn)練、辨識、錄制、播放等特色功能。</p><p>  通過語音訓(xùn)練建立若干語音指令的語音特征參數(shù)數(shù)組,SPCE061A在識別模式下通過對比采集到的特征參數(shù)與訓(xùn)練建立的特征參數(shù)進(jìn)行對比,根據(jù)對與不同訓(xùn)練指令的匹配程度輸出返回參數(shù),小車驅(qū)動電機(jī)子程序?qū)υ摲祷貐?shù)進(jìn)行判斷,決定前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn),還是原地不動。</p><p>  系統(tǒng)中,語音功能涉及到語音播放和語音識別,其實現(xiàn)的軟件流

72、程如下分析。</p><p><b>  語音播放功能</b></p><p>  此模塊的實現(xiàn)通過用戶編寫的播放子函數(shù)及中斷服務(wù)程序完成。</p><p>  在本設(shè)計中采用的是S480格式語音資源,它是介于A2000和S240語音格式之間一種資源,據(jù)有所占硬件存儲資源少,音質(zhì)清晰的特點。鑒于單片機(jī)內(nèi)部資源有限的特點,故選此格式。</p

73、><p>  (1)自動播放S480格式語音資源子函數(shù)</p><p>  傳入?yún)?shù)為語音資源的序號,軟件流程如圖4-3。</p><p>  圖4-3 S480語音播放流程</p><p>  (2)FIQ中斷服務(wù)程序</p><p>  系統(tǒng)功能中,實現(xiàn)S480語音播放、語音訓(xùn)練、語音識別這些功能需要使用中斷服務(wù)程序。

74、根據(jù)凌陽公司語音庫函數(shù)的要求,為提高語音播放質(zhì)量及保證識別效率,語音相關(guān)的后臺中斷服務(wù)函數(shù)必須安排在TimerA的FIQ中斷服務(wù)中。</p><p>  FIQ為凌陽61單片機(jī)的一個中斷類型,在61單片機(jī)中包含了三種中斷類型,分別為IRQ中斷、FIQ中斷、軟件中斷以及異常中斷,快速FIQ可以打斷普通中斷IRQ,形成中斷嵌套。</p><p>  為保證數(shù)碼管和LED顯示效果,將動態(tài)掃描數(shù)碼

75、管和LED的程序安排在TimerB的FIQ中斷服務(wù)中。</p><p>  該中斷服務(wù)程序采用匯編語言編寫,旨在提高代碼執(zhí)行效率。</p><p>  FIQ中斷服務(wù)程序流程圖如圖4-4所示。</p><p>  圖4-4 FIQ中斷服務(wù)程序</p><p><b>  語音訓(xùn)練與識別</b></p>&l

76、t;p>  語音識別主要分為“訓(xùn)練”和“識別”兩個階段。在訓(xùn)練階段,單片機(jī)對采集到的語音樣本進(jìn)行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,單片機(jī)對采集到的語音樣本也進(jìn)行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進(jìn)行對比,如果二者達(dá)到了一定的匹配度,則輸入的語音被識別。</p><p>  1.訓(xùn)練單條語音指令子函數(shù)</p><p&g

77、t;  訓(xùn)練單條語音為語音儲存的基礎(chǔ),在本設(shè)計中主要儲存了和小車動作相應(yīng)的語音,以及和在訓(xùn)練時相應(yīng)的語音。在訓(xùn)練時能儲存的語音要素一共為五句,分別為為小車所起的名字,和控制小車的前后左右運動的四句話。在儲存每一條語音時需要訓(xùn)練相同的兩遍,如果兩次輸入不同則會有相應(yīng)的語音提示,再從新輸入。</p><p>  訓(xùn)練單條語音指令子函數(shù)的軟件流程圖如圖4-5所示。</p><p>  圖4-5

78、單條語音訓(xùn)練程序流程</p><p>  2.訓(xùn)練多條語音指令的子函數(shù)</p><p>  訓(xùn)練多條語音指令的子函數(shù)程序流程如圖4-6所示。</p><p>  圖4-6 多條語音訓(xùn)練指令</p><p>  3.語音識別結(jié)果處理子函數(shù)</p><p>  語音識別結(jié)果處理子函數(shù)根據(jù)獲得的語音識別結(jié)果參數(shù)來執(zhí)行不同的程

79、序分支。小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)動作的子函數(shù)只有在外界獲得相匹配的語音要素后各子函數(shù)才被調(diào)用。調(diào)用之后,只能運行2秒鐘,因為當(dāng)打開運行函數(shù)的同時,也把4赫茲的時機(jī)中斷打開,定時2秒鐘。本系統(tǒng)只有在前進(jìn)的時候用到了PWM輸出控制。</p><p>  具體軟件流程圖如圖4-7所示。</p><p>  圖4-7 語音識別流程</p><p>  在該流程圖中,考慮

80、到小車從靜止到運動需要較大的電機(jī)功率輸出,故在程序上提出了一個軟件處理技巧,即在響應(yīng)“前進(jìn)”語音指令后,不立即使用PWM驅(qū)動方式降低電機(jī)輸出功率,而是首先全功率驅(qū)動電機(jī),在延時一段時間(預(yù)計小車狀態(tài)已轉(zhuǎn)換到運動狀態(tài))后,關(guān)閉全功率驅(qū)動,代替以有固定占空比的PWM波驅(qū)動。這樣可以有效降低小車穩(wěn)定運行時的行駛速度。</p><p>  每執(zhí)行一次小車動作,都會啟動IRQ5的2Hz中斷來倒計時,中斷計時到預(yù)先設(shè)定值后將

81、在中斷服務(wù)程序中停止小車并終止計時。</p><p><b>  顯示功能的實現(xiàn)</b></p><p><b>  更新顯示緩存子函數(shù)</b></p><p>  數(shù)碼管的掃描段碼與整數(shù)的位具有一一對應(yīng)的關(guān)系。更新顯示緩存子函數(shù)中,程序提取傳入?yún)?shù)(整數(shù))的個、十、百、千位并轉(zhuǎn)換為數(shù)碼管段碼(全局變量,作為顯示緩存的一部

82、分)。該功能實現(xiàn)的軟件流程圖如圖4-8所示。</p><p>  圖4-8 數(shù)碼管顯示流程</p><p><b>  動態(tài)掃描子函數(shù)</b></p><p>  數(shù)碼管顯示采用的方式為動態(tài)掃描。之前常用到方法為延時法,延時法的實質(zhì)是做無用計算,通過浪費時間來實現(xiàn)時間消耗,此方法會占用大量的CPU資源,降低CPU使用率。采用中斷法實現(xiàn)顯示掃描,

83、將掃描放在時基中斷中,每隔一定時間啟動一次掃描,其它時間CPU可運行其它程序,此時CPU的使用率較高,這種掃描方式摒除了傳統(tǒng)動態(tài)掃描中用冗余指令獲得延時的方法,而是充分利用兩次中斷響應(yīng)之間的停留時間作為視覺暫留時間。該方法能有效提高CPU運行效率。</p><p>  此外動態(tài)掃描法還要注意以下幾個方面:</p><p>  在切換位選前,需要清除段碼輸出,否則易造成顯示有殘影。</

84、p><p>  掃描頻率可以通過調(diào)節(jié)定時器初值完成。</p><p>  注意操作端口時不要影響沒有用到的I/O端口的狀態(tài)。</p><p>  動態(tài)掃描數(shù)碼管和LED的流程圖如圖4-9所示。</p><p>  圖4-9 掃描數(shù)碼管和LED的流程圖</p><p><b>  避障功能的實現(xiàn)</b>

85、</p><p>  在本設(shè)計中采用了中斷方式來進(jìn)行蔽障,節(jié)約了MCU的利用率,提高了它的處理速度。</p><p>  IRQ3中斷服務(wù)程序</p><p>  外部輸入信號EX1的IRQ3中斷服務(wù)程序是為避障傳感器遇障信號的響應(yīng)設(shè)置的。因語音播放遇障信息需要調(diào)用播放子函數(shù),其程序執(zhí)行時間相對較長,若直接設(shè)置在此中斷服務(wù)程序中,易造成中斷服務(wù)時間過長,影響系統(tǒng)其他

86、中斷的正常工作(特別是辨識功能將受很大影響)。故采取標(biāo)志傳遞的方法,在中斷中改變“障礙物檢測標(biāo)志”,主程序中的主循環(huán)程序通過查詢“障礙物檢測標(biāo)志”來決定是否語音播放遇障信息。其流程圖如圖4-10所示。</p><p>  圖4-10 IRQ3中斷服務(wù)程序</p><p><b>  鍵盤功能的實現(xiàn)</b></p><p>  按鍵所要完成的功能

87、是通過SPCE061A單元板上的按鍵動作,來完成相應(yīng)的預(yù)設(shè)的功能。而要實現(xiàn)按鍵的作用,在軟件上其基礎(chǔ)就要包含獲取鍵值和鍵值處理這兩個底層函數(shù)。</p><p><b>  獲取鍵值子函數(shù)</b></p><p>  當(dāng)按鍵按下時,相應(yīng)I/O端口被拉到高點平狀態(tài),單片機(jī)通過查詢I/O引腳的電平狀態(tài)來形成鍵值,鍵值反映了鍵盤按鍵的當(dāng)前操作狀態(tài)。</p>&l

88、t;p>  調(diào)用獲取鍵值子函數(shù)將返回當(dāng)前鍵盤鍵值。在主程序中對鍵值的選取是通過查詢的方式進(jìn)行的,所以只有按鍵有返回值后才能實現(xiàn)按鍵的作用,在再取鍵值的子函數(shù)中應(yīng)注意兩點,一是先讀取I/O口鍵值保存在寄存器中,判斷讀回值是否為零,為零則表示沒有鍵按下,返回零。非零則延時大約30ms后再次讀取I/O口鍵值,比較兩次讀取的鍵值是否相同,如果相同則返回鍵值,否則返回零。二是即使前兩次檢測按鍵值相同,但還有第三次判斷,所以當(dāng)按下按鍵后必須要

89、松開,不能一直按著,如果這樣的話,也不能作為一次有效地按鍵。</p><p>  其軟件流程圖如圖4-11所示。</p><p>  圖4-11 獲取鍵值流程圖</p><p><b>  鍵值處理子函數(shù)</b></p><p>  鍵值處理子函數(shù)的傳入?yún)?shù)為某鍵值,其功能為根據(jù)不同鍵值執(zhí)行不同的功能。在本系統(tǒng)中,按鍵功

90、能設(shè)置為:</p><p>  KEY1:設(shè)置模式進(jìn)入/退出鍵</p><p>  KEY2:運行時間加1操作鍵</p><p>  KEY3:運行時間減1操作鍵</p><p>  如果KEY1沒有進(jìn)入設(shè)置模式,直接按下KEY2鍵四位數(shù)碼管就會顯示小車的當(dāng)前的車速,直接按下KEY3,就會從擦出上次的訓(xùn)練語音,從新進(jìn)入訓(xùn)練狀態(tài)。</p&

91、gt;<p>  鍵值處理子函數(shù)的軟件流程圖如圖4-12所示。</p><p>  圖4-12 鍵值處理流程圖</p><p><b>  直流調(diào)速系統(tǒng)</b></p><p><b>  方案分析</b></p><p>  根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加

92、裝光電檢測器,實現(xiàn)對電動車的速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。</p><p>  這種方案能實現(xiàn)對電動車的運動狀態(tài)進(jìn)行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。</p><p>  方案一:串電阻調(diào)速系統(tǒng)。</p><p>  方案二:靜止可控整流器。簡稱V-M

93、系統(tǒng)。</p><p>  方案三:脈寬調(diào)速系統(tǒng)。</p><p>  旋轉(zhuǎn)變流系統(tǒng)由交流發(fā)電機(jī)拖動直流電動機(jī)實現(xiàn)變流,由發(fā)電機(jī)給需要調(diào)速的直流電動機(jī)供電,調(diào)節(jié)發(fā)電機(jī)的勵磁電流即可改變其輸出電壓,從而調(diào)節(jié)電動機(jī)的轉(zhuǎn)速。改變勵磁電流的方向則輸出電壓的極性和電動機(jī)的轉(zhuǎn)向都隨著改變,所以G-M系統(tǒng)的可逆運行是很容易實現(xiàn)的。該系統(tǒng)需要旋轉(zhuǎn)變流機(jī)組,至少包含兩臺與調(diào)速電動機(jī)容量相當(dāng)?shù)男D(zhuǎn)電機(jī),還要一

94、臺勵磁發(fā)電機(jī),設(shè)備多、體積大、費用高、效率低、維護(hù)不方便等缺點。且技術(shù)落后,因此擱置不用。</p><p>  V-M系統(tǒng)是當(dāng)今直流調(diào)速系統(tǒng)的主要形式。它可以是單相、三相或更多相數(shù),半波、全波、半控、全控等類型,可實現(xiàn)平滑調(diào)速。V-M系統(tǒng)的缺點是晶閘管的單向?qū)щ娦?,它不允許電流反向,給系統(tǒng)的可逆運行造成困難。它的另一個缺點是運行條件要求高,維護(hù)運行麻煩。最后,當(dāng)系統(tǒng)處于低速運行時,系統(tǒng)的功率因數(shù)很低,并產(chǎn)生較大的

95、諧波電流危害附近的用電設(shè)備。</p><p>  采用晶閘管的直流斬波器基本原理與整流電路不同的是,在這里晶閘管不受相位控制,而是工作在開關(guān)狀態(tài)。當(dāng)晶閘管被觸發(fā)導(dǎo)通時,電源電壓加到電動機(jī)上,當(dāng)晶閘管關(guān)斷時,直流電源與電動機(jī)斷開,電動機(jī)經(jīng)二極管續(xù)流,兩端電壓接近于零。脈沖寬度調(diào)制(Pulse Width Modulation),簡稱PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時間,即通過改變脈沖寬度來進(jìn)行直流調(diào)速。&l

96、t;/p><p>  與V-M系統(tǒng)相比,PWM調(diào)速系統(tǒng)有下列優(yōu)點:</p><p> ?。?)由于PWM調(diào)速系統(tǒng)的開關(guān)頻率較高,僅靠電樞電感的濾波作用就可以獲得脈動很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運行平穩(wěn),調(diào)速范圍較寬,可達(dá)1:10000左右。由于電流波形比V-M系統(tǒng)好,在相同的平均電流下,電動機(jī)的損耗和發(fā)熱都比較小。</p><p> ?。?)同樣由于開關(guān)

97、頻率高,若與快速響應(yīng)的電機(jī)相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應(yīng)性能好,動態(tài)抗擾能力強(qiáng)。</p><p> ?。?)由于電力電子器件只工作在開關(guān)狀態(tài),主電路損耗較小,裝置效率較高。</p><p>  脈寬調(diào)速也可通過單片機(jī)控制繼電器的閉合來實現(xiàn),但是驅(qū)動能力有限。為順利實現(xiàn)電動小汽車的前行與倒車,本設(shè)計采用了可逆PWM變換器??赡鍼WM變換器主電路的結(jié)構(gòu)式有H型、T型等類型。我們在

98、設(shè)計中采用了常用的雙極式H型變換器,它是由4個三極電力晶體管組成的橋式電路。</p><p><b>  PWM技術(shù)介紹</b></p><p>  PWM利用三極管等開關(guān)器件將直流電壓變?yōu)榉讲ǖ男问?,輸出的電壓就在VLoad和0V之間不停的跳變,如圖4-13所示</p><p>  圖4-13 PWM計算示意圖</p><

99、p>  平均電壓Uo=Th/(Th+Tl)*VLoad</p><p>  可通過調(diào)整PWM的占空比來改變Th和Tl的比值</p><p>  例如:Th=5ms Ti=5ms VLoad=1V</p><p>  Uo=Th/(Th+Tl)*VLoad</p><p>  =5/(5+5)*1</p><p>

100、<b>  =0.5V</b></p><p>  本設(shè)計中由SPCE061A的IOB8、IOB9輸出PWM信號,經(jīng)過H橋電路放大,驅(qū)動后輪直流電機(jī)可通過設(shè)置P_TimerA_Ctrl單元該單元的第0~5位來選擇TimerA的時鐘源(時鐘源A、B)設(shè)置該單元的第6~9位,TimerA將輸出不同頻率的脈寬調(diào)制信號,即對脈寬占空比輸出PWM進(jìn)行控制。</p><p>  

101、有關(guān)P_TimerA_Ctrl寄存器的功能介紹詳見表4-14。</p><p>  表4-14 P_TimerA_Ctrl單元</p><p>  通過對P_TimerA_Ctrl的b9-b6位的設(shè)置可以決定PWM的輸出狀態(tài),其中當(dāng)這四位都為0時,為關(guān)斷PWM的輸出。相應(yīng)的加1,其占空比加1,因為為四位的設(shè)置,所以SPCE061A的PWM輸出為十六級輸出。</p><p

102、>  所以針對本設(shè)計的核心控制芯片SPCE061A要想輸出PWM信號,只要對P_TimerA_Ctrl做相應(yīng)的賦值即可,操作十分簡單。</p><p><b>  本章小結(jié)</b></p><p>  本章為本設(shè)計的核心部分,前幾章的介紹都為此章所服務(wù),此章先是從語音的識別,介紹了小車如何受語音控制。又介紹了蔽障服務(wù)程序,接著介紹了鍵盤取值方式,最后重點講述了凌

103、陽SPCE061A的另一大特色PWM輸出控制。</p><p>  測試數(shù)據(jù)、測試結(jié)果分析及結(jié)論</p><p><b>  訓(xùn)練小車</b></p><p>  訓(xùn)練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓(xùn)練過,如果沒有訓(xùn)練過則要求對其進(jìn)行訓(xùn)練,并且會在訓(xùn)練成功之后將訓(xùn)練的模型存儲到FLASH,在以后使用時不需要重新訓(xùn)練;如

104、果已經(jīng)訓(xùn)練過會把存儲在FLASH中的模型調(diào)出來裝載到辨識器中。</p><p>  成功下載程序以后,小車就會提示你對它進(jìn)行訓(xùn)練。訓(xùn)練采用應(yīng)答式訓(xùn)練,每條指令的訓(xùn)練為兩次,每一條命令的訓(xùn)練過程都是一樣的,以前進(jìn)為例說明:</p><p>  步驟一:小車提示“前進(jìn)”;</p><p>  步驟二:告訴小車“前進(jìn)”;</p><p>  步驟三

105、:小車提示“請再說一遍”(重復(fù)訓(xùn)練提示音);</p><p>  步驟四:再次告訴小車“前進(jìn)”(重復(fù)訓(xùn)練一次)。</p><p>  這是一個完整的訓(xùn)練過程,如果訓(xùn)練成功,小車會自動進(jìn)入下一條指令的訓(xùn)練,并會提示您下一條指令對應(yīng)的動作(后退,左拐,右拐等);如果沒有訓(xùn)練成功,小車會提示“說什么暗語呀”或者“沒有聽到任何聲音”等信息,這樣的話您就要重復(fù)剛才所說的四個步驟,直到成功為止。<

106、;/p><p>  整個的訓(xùn)練過程共有5次這樣的訓(xùn)練,依次為:名稱——前進(jìn)——后退——左拐——右拐。</p><p>  在識別環(huán)節(jié)當(dāng)中,如果辨識結(jié)果是名字,停止當(dāng)前的動作并進(jìn)入待命狀態(tài),然后等待動作命令。如果辨識結(jié)果為動作指令小車會語音告知相應(yīng)動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車的名字使小車停下來。</p><p>  以下為小車的語音識別具體過程如下:&l

107、t;/p><p>  第一:叫小車的名字,小車在識別出名字以后會有一個回應(yīng)信號。</p><p>  第二:可以直接對小車說前進(jìn),倒車,左拐,右拐等,小車如果識別出指令同樣會有一個回應(yīng)信號,告訴你它要執(zhí)行的動作,然后執(zhí)行對應(yīng)的動作,稍后小車會自然的停下來,或者遇到障礙物停車并發(fā)出警報;</p><p>  在小車運行過程中可以再次對小車發(fā)出控制指令,小車在識別后會結(jié)束當(dāng)

108、前運動狀態(tài)并執(zhí)行新的命令。 </p><p>  第三:小車在運行前,你可以使用61板上面的KEY1鍵進(jìn)入時間設(shè)定模式,KEY2和KEY3鍵盤設(shè)定小車前進(jìn)時間。</p><p><b>  重新訓(xùn)練</b></p><p>  考慮到有重新訓(xùn)練的需求,設(shè)置了重新訓(xùn)練的按鍵(61板的KEY3),循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓(xùn)練標(biāo)志

109、位(0xe000單元),并等待復(fù)位。復(fù)位后,程序重新執(zhí)行,當(dāng)檢測到訓(xùn)練標(biāo)志位為0xffff時會要求重新對其進(jìn)行訓(xùn)練。</p><p>  測試中可能出現(xiàn)的情況及其排查</p><p>  在實際的測試過程當(dāng)中,可能會出現(xiàn)一系列的問題,請參照表5-1所示。</p><p>  表5-1 測試問題解決方案對照表:</p><p><b>

110、;  本章小結(jié)</b></p><p>  本章主要介紹了本設(shè)計的使用以及在測試中遇到的一些問題的解決方法,由于本設(shè)計嚴(yán)格按照程序而行,所以在訓(xùn)練和使用時最好是按照前面的說明進(jìn)行。在運用時可能會出現(xiàn)電源連接不上,程序不能正常下載等,怎樣去排除這些問題,順利的進(jìn)行調(diào)試,在本章也都介紹了常用的解決方式。</p><p><b>  結(jié)論與展望</b></

111、p><p><b>  結(jié)論</b></p><p>  歷時三個月的設(shè)計過程中,我首先邊查資料,邊在實驗室焊接小車的線路板。在焊接過程中,我感覺到即使是一個簡單的電路,要想很輕松的焊好,也不是很容易的事情。有時是“虛焊”的原因,有時可能是阻值選錯。在焊接顯示電路時,我就錯將680歐的電阻焊成了6.8千歐。這使我深深感受到理論與實際間的差距。通過這樣的設(shè)計,提高了我的動手

112、能力。每天在實驗室除了焊接線路板,還可以上機(jī)編程,使我軟件調(diào)試知識也提高了。</p><p>  本設(shè)計采用的是SPCE61A單片機(jī),這主要是因為該單片機(jī)的穩(wěn)定性比較好。還可以采用其它系列的單片機(jī)。結(jié)構(gòu)上配合多種傳感器,實現(xiàn)了自動蔽障,速度測量,以及顯示模塊的增加,為智能小車增加了亮點。設(shè)計中充分發(fā)揮了SPCE61A單片機(jī)的硬件資源,兩個中斷、兩個定時器、多個時機(jī)中斷的應(yīng)用,加之單片機(jī)的特色語音識別、PWM輸出的

113、合理應(yīng)用,基本上壓干了單片機(jī)的所有資源。當(dāng)然在設(shè)計中也有一些地方做的不盡完善,比如語音識別只能識別五句話,速度控制只用到了單環(huán)反饋等等,這些都需要以后的完善。</p><p><b>  展望</b></p><p>  智能機(jī)器人是一個國家高科技發(fā)展水平的重要標(biāo)志之一 ,具有廣闊的應(yīng)用前景。機(jī)器人技術(shù)的發(fā)展是一個國家高科技水平和工業(yè)自動化程度的重要標(biāo)志和體現(xiàn)。機(jī)器人

114、在當(dāng)前生產(chǎn)生活中的應(yīng)用越來越廣泛 ,正在替代人發(fā)揮著日益重要的作用。機(jī)器人技術(shù)是綜合了計算機(jī)、控制論、機(jī)構(gòu)學(xué)、信息和傳感技術(shù)、人工智能、仿生學(xué)等多學(xué)科而形成的高新技術(shù) ,集成了多學(xué)科的發(fā)展成果 ,代表高技術(shù)的發(fā)展前沿 ,是當(dāng)前科技研究的熱點方向。隨著計算機(jī)、微電子、信息技術(shù)的快速進(jìn)步 ,機(jī)器人技術(shù)的開發(fā)速度越來越快 ,智能度越來越高 ,應(yīng)用范圍也得到了極大的擴(kuò)展。</p><p>  隨著社會的不斷進(jìn)步,科學(xué)技術(shù)

115、的不斷發(fā)展,面向智能化方向的科學(xué)更成為當(dāng)代社會的重要科學(xué)。然而,智能化的科學(xué)之中,對外界信息的采集和處理成為這門科學(xué)的重要支柱之一。在當(dāng)代科學(xué)技術(shù)中占有十分重要的地位,因此汽車機(jī)器人領(lǐng)域這也為一個不容忽視的發(fā)展方向。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 羅亞非。凌陽16位單片機(jī)應(yīng)用基礎(chǔ)。北京:北京航空航天大學(xué)出版社,2003<

116、;/p><p>  [2] 譚浩強(qiáng)。C程序設(shè)計。北京:清華大學(xué)出版社,1999</p><p>  [3] 唐清善等。Protel DXP 高級實例教程。北京:中國水利水電出版社,2004</p><p>  [4] 李正軍。計算機(jī)控制系統(tǒng)。北京:機(jī)械工業(yè)出版社,2005</p><p>  [5] 高峰編。單片微型計算機(jī)原理與接口技術(shù)。北京:科

117、學(xué)出版社,2003</p><p>  [6] 船倉一朗,土屋堯等(日)。機(jī)器人控制電子學(xué)。宗光華,楊洋,唐伯雁譯。北京:科學(xué)出版社,2004</p><p>  [7] Ramon Pallas-Areny,John G. Webster(美)。傳感器和信號調(diào)節(jié),第2版。張倫譯。北京:清華大學(xué)出版社,2003</p><p><b>  。</b&

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論