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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于單片機(jī)的語(yǔ)音控制小車(chē)設(shè)計(jì)</p><p><b>  摘要</b></p><p>  隨著電子工業(yè)的發(fā)展,具有語(yǔ)音控制功能的小車(chē)越來(lái)越受到人們的青睞,在人們的日常消費(fèi)生活中起著不可忽視的作用。目前,聲控技術(shù)已在很多領(lǐng)域得到使用。</p><p>  本文對(duì)語(yǔ)音控制功能的小車(chē)概況做了闡述。在硬件設(shè)計(jì)方面,本論文以凌陽(yáng)公

2、司的SPCE061A單片機(jī)為控制核心,以語(yǔ)音小車(chē)控制電路板為輔,設(shè)計(jì)小車(chē)的動(dòng)作。完成了電源電路、復(fù)位電路、鍵盤(pán)電路、音頻輸入電路,音頻輸出電路和無(wú)線(xiàn)控制電路等硬件功能模塊的設(shè)計(jì)。在軟件方面,利用C語(yǔ)言進(jìn)行編程,進(jìn)行語(yǔ)音的“訓(xùn)練”和“識(shí)別”。設(shè)計(jì)出具有如下功能的語(yǔ)音聲控小車(chē):能夠根據(jù)錄制的語(yǔ)音命令來(lái)控制小車(chē)的前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn)的功能。測(cè)試表明,在環(huán)境背景噪音不太大,控制者的發(fā)音清晰的前提下,語(yǔ)音控制小車(chē)的語(yǔ)音識(shí)別系統(tǒng)能對(duì)特定的語(yǔ)音指令

3、做出智能反應(yīng),做出預(yù)想中的有限的動(dòng)作。</p><p>  論文首先對(duì)系統(tǒng)的方案進(jìn)行論證,然后對(duì)各單元的軟件、硬件工作原理進(jìn)行了闡述,并介紹了系統(tǒng)的主要組成部分情況。</p><p>  關(guān)鍵詞:SPCE061A,語(yǔ)音識(shí)別,全橋驅(qū)動(dòng),小車(chē)</p><p>  Voice control car design based on single chip microcom

4、puter</p><p><b>  Abstract</b></p><p>  With the development of the electronics industry, the voice - the control car become more and more popular to people. And it plays an importan

5、t role in people 's daily life. At present, the voice - activated technology has had 2 in many fields, For example, voice - activated phone. Only if you called out the names you want and it automatically called to th

6、e telephone. </p><p>  This article gives a detail to the voice-activated car. In hardware design, the paper use Sunplus SPCE061A as the control of core. On the software, we use C language programming for vo

7、ice "training"and"recognition". .Completedthepowercircuit,resetcircuit,keyboardcircuitry,audioinputcircuits,audiooutputcircuitandcontrolcircuitofwirelesshardwaresuchasthedesignoffunctionmodules.It has

8、 the following features: According to recorded the voice command to control the car to start, stop,turn right , and </p><p>  First of all, cca shut confirm the system of the program, and then describe the u

9、nit 's software and hardware as well as introduce the main components of the situation.</p><p>  Key words: SPCE061A,Speech Recognition,F(xiàn)ull-bridge ,driver,Trolley</p><p><b>  目 錄</

10、b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p>  第1章 緒 論- 1 -</p><p>  1.1 選題的目的和意義- 1 -</p><p>  1.1.1選題目的- 1 -</p><p&

11、gt;  1.1.2.選題意義- 1 -</p><p>  1.2 語(yǔ)音小車(chē)的發(fā)展及現(xiàn)狀- 1 -</p><p>  1.3 課題的目的任務(wù)和要求- 2 -</p><p>  第2章 語(yǔ)音小車(chē)的方案論證- 3 -</p><p>  2.1 語(yǔ)音控制方案- 3 -</p><p>  2.2 方

12、案論證- 4 -</p><p>  2.2.1 采用DSP+FPGA方案- 4 -</p><p>  2.2.2采用MCS-51方案- 4 -</p><p>  2.2.3 采用凌陽(yáng)61方案- 5 -</p><p>  2.3 系統(tǒng)控制方案- 6 -</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)- 9

13、 -</p><p>  3.1 系統(tǒng)硬件總體設(shè)計(jì)- 9 -</p><p>  3.2 系統(tǒng)各單元設(shè)計(jì)- 10 -</p><p>  3.2.1 控制單元設(shè)計(jì)- 10 -</p><p>  3.2.2 動(dòng)力單元設(shè)計(jì)- 15 -</p><p>  3.2.3 音頻單元設(shè)計(jì)- 16 -</

14、p><p>  3.2.4 小車(chē)單元設(shè)計(jì)- 19 -</p><p>  3.3 系統(tǒng)總體電路圖- 26 -</p><p>  第4章 系統(tǒng)軟件設(shè)計(jì)- 27 -</p><p>  4.1 系統(tǒng)總體程序設(shè)計(jì)- 27 -</p><p>  4.2 系統(tǒng)各分支設(shè)計(jì)- 28 -</p><

15、;p>  4.2.1訓(xùn)練子程序- 28 -</p><p>  4.2.2語(yǔ)音識(shí)別子程序- 29 -</p><p>  4.2.3動(dòng)作子程序- 31 -</p><p>  4.2.4中斷子程序- 34 -</p><p>  第5章 系統(tǒng)調(diào)試- 37 -</p><p>  5.1 硬件調(diào)試-

16、37 -</p><p>  5.2 軟件調(diào)試- 38 -</p><p>  5.3 系統(tǒng)聯(lián)調(diào)- 39 -</p><p>  結(jié) 論- 41 -</p><p>  參考文獻(xiàn)- 43 -</p><p>  致 謝- 45 -</p><p>  附 錄- 47 -</

17、p><p><b>  第1章 緒 論</b></p><p>  1.1 選題的目的和意義</p><p><b>  1.1.1選題目的</b></p><p>  通過(guò)設(shè)計(jì)一個(gè)用單片機(jī)控制的語(yǔ)音小車(chē)來(lái)熟悉模塊化編程方法,掌握C語(yǔ)言匯編語(yǔ)言的程序設(shè)計(jì)和調(diào)試方法,并理解單片機(jī)的原理、結(jié)構(gòu)、指令;運(yùn)

18、行模式及應(yīng)用方法。</p><p>  1.1.2.選題意義</p><p>  語(yǔ)音識(shí)別系統(tǒng)的實(shí)用化研究是語(yǔ)音識(shí)別研究的一個(gè)主要方向。以玩具市場(chǎng)為例,具有高科技含量的電子玩具、智能玩具發(fā)展迅猛,電子互動(dòng)式、智能化玩具已經(jīng)成為玩具行業(yè)發(fā)展的主流。我國(guó)是玩具生產(chǎn)和出口大國(guó),但在高科技玩具的發(fā)展方面和國(guó)外的差距很大,因此,及時(shí)投入精力廣泛開(kāi)展這方面的研究,無(wú)論對(duì)技術(shù)創(chuàng)新應(yīng)用,還是社會(huì)經(jīng)濟(jì)發(fā)展,

19、都有巨大的現(xiàn)實(shí)意義。與機(jī)器進(jìn)行語(yǔ)音交流,讓機(jī)器明白你說(shuō)什么,這是人們長(zhǎng)期以來(lái)夢(mèng)寐以求的事情。語(yǔ)音識(shí)別技術(shù)就是讓機(jī)器通過(guò)識(shí)別和理解過(guò)程把語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令的高技術(shù)。近二十年來(lái),語(yǔ)音識(shí)別技術(shù)取得顯著進(jìn)步,開(kāi)始從實(shí)驗(yàn)室走向市場(chǎng)。語(yǔ)音識(shí)別功能大大增加了玩具使用的樂(lè)趣,并使玩具體現(xiàn)出一定的智能性,因此成為大部分電子玩具、智能玩具設(shè)計(jì)中使用的關(guān)鍵技術(shù)。本文利用凌陽(yáng)單片機(jī)設(shè)計(jì)一個(gè)具有語(yǔ)音識(shí)別功能的智能遙控小車(chē)。該設(shè)計(jì)將遙控車(chē)由傳統(tǒng)的手動(dòng)遙

20、控改成了語(yǔ)音識(shí)別遙控,集成了先進(jìn)的語(yǔ)音識(shí)別技術(shù),加上小車(chē)的機(jī)動(dòng)靈活的特點(diǎn),使控制者可以通過(guò)語(yǔ)音控制小車(chē)實(shí)現(xiàn)預(yù)設(shè)動(dòng)作,從而釋放控制者的雙手,而且小車(chē)和控制者之間還具有一定的交互功能。所以此次研究具有較強(qiáng)的實(shí)用性和發(fā)展前景。</p><p>  1.2 語(yǔ)音小車(chē)的發(fā)展及現(xiàn)狀</p><p>  隨著微電子技術(shù)、計(jì)算機(jī)技術(shù)、及傳感器技術(shù)的迅速發(fā)展,現(xiàn)今聲控技術(shù)已經(jīng)應(yīng)用到社會(huì)中的各個(gè)角落,為人們

21、提供著各種便利。</p><p>  1、聲控玩具車(chē):進(jìn)一步提高系統(tǒng)的濾噪性能,和識(shí)別的準(zhǔn)確率,并利用已有的軟件開(kāi)發(fā)出獨(dú)具特色的語(yǔ)音芯片,并將其集成在遙控上即可做出聲控玩具車(chē)。</p><p>  2、能識(shí)別主人的看門(mén)狗:在本系統(tǒng)的基礎(chǔ)上擴(kuò)充對(duì)說(shuō)話(huà)者的識(shí)別功能,并將軟件硬件化,集成在芯片上。將芯片置于防盜門(mén)上,使之可以完成主人叫門(mén)即開(kāi)門(mén)的功能。</p><p>  

22、3、真實(shí)汽車(chē)上的聲控系統(tǒng):在駕駛的過(guò)程中,不便于用手來(lái)完成的其它操作可以用聲控系統(tǒng)來(lái)實(shí)現(xiàn)。這于我們的系統(tǒng)是極其相似的。但是實(shí)際的汽車(chē)中可能存在著大量的噪聲,所以,濾噪便成為最為關(guān)鍵的技術(shù)。</p><p>  聲控技術(shù)雖然是一項(xiàng)比較先進(jìn)的技術(shù)。但是,聲控技術(shù)在無(wú)限傳輸時(shí)的合成的質(zhì)量不是很好,它還需進(jìn)一步提高,因?yàn)闊o(wú)線(xiàn)環(huán)境中的背景噪音太大了,當(dāng)然還有其他方面的因素影響著聲控功能的發(fā)揮,具體來(lái)說(shuō)表現(xiàn)在以下幾個(gè)方面:&

23、lt;/p><p>  1 、時(shí)效型。從發(fā)出指令到執(zhí)行指令,有一段延遲時(shí)間,雖已降低到盡可能的小,但還是很明顯。可行的方法就是改用高效的DSP芯片,這在經(jīng)費(fèi)上和時(shí)間上都是不允許的。</p><p>  2.、對(duì)環(huán)境的適應(yīng)。如果環(huán)境噪聲很大,或偶爾出現(xiàn)較大的噪聲,則會(huì)出現(xiàn)誤識(shí)。這個(gè)不足之處還沒(méi)有很有效的解決方案。</p><p>  3、多人識(shí)別。各人的發(fā)音不盡相同,因此

24、該系統(tǒng)還限于單人識(shí)別。若要做多人識(shí)別,則識(shí)別的時(shí)效性會(huì)降低,即有很大的延遲。另外,多人識(shí)別,也沒(méi)有較為有效、成熟的算法供參考。</p><p>  1.3 課題的目的任務(wù)和要求</p><p>  聲控小車(chē)其技術(shù)要求是通過(guò)相關(guān)語(yǔ)音對(duì)小車(chē)進(jìn)行操作控制。使用了“前、后、左、右、?!蔽鍌€(gè)字作為小車(chē)行駛的指令。本畢業(yè)設(shè)計(jì)有助于培養(yǎng)我們的獨(dú)立動(dòng)手能力、思考能力。具體的項(xiàng)目制作過(guò)程分為兩部分:軟件部

25、分和硬件部分。其目的讓我們熟悉61板的設(shè)計(jì)與制作,并掌握其原理;學(xué)會(huì)運(yùn)用C語(yǔ)言進(jìn)行編程且運(yùn)用。</p><p>  語(yǔ)音控制小車(chē)的主要功能: </p><p>  1. 可以通過(guò)簡(jiǎn)單的I/O操作實(shí)現(xiàn)小車(chē)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)功能; </p><p>  2. 配合SPCE061A的語(yǔ)音特色,利用系統(tǒng)的語(yǔ)音播放和語(yǔ)音識(shí)別資源,實(shí)現(xiàn)語(yǔ)音控制的功能; </p&

26、gt;<p>  3. 可以在行走過(guò)程中聲控改變小車(chē)運(yùn)動(dòng)狀態(tài); </p><p>  4. 在超出語(yǔ)音控制范圍時(shí)能夠自動(dòng)停車(chē)。</p><p>  第2章 語(yǔ)音小車(chē)的方案論證</p><p>  2.1 語(yǔ)音控制方案</p><p><b>  2.1.1基本原理</b></p><

27、;p>  機(jī)器語(yǔ)音識(shí)別、處理的過(guò)程與人對(duì)語(yǔ)音識(shí)別、理解過(guò)程基本上是一致的,目前主流的語(yǔ)音識(shí)別技術(shù)是基于統(tǒng)計(jì)模式識(shí)別的基本理論。一個(gè)完整的語(yǔ)音識(shí)別系統(tǒng)可大致分為語(yǔ)音特征提取、聲學(xué)模型與模式匹配(識(shí)別算法)和語(yǔ)義理解3部分。其基本原理如圖2.1所示。</p><p>  圖2.1語(yǔ)音識(shí)別系統(tǒng)原理框圖</p><p>  從圖中我們可以看出語(yǔ)音識(shí)別一般分為2個(gè)步驟:第一步是系統(tǒng)“學(xué)習(xí)”或“

28、訓(xùn)練”階段,這一個(gè)階段的任務(wù)是建立識(shí)別基本單元的聲學(xué)模型以及進(jìn)行文法分析的語(yǔ)言模型,即構(gòu)建參考模式庫(kù);第二步是“識(shí)別”或“測(cè)試”階段,根據(jù)識(shí)別系統(tǒng)的類(lèi)型選擇能夠滿(mǎn)足要求的識(shí)別方法,采用語(yǔ)音分析方法分析出這種識(shí)別方法所要求的語(yǔ)音特征參數(shù),按照一定的準(zhǔn)則和測(cè)度與參考模式庫(kù)中的模型進(jìn)行比較,通過(guò)判決得出結(jié)果。</p><p>  2.1.2語(yǔ)音識(shí)別系統(tǒng)的構(gòu)成</p><p>  語(yǔ)音識(shí)別系統(tǒng)的基

29、本結(jié)構(gòu)主要包括預(yù)處理、A /D轉(zhuǎn)換、起止點(diǎn)識(shí)別、特征提取和識(shí)別判斷等部分, 結(jié)構(gòu)如下圖2.2所示。</p><p>  圖2.2語(yǔ)音識(shí)別系統(tǒng)的基本結(jié)構(gòu)</p><p><b>  2.2 方案論證</b></p><p>  2.2.1 采用DSP+FPGA方案</p><p>  語(yǔ)音識(shí)別根據(jù)實(shí)際需要和應(yīng)用場(chǎng)合的不同

30、,可以分為孤立詞識(shí)別和連續(xù)語(yǔ)音識(shí)別、特定人識(shí)別和非特定人識(shí)別。語(yǔ)音識(shí)別追求的主要指標(biāo)為高識(shí)別率、實(shí)時(shí)性和大詞匯量;而對(duì)于一個(gè)語(yǔ)音識(shí)別系統(tǒng),還應(yīng)考慮軟硬件設(shè)計(jì)簡(jiǎn)單、價(jià)格低廉、外圍控制靈活、人機(jī)交互便捷等特點(diǎn)。現(xiàn)在應(yīng)用于語(yǔ)音識(shí)別的芯片主要為DSP(數(shù)字信號(hào)處理器)芯片:如TI公司的TMS320系列。然而, 將DSP 芯片用于小型語(yǔ)音識(shí)別系統(tǒng)中, 其不足之處是很明顯的:引腳多、 價(jià)格貴、 使用繁瑣;控制功能弱,常需要與單片機(jī)或FPGA (現(xiàn)場(chǎng)

31、可編程門(mén)陣列)結(jié)合, 來(lái)實(shí)現(xiàn)人機(jī)交互; 常需要外接A /D 轉(zhuǎn)換芯片;引腳為3. 3 V,與單片機(jī)、FPGA、F lash 存儲(chǔ)器等連接時(shí),要考慮電平匹配。這些將使整個(gè)系統(tǒng)結(jié)構(gòu)龐大,設(shè)計(jì)繁瑣。</p><p>  2.2.2采用MCS-51方案</p><p>  采用 MCS-51 系列單片機(jī)實(shí)現(xiàn),由于有語(yǔ)音識(shí)別和語(yǔ)音播放功能,所以需要擴(kuò)展語(yǔ)音識(shí)別模塊和語(yǔ)音播放模塊,這樣必然造成端口的資

32、源緊張,所以還必須加入接口擴(kuò)展芯片。該實(shí)現(xiàn)方案結(jié)構(gòu)如圖 2.3 所示。</p><p>  圖2.3采用 MCS-51 系列單片機(jī)實(shí)現(xiàn)語(yǔ)音控制小車(chē)</p><p>  2.2.3 采用凌陽(yáng)61方案</p><p>  SPCE061A是凌陽(yáng)科技推出的一個(gè)16位結(jié)構(gòu)的微控制器。CPU時(shí)鐘頻率為0.32~49.152 MHz,具有較高的處理速度,可使μ’n SPTM能夠

33、非常容易、快速地處理復(fù)雜的數(shù)字信號(hào);擁有可編程音頻處理;內(nèi)置2 K Word的SRAM和32 K Word的FLASH;2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值),2個(gè)10位DAC輸出通道,32位通用可編程輸入/輸出端口。它是數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品中的一種比較經(jīng)濟(jì)的選擇。</p><p>  圖2.4基于SPCE061A的語(yǔ)音控制小車(chē)實(shí)現(xiàn)方案</p><p>  本案采用采用

34、SPCE061A實(shí)現(xiàn)語(yǔ)音控制小車(chē)方案。</p><p>  系統(tǒng)結(jié)構(gòu)框圖2.5如下:</p><p><b>  圖2.5結(jié)構(gòu)系統(tǒng)圖</b></p><p>  系統(tǒng)組成主要包括以下兩部分:SPCE061A精簡(jiǎn)開(kāi)發(fā)板、語(yǔ)音小車(chē)控制電路板。 圖中的語(yǔ)音輸入部分MIC_ IN、按鍵輸入KEY、聲音輸出部分的功率放大環(huán)節(jié)等已經(jīng)做到了精簡(jiǎn)開(kāi)發(fā)板——61

35、 板上,為我們使用提供了很大的方便。在電機(jī)的驅(qū)動(dòng)方面,采用全橋驅(qū)動(dòng)技術(shù),利用四個(gè)I/O端口分為兩組分別實(shí)現(xiàn)兩個(gè)電機(jī)的正傳、反轉(zhuǎn)和停三態(tài)運(yùn)行。</p><p>  2.3 系統(tǒng)控制方案 </p><p>  小車(chē)的運(yùn)動(dòng)控制采用語(yǔ)音控制和中斷定時(shí)控制相結(jié)合,通過(guò)語(yǔ)音觸發(fā)小車(chē)動(dòng)作,小車(chē)動(dòng)作之后,隨時(shí)可以通過(guò)語(yǔ)音指令改變小車(chē)的運(yùn)動(dòng)狀態(tài)。在每一次動(dòng)作觸發(fā)的同時(shí)啟動(dòng)定時(shí)器,如果小車(chē)由于某些原因不能正

36、常的接收語(yǔ)音指令,則只要定時(shí)時(shí)間到,中斷服務(wù)程序會(huì)發(fā)出指令讓小車(chē)停下來(lái)。 </p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)</p><p>  3.1 系統(tǒng)硬件總體設(shè)計(jì)</p><p>  系統(tǒng)的硬件方面,由于大部分的功能實(shí)現(xiàn)都是在61板上完成的,只有電機(jī)控制部分電路另外設(shè)計(jì)在一塊獨(dú)立的電路板上,我們稱(chēng)之為控制板。下面詳細(xì)的介紹小車(chē)的結(jié)構(gòu)和運(yùn)行原理以及控制電路板的結(jié)構(gòu)和

37、功能實(shí)現(xiàn)。</p><p>  圖3.1 總體設(shè)計(jì)框圖</p><p>  圖3.2 系統(tǒng)硬件框圖</p><p>  3.2 系統(tǒng)各單元設(shè)計(jì)</p><p>  3.2.1 控制單元設(shè)計(jì)</p><p>  SPCE061A 最小系統(tǒng)中,包括 SPCE061A 芯片及其外圍的基本模塊,其中外圍的基本模塊有:晶振

38、輸入模塊(OSC) 、鎖相環(huán)外圍電路(PLL) 、復(fù)位電路(RESET) 、指示燈(LED)等。</p><p>  圖3.3 61板最小系統(tǒng)</p><p>  SPCE061A芯片特性簡(jiǎn)介</p><p>  SPCE061A是一種十六位單片機(jī),使用它可以非常方便靈活的實(shí)現(xiàn)語(yǔ)音的錄放,該芯片擁有8路10位精度的ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動(dòng)增益電

39、路。這為實(shí)現(xiàn)語(yǔ)音錄入提供了方便的硬件條件。兩路10位精度的DAC,只需要外接功放(SPY0030A)即可完成語(yǔ)音的播放。另外十六位單片機(jī)具有一套易學(xué)易用的指令系統(tǒng)和集成開(kāi)發(fā)環(huán)境,在此環(huán)境中,它支持標(biāo)準(zhǔn)C語(yǔ)言編程,也支持C語(yǔ)言與匯編語(yǔ)言的互相調(diào)用。另外還提供了語(yǔ)音錄放的庫(kù)函數(shù),只要了解庫(kù)函數(shù)的使用,就可以很容易的完成語(yǔ)音的錄放、識(shí)別等功能,這些都為軟件開(kāi)發(fā)提供了方便的條件。SPCE061是一款擁有2KRAM、32KFlash、32個(gè)I/O

40、口,并集成了AD/DA功能強(qiáng)大的16位微處理器,它還擁有豐富的語(yǔ)音處理功能,為小車(chē)的功能擴(kuò)展提供了相當(dāng)大的空間。只要按照該單片機(jī)的要求對(duì)其編制程序就可以實(shí)現(xiàn)很多不同的功能。</p><p>  SPCE061A 是繼&micro;’nSP?系列產(chǎn)品SPCE500A等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲(chǔ)器資源方面考慮到用戶(hù)的較少資源的需求以及便于程序調(diào)試等功能,S

41、PCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使&micro;’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào)。因此,與SPCE500A相比,以&micro;’nSP?為核心的SPCE061A微控制器是適用于數(shù)字語(yǔ)音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。</p><p>  SPCE061A特性: </p><p>  ?16 位μ’nSP 微處理器;

42、</p><p>  ?工作電壓:內(nèi)核工作電壓 VDD為 3.0V~3.6V(CPU),I/O口工作電壓 VDDH為 VDD~5.5V(I/O);</p><p>  ?CPU時(shí)鐘:0.32MHz~49.152MHz;</p><p>  ?內(nèi)置 2K字 SRAM;</p><p>  ?內(nèi)置 32K閃存 ROM;</p>

43、<p>  ?可編程音頻處理;</p><p><b>  ?晶體振蕩器;</b></p><p>  ?系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于 2μA@3.6V;</p><p>  ?2 個(gè) 16 位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);</p><p>  ?2 個(gè) 1

44、0 位 DAC(數(shù)-模轉(zhuǎn)換)輸出通道;</p><p>  ?32 位通用可編程輸入/輸出端口;</p><p>  ?14 個(gè)中斷源可來(lái)自定時(shí)器 A / B,時(shí)基,2 個(gè)外部時(shí)鐘源輸入,鍵喚醒;</p><p>  ?具備觸鍵喚醒的功能;</p><p>  ?使用凌陽(yáng)音頻編碼 SACM_S240 方式(2.4K位/秒),能容納 2

45、10 秒的語(yǔ)音數(shù)據(jù);</p><p>  ?鎖相環(huán) PLL 振蕩器提供系統(tǒng)時(shí)鐘信號(hào); </p><p>  ?32768Hz 實(shí)時(shí)時(shí)鐘; </p><p>  ?7 通道 10 位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; </p><p>  ?聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能; ?具

46、備串行設(shè)備接口;</p><p>  ?低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能; </p><p><b>  ?內(nèi)置在線(xiàn)仿真板</b></p><p>  另外,SPCE061A單片機(jī)具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開(kāi)發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語(yǔ)言,可以實(shí)現(xiàn)C語(yǔ)言與凌陽(yáng)匯編語(yǔ)言的互相調(diào)用,并且提供了語(yǔ)音錄放的庫(kù)函數(shù)

47、,只要了解庫(kù)函數(shù)的使用,就會(huì)很容易完成語(yǔ)音錄放,這些都為軟件開(kāi)發(fā)提供了方便的條件。</p><p>  精簡(jiǎn)開(kāi)發(fā)板——61 板 </p><p>  SPCE061A精簡(jiǎn)開(kāi)發(fā)板(簡(jiǎn)稱(chēng) 61 板,SPCE061A EMU BOARD的簡(jiǎn)稱(chēng)),是以凌陽(yáng)16 位單片機(jī)SPCE061A為核心的精簡(jiǎn)開(kāi)發(fā)-仿真-實(shí)驗(yàn)板,是“凌陽(yáng)科技大學(xué)計(jì)劃”專(zhuān)為大學(xué)生、電子愛(ài)好者等進(jìn)行電子實(shí)習(xí)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)

48、、電子制作及電子競(jìng)賽所設(shè)計(jì)的,也可作為單片機(jī)項(xiàng)目初期研發(fā)使用。61板”除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、復(fù)位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等?!?1 板”可以采用電池供電。</p><p>  1. SPCE061A功能</p><p>  61板上有調(diào)試器接口(Probe 接口)以及下載線(xiàn)(EZ_Probe)接口,分別可接凌陽(yáng)科

49、技的在線(xiàn)調(diào)試器、簡(jiǎn)易下載線(xiàn),配合 unSP IDE,可方便地在板上實(shí)現(xiàn)程序的下載、在線(xiàn)仿真調(diào)試。</p><p>  圖3.4SPCE061 板硬件框圖</p><p>  表 3.1 框圖說(shuō)明</p><p>  61 板接口說(shuō)明如圖3.3所示:</p><p>  2.61 板輸入/輸出(I/O)接口</p><p&g

50、t;  61 板將SPCE061A 的32 個(gè)I/O 口IOA0~IOA15,IOB0~IOB15 全部引出,對(duì)應(yīng)的引腳為:A 口,41~48、53、54~60;B 口,5~1、81~76、68~64。而且該I/O 口是可編程的,即可以設(shè)置為輸入或輸出。設(shè)置為輸入時(shí),分為懸浮輸入或非懸浮輸入。非懸浮輸入又可以設(shè)置為上拉輸入或是下拉輸入。在5V 情況下,上拉電阻為150K,下拉電阻為110K;設(shè)置為輸出時(shí),可以選擇同向輸出或者反相輸出。&

51、lt;/p><p>  圖3.5 SPCE061 板接口說(shuō)明圖</p><p>  3.音頻輸入/輸出接口</p><p>  正如我們?cè)谇懊娼榻B的 61 板具有強(qiáng)大的語(yǔ)音處理功能,如圖 3.5 所示,X1 是語(yǔ)音的MIC 輸入端,帶自動(dòng)增益(AGC)控制。J12 和J3 都是語(yǔ)音輸出接口,一個(gè)是耳機(jī)插孔;另一個(gè)是兩針的插針外接喇叭,由DAC 輸出引腳21 或22 經(jīng)語(yǔ)

52、音集成放大器SPY0030 放大,然后輸出。SPY0030 是凌陽(yáng)的芯片,相當(dāng)于LM386,但是比386 音質(zhì)好。它可以工作在2.4~6.0V范圍內(nèi),最大輸出功率可達(dá)700mW(LM386 必須工作在4V 以上,而且功率只有100mW)。</p><p>  4 在線(xiàn)調(diào)試器(PROBE)和EZ-PROBE 接口.</p><p>  圖3.5中J4 為PROBE 的接口,該接口有5 針,其

53、中兩個(gè)分別是地(VSS)和3.3V 電源(VCC)。此接口與PROBE 的5 針接口相連,PROBE 的另一端接PC 機(jī)25 針并口。這樣,就不需要再用仿真器和編程器了,只要按如圖3.4所示將其連接好,就可以通過(guò)它在PC 機(jī)上調(diào)試程序、在線(xiàn)仿真、最后將程序下載到芯片中,完成程序的燒寫(xiě)。如圖3.5中的J11 是EZ-PROBE 的接口,我們提供一根轉(zhuǎn)接線(xiàn)用作EZ-PROBE 的下載,一端連接PC 機(jī)的25 針并口,另外一端連接61 板的5

54、 針 EZ-PROBE 接口,如圖3.6所示:</p><p>  圖 3.6 61、PROBE/連接線(xiàn)、計(jì)算機(jī)三者之間的連接圖</p><p>  3.2.2 動(dòng)力單元設(shè)計(jì)</p><p>  電源部分的電路,由電池盒提供的 4.5V直流電壓經(jīng)過(guò) SPY0029 后產(chǎn)生 3.3V給整個(gè)系統(tǒng)供電。SPY0029 是凌陽(yáng)公司設(shè)計(jì)的電壓調(diào)整 IC,采用 CMOS 工藝

55、,具有靜態(tài)電流低、驅(qū)動(dòng)能力強(qiáng)、線(xiàn)性調(diào)整出色等特點(diǎn),如圖3.7圖中的 VDDH3 為 SPCE061A的 I/O電平參考,如果該點(diǎn)接 SPCE061A(PLCC84 封裝,下面的介紹中當(dāng)出現(xiàn) SPCE061A的引腳描述時(shí),均指此封裝的芯片)的 51 腳,可使 I/O輸出高電平為 3.3V;VDDP為PLL鎖相環(huán)電源, 接SPCE061A的7腳; VDD和VDDA分別為數(shù)字電源與模擬電源, 分別接SPCE061A的15腳和36腳; AVSS

56、1是模擬地, 接SPCE061A的24腳; VSS是數(shù)字地, 接SPCE061A的38腳; AVSS2接音頻輸出電路的 AVSS2。</p><p>  圖中前后兩組電容用來(lái)去耦濾波,使其供給芯片的電源更加干凈平滑。為了獲得標(biāo)準(zhǔn)的3.3V電壓,加入SPY0029A三端穩(wěn)壓器。兩個(gè)二極管D3和D4,是為防止誤將電源接反造成不必要損失而設(shè)置的,注意在操作過(guò)程中千萬(wàn)不要將電源接反,因?yàn)榉聪螂妷撼^(guò)一定的值,二極管將會(huì)

57、被損壞,達(dá)不到保護(hù)的目的。</p><p>  圖 3.7電源電路圖</p><p>  3.2.3 音頻單元設(shè)計(jì)</p><p>  音頻電路由音頻輸出和音頻輸入兩部分組成。SPCE061A內(nèi)置 2路10 位精度的 DAC,只需要外接功放電路即可完成語(yǔ)音的播放。圖中的 SPY0030 是凌陽(yáng)的一款音頻放大芯片,可以工作在 2.4~6V范圍內(nèi),最大輸出功率可達(dá) 7

58、00mW。 SPCE061A 芯片中已經(jīng)集成了音頻輸入專(zhuān)用 ADC 以及 AGC 放大電路,因此芯片外部的電路比較簡(jiǎn)單。</p><p><b>  圖3.8 音頻電路</b></p><p><b>  音頻輸入部分</b></p><p>  如圖3.9,MICP和MICN將隨著MIC產(chǎn)生的波形變化,并在兩個(gè)端口處形成

59、兩路反相的波形,再經(jīng)過(guò)兩級(jí)運(yùn)放放大,把放大的語(yǔ)音信號(hào)交給ADC轉(zhuǎn)換為數(shù)字量,這個(gè)時(shí)候就可以通過(guò)單片機(jī)編程對(duì)這些數(shù)據(jù)進(jìn)行處理,比如說(shuō)進(jìn)行語(yǔ)音數(shù)據(jù)壓縮、語(yǔ)音識(shí)別等。</p><p>  圖3.9音頻輸入外圍電路</p><p><b>  音頻輸出部分</b></p><p>  SPY0030A是凌陽(yáng)公司開(kāi)發(fā)的專(zhuān)門(mén)用于語(yǔ)音信號(hào)放大的芯片,它的增益

60、為:Gain = 2 * 5000 / ( 5000 + R1 ),如圖 3.10是SPY0030的典型應(yīng)用電路。</p><p>  圖3.10 SPY0030A工作原理圖</p><p><b>  數(shù)摸轉(zhuǎn)換電路</b></p><p>  凌陽(yáng)SPCE061A單片機(jī)自帶雙通道DAC音頻輸出,DAC1、DAC2轉(zhuǎn)換輸出的模擬量電流信號(hào)分別通

61、過(guò)AUD1和AUD2管腳輸出,DAC輸出為電流型輸出,所以DAC輸出經(jīng)過(guò)SPY0030音頻放大,以驅(qū)動(dòng)喇叭放音,放大電路(只列出DAC1,DAC2類(lèi)似),這為單片機(jī)的音頻設(shè)計(jì)提供了極大方便。在它們后面接一個(gè)簡(jiǎn)單的音頻放大電路和喇叭即可實(shí)現(xiàn)語(yǔ)音播報(bào)功能。 </p><p>  圖3.11 數(shù)模轉(zhuǎn)換電路</p><p>  按鍵、LED和復(fù)位電路</p><p>  此

62、電路主要是對(duì)電源和睡眠指示作用以及復(fù)位重新訓(xùn)練小車(chē)等作用如3.12圖示。</p><p><b>  圖3.12按鍵電路</b></p><p>  圖3.13 復(fù)位電路 圖3.14 LED電路</p><p>  3.6 下載線(xiàn)接口電路和在線(xiàn)調(diào)制電路</p><p>

63、;  此電路主要是下載程序代碼和在線(xiàn)調(diào)試程序,為其那片機(jī)提供靈魂。如圖3.15所示。</p><p>  圖3.15下載調(diào)制電路</p><p><b>  MCU連接電路</b></p><p>  微處理電路即其小系統(tǒng)電路如圖3.16所示,也是整個(gè)設(shè)計(jì)的核心部分,此單片機(jī)是16位單片機(jī)具有強(qiáng)大的處理功能,外部的其它信息由其處理后在傳出,以達(dá)

64、到控制效果。</p><p>  圖3.16 微處理器連接圖</p><p>  3.2.4 小車(chē)單元設(shè)計(jì)</p><p>  語(yǔ)音控制小車(chē)為四輪結(jié)構(gòu)。其中前面兩個(gè)車(chē)輪由前輪電機(jī)控制,在連桿和支點(diǎn)作用下控制前輪左右擺動(dòng),來(lái)調(diào)節(jié)小車(chē)的前進(jìn)方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個(gè)車(chē)輪由后輪電機(jī)驅(qū)動(dòng),為整個(gè)小車(chē)提供動(dòng)力。所以又稱(chēng)前面的輪子為方向輪,后面

65、的兩個(gè)輪子為驅(qū)動(dòng)輪。</p><p><b>  1、小車(chē)的行走原理</b></p><p><b> ?。?)車(chē)體介紹</b></p><p>  語(yǔ)音控制小車(chē)為四輪結(jié)構(gòu),如圖 3.17 所示。</p><p>  圖3.17 車(chē)體側(cè)視圖</p><p>  其中前面兩個(gè)車(chē)

66、輪由前輪電機(jī)控制,在連桿和支點(diǎn)作用</p><p>  下控制前輪左右擺動(dòng),來(lái)調(diào)節(jié)小車(chē)的前進(jìn)方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個(gè)車(chē)輪由后輪電機(jī)驅(qū)動(dòng),為整個(gè)小車(chē)提供動(dòng)力。所以又稱(chēng)前面的輪子為方向輪,后面的兩個(gè)輪子為驅(qū)動(dòng)輪,</p><p>  如圖 3.18所示。</p><p>  圖3.18車(chē)體側(cè)視圖</p><p>

67、  (2)小車(chē)的行走原理</p><p>  直走:由小車(chē)的結(jié)構(gòu)分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這是只要后輪電機(jī)正轉(zhuǎn)</p><p>  小車(chē)就會(huì)前進(jìn)。如圖3.19 所示;</p><p>  圖3.19小車(chē)前進(jìn)原理圖</p><p>  倒車(chē):倒車(chē)動(dòng)作和前進(jìn)動(dòng)作剛好相反,前輪電機(jī)仍然保持中間狀態(tài),后輪電機(jī)反轉(zhuǎn),小車(chē)就會(huì)向后

68、運(yùn)動(dòng),如圖3.20所示</p><p>  圖3.20小車(chē)倒車(chē)示意圖</p><p>  左轉(zhuǎn):前輪電機(jī)逆時(shí)針旋轉(zhuǎn)(規(guī)定為正轉(zhuǎn)),后輪電機(jī)正轉(zhuǎn),這時(shí)小車(chē)就會(huì)在前后輪共同作用下朝左</p><p>  側(cè)前進(jìn),如圖3.21所示</p><p>  圖3.21小車(chē)左轉(zhuǎn)示意圖</p><p>  右轉(zhuǎn):前輪電機(jī)反轉(zhuǎn),后輪電機(jī)

69、正轉(zhuǎn),這時(shí)小車(chē)就是會(huì)在前后輪共同作用下朝右側(cè)前進(jìn),如圖 3.22所示;</p><p>  圖3.22小車(chē)右轉(zhuǎn)示意圖</p><p><b>  2、控制板原理圖</b></p><p>  控制板主要包括:接口電路、電源電路和兩路電機(jī)的驅(qū)動(dòng)電路,控制板原理圖如圖 3.23所示。 </p><p>  接口電路:接口電路

70、負(fù)責(zé)將61板的I/O接口信號(hào)傳送給控制電路板,I/O信號(hào)主要為控制電機(jī)需要的IOB8~IOB11這四路信號(hào),同時(shí)為了方便后續(xù)的開(kāi)發(fā)和完善,預(yù)留了IOB12~IOB15以及IOA8~IOA15接口,可以在這些接口上添加一些傳感器。 </p><p>  電源部分:整個(gè)小車(chē)有4個(gè)電源信號(hào):電池電源,控制板工作電源,61板工作電源,61板的I/O輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電(VCC),然后經(jīng)二極

71、管D1后產(chǎn)生61板電源(VCC_61),通過(guò)61板的Vio跳線(xiàn)產(chǎn)生61板的端口電源(V1)。 </p><p><b>  二極管D1作用: </b></p><p>  1、降壓,4節(jié)電池提供的電壓VCC最大可達(dá)到6V,D1可有效地降壓。 </p><p>  2、保護(hù),D1可以防止電源接反燒壞61板。</p><p>

72、;  圖3.23 控制板原理圖</p><p><b>  3、全橋驅(qū)動(dòng)原理 </b></p><p>  全橋驅(qū)動(dòng)又稱(chēng) H橋驅(qū)動(dòng),下面介紹一下 H橋的工作原理: </p><p>  H橋一共有四個(gè)臂,分別為 B1~B4,每個(gè)臂由一個(gè)開(kāi)關(guān)控制,示例中為三極管 Q1~Q4。如果讓 Q1、Q2 導(dǎo)通 Q3、Q4 關(guān)斷,此時(shí)電流將會(huì)流經(jīng) Q1、負(fù)載

73、、Q2 組成的回路,電機(jī)正轉(zhuǎn) 如果讓 Q1、Q2 關(guān)斷 Q3、Q4 導(dǎo)通,如圖4.16所示,此時(shí)電流將會(huì)流經(jīng) Q3、負(fù)載、Q4 組成的回路,電機(jī)反轉(zhuǎn)。如果讓 Q1、Q2 關(guān)斷 Q3、Q4 也關(guān)斷,負(fù)載 Load 兩端懸空,如圖 3.24所示,此時(shí)電機(jī)停轉(zhuǎn)。這樣就實(shí)現(xiàn)了電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止三態(tài)控制。如果讓 Q1、Q2 導(dǎo)通 Q3、Q4 也導(dǎo)通,那么電流將會(huì)流經(jīng) Q1、Q4 組成的回路以及 Q2和 Q3 組成的回路,如圖3.25所示,這時(shí)

74、橋臂上會(huì)出現(xiàn)很大的短路電流。在實(shí)際應(yīng)用時(shí)注意避免出現(xiàn)橋臂短路的情況,這會(huì)給電路帶來(lái)很大的危害,嚴(yán)重的會(huì)燒毀電路。</p><p>  圖3.24 B1~B4 全部停止工作時(shí)的H 橋簡(jiǎn)圖 圖3.25 B1~B4 全部工作時(shí)的 H 橋簡(jiǎn)圖</p><p><b>  動(dòng)力電機(jī)驅(qū)動(dòng)電路 </b></p><p>  動(dòng)力驅(qū)動(dòng)由后輪驅(qū)動(dòng)實(shí)現(xiàn),負(fù)責(zé)小車(chē)的

75、直線(xiàn)方向運(yùn)動(dòng),包括前進(jìn)和后退,后輪驅(qū)動(dòng)電路是一個(gè)全橋驅(qū)動(dòng)電路,如圖3.26所示:Q1、Q2、Q3、Q4 四個(gè)三極管組成四個(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)或者停轉(zhuǎn),進(jìn)而控制小車(chē)的前進(jìn)和后退

76、。</p><p>  圖3.26動(dòng)力電機(jī)驅(qū)動(dòng)電路圖</p><p>  表3.2小車(chē)運(yùn)行狀態(tài)與端口對(duì)照:</p><p>  另外還有一些不常用的運(yùn)行狀態(tài),比如右后轉(zhuǎn)、左后轉(zhuǎn)等,結(jié)合以上對(duì)前輪和后輪的狀態(tài)分析,其端口對(duì)照如表 3.3所示:</p><p><b>  表3.3端口對(duì)照表</b></p>&

77、lt;p>  注意:為了小車(chē)的安全請(qǐng)不要出現(xiàn)以下兩種組合情況:</p><p>  表 3.4 禁止的輸入狀態(tài)列表</p><p>  3.3 系統(tǒng)總體電路圖</p><p>  圖3.27 總體電路圖</p><p>  第4章 系統(tǒng)軟件設(shè)計(jì)</p><p>  4.1 系統(tǒng)總體程序設(shè)計(jì) </p&

78、gt;<p>  系統(tǒng)的總體程序流程如圖 4.1 所示:</p><p>  圖 4.1 系統(tǒng)總體程序流程圖</p><p>  語(yǔ)音識(shí)別小車(chē)的主程序流程如圖4.1所示,分為四大部分:初始化部分、訓(xùn)練部分、識(shí)別部分、重訓(xùn)操作。 </p><p>  初始化部分:初始化操作將 IOB8~IOB11 設(shè)置為輸出端,用以控制電機(jī)。必要時(shí)還要有對(duì)應(yīng)的輸入端設(shè)置

79、和PWM 端口設(shè)置等。 </p><p>  訓(xùn)練部分:訓(xùn)練部分完成的工作就是建立語(yǔ)音模型。程序一開(kāi)始判斷小車(chē)是否被訓(xùn)練過(guò),如果沒(méi)有訓(xùn)練過(guò)則要求對(duì)其進(jìn)行訓(xùn)練,并且會(huì)在訓(xùn)練成功之后將訓(xùn)練的模型存儲(chǔ)到FLASH,在以后使用時(shí)不需要重新訓(xùn)練;如果已經(jīng)訓(xùn)練過(guò)會(huì)把存儲(chǔ)在FLASH 中的模型調(diào)出來(lái)裝載到辨識(shí)器中。 </p><p>  識(shí)別部分:在識(shí)別環(huán)節(jié)當(dāng)中,如果辨識(shí)結(jié)果是名字,停止當(dāng)前的動(dòng)作并進(jìn)入

80、待命 狀態(tài),然后等待動(dòng)作命令。如果辨識(shí)結(jié)果為動(dòng)作指令小車(chē)會(huì)語(yǔ)音告知相應(yīng)動(dòng)作并執(zhí)行該動(dòng)作,在運(yùn)動(dòng)過(guò)程中可以通過(guò)呼叫小車(chē)的名字使小車(chē)停下來(lái)。 </p><p>  重訓(xùn)操作:考慮到有重新訓(xùn)練的需求,設(shè)置了重新訓(xùn)練的按鍵(61 板的KEY3) ,循環(huán)掃描該按鍵,一旦檢測(cè)到此鍵按下,則將擦除訓(xùn)練標(biāo)志位(0xe000 單元) ,并等待復(fù)位。復(fù)位后,程序重新執(zhí)行,當(dāng)檢測(cè)到訓(xùn)練標(biāo)志位為0xffff時(shí)會(huì)要求重新對(duì)其進(jìn)行訓(xùn)練。 &

81、lt;/p><p>  下面詳細(xì)介紹以上提到的子程序。</p><p>  4.2 系統(tǒng)各分支設(shè)計(jì)</p><p>  4.2.1訓(xùn)練子程序</p><p>  當(dāng)程序檢測(cè)到訓(xùn)練標(biāo)志位BS_Flag內(nèi)容為0xffff,就會(huì)要求操作者對(duì)它進(jìn)行訓(xùn)練操作,訓(xùn)練操作的過(guò)程如圖 4.2所示:訓(xùn)練采用兩次訓(xùn)練獲取結(jié)果的方式,以訓(xùn)練名字為例:小車(chē)首先會(huì)提示:

82、給我取個(gè)名字吧, 這時(shí)你可以告訴它一個(gè)名字 (比如Jack) ; 然后它會(huì)提示: 請(qǐng)?jiān)僬f(shuō)一遍, 這時(shí)再次告訴它名字 (Jack) ,如果兩次的聲音差別不大,小車(chē)就能夠成功的建立模型,名稱(chēng)訓(xùn)練成功;如果沒(méi)能夠成功的建立模型,小車(chē)會(huì)告知失敗的原因并要求重新訓(xùn)練。成功訓(xùn)練名稱(chēng)后會(huì)給出下一條待訓(xùn)練指令提示音:前進(jìn),參照名稱(chēng)訓(xùn)練方式訓(xùn)練前進(jìn)指令。依次訓(xùn)練小車(chē)的名稱(chēng)—前進(jìn)指令—倒車(chē)指令—左轉(zhuǎn)指令—右轉(zhuǎn)指令,全部訓(xùn)練成功子程序返回,訓(xùn)練結(jié)束。<

83、/p><p><b>  圖4.2訓(xùn)練流程圖</b></p><p>  void TrainSD()</p><p><b>  {</b></p><p>  while(TrainWord(NAME_ID,S_NAME) != 0) ; //訓(xùn)練名稱(chēng)</p><p>

84、;  while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) ; //訓(xùn)練第1個(gè)動(dòng)作</p><p>  while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) ; //訓(xùn)練第2個(gè)動(dòng)作</p><p>  while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) ; //訓(xùn)練

85、第3個(gè)動(dòng)作</p><p>  while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) ;//訓(xùn)練第4個(gè)動(dòng)作</p><p><b>  }</b></p><p>  4.2.2語(yǔ)音識(shí)別子程序 </p><p>  語(yǔ)音識(shí)別流程如圖 4.3所示:首先獲取辨識(shí)器的辨識(shí)結(jié)果,判斷是否

86、有語(yǔ)音觸發(fā),如果有語(yǔ)音觸發(fā)則會(huì)返回識(shí)別結(jié)果的ID號(hào),ID號(hào)對(duì)應(yīng)名稱(chēng)或者對(duì)應(yīng)不同的動(dòng)作。如果ID號(hào)為名稱(chēng),則結(jié)束運(yùn)動(dòng)(如果當(dāng)前在運(yùn)動(dòng)狀態(tài)) ,進(jìn)入待命狀態(tài),等待下一次的指令觸發(fā);如果 ID 號(hào)為動(dòng)作,則語(yǔ)音告知將要執(zhí)行的動(dòng)作,并執(zhí)行該動(dòng)作。注:語(yǔ)音識(shí)別程序在語(yǔ)音中斷函數(shù)中進(jìn)行。</p><p>  圖4.3語(yǔ)音識(shí)別部分流程圖</p><p>  void BSR(void)</p>

87、;<p><b>  {</b></p><p>  int Result;//辨識(shí)結(jié)果寄存</p><p>  Result = BSR_GetResult();//獲得識(shí)別結(jié)果</p><p>  if(Result>0)//有語(yǔ)音觸發(fā)?</p><p><b>  

88、{</b></p><p>  *P_IOB_Data=0x0000;//臨時(shí)停車(chē)</p><p>  switch(Result)</p><p><b>  {</b></p><p>  case NAME_ID://識(shí)別出名稱(chēng)命令</p><p>  Stop();/

89、/停車(chē)待命</p><p><b>  break;</b></p><p>  case COMMAND_GO_ID://識(shí)別出第一條命令</p><p>  GoAhead(); //執(zhí)行動(dòng)作一:直走</p><p><b>  break;</b></p><p&

90、gt;  case COMMAND_BACK_ID://識(shí)別出第二條命令</p><p>  BackUp();//執(zhí)行動(dòng)作二:倒車(chē)</p><p><b>  break;</b></p><p>  case COMMAND_LEFT_ID://識(shí)別出第三條命令</p><p>  TurnLeft();

91、//執(zhí)行動(dòng)作三:左轉(zhuǎn)</p><p><b>  break;</b></p><p>  case COMMAND_RIGHT_ID://識(shí)別出第四條命令</p><p>  TurnRight();//執(zhí)行動(dòng)作四:右轉(zhuǎn)</p><p><b>  break;</b></

92、p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b&g

93、t;</p><p>  4.2.3動(dòng)作子程序 </p><p>  動(dòng)作子程序包括:前進(jìn)、倒車(chē)、左拐、右拐、停車(chē)子程序。 </p><p>  前進(jìn):由小車(chē)的結(jié)構(gòu)原理和驅(qū)動(dòng)電路分析知:只要IOB8 為高電平,IOB9,IOB10,IOB11 全部為低電平即可實(shí)現(xiàn)小車(chē)的前進(jìn)。前進(jìn)子程序包括語(yǔ)音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作。 </p><p&g

94、t;  倒車(chē):由小車(chē)的結(jié)構(gòu)原理分析和驅(qū)動(dòng)電路分析知:只要IOB9 為高電平,IOB8,IOB10,IOB11全部為低電平即可實(shí)現(xiàn)小車(chē)的倒退。倒退子程序包括語(yǔ)音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作。 </p><p>  左轉(zhuǎn):由小車(chē)的結(jié)構(gòu)原理分析和驅(qū)動(dòng)電路分析知:小車(chē)左轉(zhuǎn)需要兩個(gè)條件:1.前輪左偏2.后輪前進(jìn),這時(shí)對(duì)應(yīng)的 I/O 狀態(tài)為:IOB8、IOB10 為高電平,IOB9、IOB11 為低電平。左轉(zhuǎn)子程序包括語(yǔ)

95、音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作。 </p><p>  右轉(zhuǎn):由小車(chē)的結(jié)構(gòu)原理分析和驅(qū)動(dòng)電路分析知:小車(chē)右轉(zhuǎn)需要兩個(gè)條件:1.前輪右偏2.后輪前進(jìn),這時(shí)對(duì)應(yīng)的 I/O 狀態(tài)為:IOB8、IOB11 為高電平,IOB9、IOB10 為低電平。右轉(zhuǎn)子程序包括語(yǔ)音提示、置端口數(shù)據(jù)、啟動(dòng)定時(shí)器操作。 </p><p>  注:在轉(zhuǎn)彎之前首先讓前輪朝目標(biāo)方向的反方向偏轉(zhuǎn),然后再讓前輪朝目標(biāo)方向偏

96、轉(zhuǎn),這樣前輪的擺動(dòng)范圍更大,慣性更大,擺幅也最大,能更好實(shí)現(xiàn)轉(zhuǎn)彎。</p><p>  void GoAhead() //前進(jìn)</p><p><b>  { </b></p><p>  PlaySnd(S_ACT1,3);//提示</p><p>  *

97、P_IOB_Data=0x0100;//前進(jìn)</p><p>  *P_INT_Mask |= 0x0004;//以下為中斷定時(shí)操作</p><p>  __asm("int fiq,irq");</p><p>  uiTimecont = 0;</p><p><b>  }<

98、/b></p><p>  //=============================================================</p><p>  // 語(yǔ)法格式:void BackUp();</p><p>  // 實(shí)現(xiàn)功能:后退子函數(shù)</p><p><b>  // 參數(shù):無(wú)<

99、/b></p><p>  // 返回值:無(wú)</p><p>  //=============================================================</p><p>  void BackUp() //倒退</p><p><b&g

100、t;  {</b></p><p>  PlaySnd(S_DCZY,3);//提示</p><p>  *P_IOB_Data=0x0200;//倒退</p><p>  *P_INT_Mask |= 0x0004;//以下為中斷定時(shí)操作</p><p>  __asm("in

101、t fiq,irq");</p><p>  uiTimecont = 0;</p><p><b>  }</b></p><p>  //=============================================================</p><p>  // 語(yǔ)法格式:void

102、 TurnLeft();</p><p>  // 實(shí)現(xiàn)功能:左轉(zhuǎn)子函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //=============================================================&

103、lt;/p><p>  void TurnLeft() //左轉(zhuǎn)</p><p><b>  {</b></p><p>  PlaySnd(S_GJG,3);</p><p>  *P_IOB_Data=0x0900;//右轉(zhuǎn)</p><

104、p>  Delay();//延時(shí)</p><p>  *P_IOB_Data=0x0500;//左轉(zhuǎn)</p><p>  *P_INT_Mask |= 0x0004;//以下為中斷定時(shí)操作</p><p>  __asm("int fiq,irq");</p><p>  

105、uiTimecont = 0;</p><p><b>  }</b></p><p>  //=============================================================</p><p>  // 語(yǔ)法格式:void TurnRight();</p><p>  // 實(shí)

106、現(xiàn)功能:右轉(zhuǎn)子函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //=============================================================</p><p>  void TurnRight()

107、 //右轉(zhuǎn)</p><p><b>  {</b></p><p>  PlaySnd(S_GJG,3);//語(yǔ)音提示</p><p>  *P_IOB_Data=0x0500;//左轉(zhuǎn)</p><p>  Delay();

108、//延時(shí)</p><p>  *P_IOB_Data=0x0900;//右轉(zhuǎn)</p><p>  *P_INT_Mask |= 0x0004;//以下為中斷定時(shí)操作</p><p>  __asm("int fiq,irq");</p><p>  uiTimecont = 0;</p&g

109、t;<p><b>  }</b></p><p>  //=============================================================</p><p>  // 語(yǔ)法格式:void Stop();</p><p>  // 實(shí)現(xiàn)功能:停車(chē)子函數(shù)</p><p&

110、gt;<b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //=============================================================</p><p>  void Stop() //停車(chē)

111、</p><p><b>  {</b></p><p>  *P_IOB_Data=0x0000;//停車(chē)</p><p>  PlaySnd(S_RDY,3);//語(yǔ)音提示</p><p><b>  }</b></p><p>  4.2.4

112、中斷子程序 </p><p>  雖然已經(jīng)有了前進(jìn)、后退以及停車(chē)(通過(guò)直接呼叫小車(chē)的名字使其停車(chē))等語(yǔ)音控制指令,但是考慮環(huán)境的干擾因素,小車(chē)運(yùn)行時(shí)的噪音影響和有效距離的限制,小車(chē)運(yùn)行后可能接收不到語(yǔ)音指令而一直運(yùn)行。為了防止出現(xiàn)這種情況,加入了時(shí)間控制,在啟動(dòng)小車(chē)運(yùn)行的同時(shí)啟動(dòng)定時(shí)器,定時(shí)器時(shí)間到停止小車(chē)的運(yùn)行,該定時(shí)器借助于 2Hz 時(shí)基中斷完成,所示為該程序的流程圖??梢栽诔绦蛑行薷膗 i Time set

113、 參數(shù)來(lái)控制運(yùn)行時(shí)間,當(dāng)ui Time set=2 時(shí),運(yùn)行時(shí)間為1s,以此類(lèi)推。</p><p>  void IRQ5(void)__attribute__((ISR));//運(yùn)動(dòng)定時(shí)控制</p><p>  void IRQ5(void)</p><p><b>  { </b></p><p>  if(u

114、iTimecont++ == uiTimeset)</p><p><b>  {</b></p><p>  *P_IOB_Data = 0x0000;</p><p><b>  }</b></p><p>  *P_INT_Clear = 0x0004;</p><p>

115、;<b>  }</b></p><p>  程序中需要說(shuō)明的幾個(gè)問(wèn)題</p><p>  在程序中可能有幾個(gè)地方不易理解,下面我向大家說(shuō)明一下: </p><p>  首先,小車(chē)有沒(méi)有被訓(xùn)練過(guò)是怎么知道的? </p><p>  在這里利用了一個(gè)特殊的 Flash 單元, 語(yǔ)音模型存儲(chǔ)區(qū)首單元 (該示例程序中為 0xe

116、000單元) 。 當(dāng) Flash在初始化以后,或者在擦除后為 0xffff,在成功訓(xùn)練并存儲(chǔ)后為 0x0055(該值由辨識(shí)器自動(dòng)生成) 。這樣就可以根據(jù)這個(gè)單元的值來(lái)判斷是否經(jīng)過(guò)訓(xùn)練。 </p><p>  其次,為什么已經(jīng)訓(xùn)練過(guò)的系統(tǒng)在重新運(yùn)行時(shí)還要進(jìn)行模型裝載? </p><p>  在首次訓(xùn)練完成之后,辨識(shí)器中保存著訓(xùn)練的模型,但是系統(tǒng)一旦復(fù)位辨識(shí)器中的模型就會(huì)丟失,所以在重新運(yùn)行時(shí)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論