版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 無(wú)線語(yǔ)音遙控智能車</b></p><p> [摘要] 20世紀(jì)中后葉,隨著大規(guī)模晶體管集成電路制造工藝的飛速發(fā)展,使計(jì)算機(jī)滲透進(jìn)城市的血液,成為人類社會(huì)生活中密不可分的一部分。越來(lái)越多種類的計(jì)算機(jī)投入社會(huì)生產(chǎn),如果在人們的社會(huì)生活中所接觸到的計(jì)算機(jī)均使用不同的、自身特有的人機(jī)接口,就要求計(jì)算機(jī)使用者掌握多種計(jì)算機(jī)操作語(yǔ)言,這無(wú)疑成為人們使用計(jì)算機(jī)的一大障礙。
2、因此人與計(jì)算機(jī)的溝通成為了擺在人類面前嶄新的課題。在音頻壓縮處理技術(shù)以及無(wú)線遠(yuǎn)程控制技術(shù)高速發(fā)展的局面下,人們開(kāi)始考慮使用人類語(yǔ)言作為新的方式和計(jì)算機(jī)進(jìn)行無(wú)線遠(yuǎn)程對(duì)話。優(yōu)化人機(jī)接口,使計(jì)算機(jī)智能化,并且能聽(tīng)懂遠(yuǎn)處傳來(lái)的人類語(yǔ)言,以人類的方式思考,徹底擺脫復(fù)雜的計(jì)算機(jī)語(yǔ)言和繁瑣的輸入方式是今后發(fā)展的一大方向。臺(tái)灣凌陽(yáng)科技推出的16位MCU-DSP混合處理器SPCE061A可以實(shí)現(xiàn)上述的語(yǔ)音識(shí)別、數(shù)據(jù)編碼等功能,若在其上外擴(kuò)一nRF2041
3、雙工無(wú)線模塊組成語(yǔ)音遙控器。用一小車模型作為接收機(jī),處理器采用ATMEL公司的高檔8位微處理器ATMEGA16L,接收依然使用nRF2401無(wú)線模組,便可以使小車接收人類語(yǔ)言的遠(yuǎn)程控制。在控制者發(fā)出向前、向后、向左、向右等語(yǔ)言命令后,遙控器上的</p><p> [關(guān)鍵詞] 無(wú)線語(yǔ)音遙控小車;凌陽(yáng)SPCE061A處理器;語(yǔ)音辨識(shí); ATMEGA16L;nRF2401無(wú)線模組</p>
4、<p> Wireless voice remote control car</p><p> [ABSTRACT] After the middle of the 20th century leaves, as a large-scale transistor integrated circuit manufacturing process of rapid development, comput
5、ers infiltrate into the cities of blood, human social life are inseparable part. Computer is gradually replacing humans, engage in complex, repetitive calculations or labor. More and more types of computers into the comm
6、unity production, The computer of more and more kinds puts into social production, if computer touched use different, one's own</p><p> Key Words: SPCE061A processor Intelligent voice control car<
7、/p><p><b> 目 錄</b></p><p><b> 0 前言2</b></p><p> 2 無(wú)線語(yǔ)音遙控智能車設(shè)計(jì)概述4</p><p> 2.1 設(shè)計(jì)目的4</p><p> 2.2 設(shè)計(jì)實(shí)現(xiàn)總體功能4</p><p&
8、gt; 3 系統(tǒng)總體方案5</p><p> 3.1 方案論證5</p><p> 3.1.1 方案一5</p><p> 3.1.2 方案二5</p><p> 3.1.3 方案三5</p><p> 3.2 方案分析7</p><p><b> 4 芯片的
9、介紹7</b></p><p> 3.2.1 主控芯片及其各部分性能8</p><p> 3.2.2 SPCE061A用于語(yǔ)音遙控智能小車中的功能10</p><p> 3.3 無(wú)線語(yǔ)音遙控智能車電機(jī)驅(qū)動(dòng)控制方案15</p><p> 5 系統(tǒng)設(shè)計(jì)方案15</p><p> 4.1系統(tǒng)整
10、體設(shè)計(jì)方案15</p><p> 4.2 主控板設(shè)計(jì)方案15</p><p> 4.3 控制板設(shè)計(jì)方案18</p><p> 4.4 中斷方案19</p><p> 6.聲音控制智能小車軟件設(shè)計(jì)20</p><p> 6.1 語(yǔ)音控制實(shí)現(xiàn)流程21</p><p> 6.2
11、 語(yǔ)音識(shí)別主程序流程23</p><p> 6.3 語(yǔ)音識(shí)別子程序設(shè)計(jì)24</p><p> 6.3.1訓(xùn)練子程序:25</p><p> 6.3.2 識(shí)別子程序25</p><p> 6.3.3 動(dòng)作子程序25</p><p> 6.3.4 中斷子程序25</p><p>
12、; 6.4 程序開(kāi)發(fā)環(huán)境與代碼錄入25</p><p> 6.4.1 凌陽(yáng)SPCE061A單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境26</p><p> 6.4.2 語(yǔ)音提示的錄入26</p><p> 6.5 部分程序代碼解釋27</p><p><b> 7 結(jié)論27</b></p><p&g
13、t;<b> 參考文獻(xiàn)29</b></p><p><b> 致 謝30</b></p><p><b> 0 引言</b></p><p> 隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,數(shù)字化時(shí)代的來(lái)臨,計(jì)算機(jī)和網(wǎng)絡(luò)已經(jīng)將觸角伸入社會(huì)各行各業(yè),滲入了城市的血液中,并且在一定程度上取代了人類繁瑣的
14、機(jī)械的勞動(dòng)。世界也正面臨一場(chǎng)大規(guī)模的新的工業(yè)革命,又稱為信息革命。數(shù)字化、智能化,已經(jīng)成為這場(chǎng)革命的主旋律。讓計(jì)算機(jī)像人類一樣動(dòng)作一樣思考,并擁有人的記憶和人的邏輯,使人類從繁瑣的鍵盤(pán)操作和按鍵輸入中解脫出來(lái)是電腦智能化面對(duì)的重要課題。</p><p> 在現(xiàn)代傳感器技術(shù)、音頻視頻壓縮解碼技術(shù)的跨越式發(fā)展,使計(jì)算機(jī)實(shí)現(xiàn)了高度的集成化,功能也逐漸出現(xiàn)全能化、專門化以及智能化的分化發(fā)展方向。計(jì)算機(jī)的微處理器的功能也
15、不僅僅局限于計(jì)算和處理數(shù)據(jù),同時(shí)也將存儲(chǔ)和硬件解碼等外圍電路也集成到其中。也正是因?yàn)槿绱?,運(yùn)用單獨(dú)的處理器就可以實(shí)現(xiàn)智能化人機(jī)對(duì)話接口,讓計(jì)算機(jī)像人類一樣思考,通過(guò)人類的動(dòng)作和語(yǔ)言向計(jì)算機(jī)輸入指令,使計(jì)算機(jī)的操作方式發(fā)生根本性的變革,真正拉近人與計(jì)算機(jī)間的距離。</p><p> 現(xiàn)代計(jì)算機(jī)的性能已經(jīng)相當(dāng)強(qiáng)大,運(yùn)算能力已經(jīng)不可限量,而且還在飛速發(fā)展。在日常生活的諸多領(lǐng)域,電腦已經(jīng)取代人類,從事大量繁瑣的、重復(fù)性
16、的勞動(dòng)。但是在這些領(lǐng)域中,大型的計(jì)算機(jī)不能充分發(fā)揮自身性能,而且在成本方面也毫無(wú)經(jīng)濟(jì)性可言。所以,針對(duì)不同領(lǐng)域不同功能的專門性計(jì)算機(jī)應(yīng)運(yùn)而生,其運(yùn)算處理能力并不一定非常強(qiáng)大,而是對(duì)于特別的應(yīng)用場(chǎng)合在其中整合特殊的功能,使其在特定的場(chǎng)合發(fā)揮最大的作用。嵌入式計(jì)算機(jī)應(yīng)運(yùn)而生,嵌人式計(jì)算機(jī)作為計(jì)算機(jī)的一個(gè)重要分支,得到了越來(lái)越廣泛的應(yīng)用。隨著信息技術(shù)發(fā)展所帶來(lái)應(yīng)用需求的增多,嵌人式計(jì)算機(jī)的應(yīng)用范圍和需求越來(lái)越廣,性能不斷改進(jìn),新的架構(gòu)不斷出現(xiàn)
17、,各種單片機(jī)和數(shù)字信號(hào)處理器相繼面世。嵌人式操作系統(tǒng)與PC操作系統(tǒng)相比,嵌人式操作系統(tǒng)不要求全能,但必須能夠依據(jù)系統(tǒng)設(shè)計(jì)規(guī)格,高效率地發(fā)揮硬件的運(yùn)算能力,使產(chǎn)品達(dá)到效率價(jià)格比的優(yōu)化。</p><p> 本次設(shè)計(jì)是在運(yùn)用成品嵌入式計(jì)算機(jī)的基礎(chǔ)上,實(shí)現(xiàn)用人類的語(yǔ)言無(wú)線遙控單片機(jī)的運(yùn)作。為了更明確的顯示聲音對(duì)單片機(jī)的遙控作用,使單片機(jī)控制一遠(yuǎn)處可自由運(yùn)動(dòng)的小車,通過(guò)小車行走方式的不同表現(xiàn),體現(xiàn)聲控單片機(jī)的運(yùn)行情況。&
18、lt;/p><p> 對(duì)于無(wú)線語(yǔ)音遙控智能小車的設(shè)計(jì),關(guān)鍵在于語(yǔ)音識(shí)別和無(wú)線通信方式的選取。語(yǔ)音處理技術(shù)是一門新興的技術(shù),它不僅包括語(yǔ)音的錄制和播放,還涉及語(yǔ)音的壓縮編碼和解碼,語(yǔ)音的識(shí)別等各種處理技術(shù)。以往做這方面的設(shè)計(jì),一般有兩個(gè)途徑:一種方案是單片機(jī)擴(kuò)展設(shè)計(jì),另一種就是借助于專門的語(yǔ)音處理芯片。普通的單片機(jī)往往不能實(shí)現(xiàn)這么復(fù)雜的過(guò)程和算法,即使勉強(qiáng)實(shí)現(xiàn)也要加很多的外圍器件。專門的語(yǔ)音處理芯片也比較多,像ISD
19、系列、PM50系列等,但是專門的語(yǔ)音處理芯片功能比較單一,想在語(yǔ)音之外的其他方面應(yīng)用基本是不可能的。而無(wú)線通信技術(shù)現(xiàn)在多采用無(wú)線數(shù)字通信模塊,其通信協(xié)議可以自己設(shè)定,通信頻率可以在一定范圍內(nèi)可以改變,使傳輸數(shù)據(jù)的可靠性、安全性都大大提高。 </p><p> 基于上述要求本次設(shè)計(jì)擬采用三種設(shè)計(jì)方案。在芯片方面,ATMEGA16L微處理器和凌陽(yáng)SPCE061A微處理器以及二者的組合應(yīng)用是三種備選方案。兩種微控制器
20、都具有豐富的片上系統(tǒng)資源,可以通過(guò)外加輔助電路的方式實(shí)現(xiàn)語(yǔ)音辨識(shí)功能,從而滿足對(duì)控制指令的語(yǔ)音采集、壓縮、存儲(chǔ)、解壓和辨識(shí)等一系列功能的要求。在指令系統(tǒng)方面,兩者都支持C語(yǔ)言,省去了繁瑣重復(fù)的堆棧操作,方便了程序員的編寫(xiě),和讀取。</p><p> 在確定設(shè)計(jì)使用單片機(jī)后,還應(yīng)對(duì)單片機(jī)加裝部分外圍電路才能使用,其中包括:電源電路、音頻電路、I/O電路等。使其保證單片機(jī)各項(xiàng)功能的實(shí)現(xiàn)。此外還有部分必須的功能電路,
21、如:復(fù)位按鍵,狀態(tài)指示燈等等。</p><p> 在小車車體方面,采用后輪同軸差速驅(qū)動(dòng),前輪舵機(jī)轉(zhuǎn)向的模型車。動(dòng)力來(lái)自驅(qū)動(dòng)后輪的直流電機(jī),驅(qū)動(dòng)器采用意法半導(dǎo)體生產(chǎn)的L298N直流電機(jī)驅(qū)動(dòng)器。由一個(gè)舵機(jī)擺臂擺動(dòng)不同的角度實(shí)現(xiàn)前輪的轉(zhuǎn)向。整個(gè)小車的電源由一個(gè)7.2V鎳氫電池組提供。</p><p> 語(yǔ)音指令的識(shí)別過(guò)程是利用單片機(jī)的特定人語(yǔ)音識(shí)別功能來(lái)實(shí)現(xiàn)的。首先對(duì)小車進(jìn)行訓(xùn)練,將語(yǔ)音命令
22、轉(zhuǎn)換為數(shù)字信號(hào)存儲(chǔ)在單片機(jī)FLASH存儲(chǔ)器中。在需要控制小車的時(shí)候,單片機(jī)通過(guò)采集聲音信號(hào),并量化處理為數(shù)字信號(hào)后,與存儲(chǔ)器中預(yù)先存儲(chǔ)的控制命令進(jìn)行辨識(shí),結(jié)果以字節(jié)數(shù)據(jù)方式從無(wú)線模組發(fā)出,小車接收到控制指令后,控制驅(qū)動(dòng)芯片和舵機(jī),使小車完成響應(yīng)動(dòng)作。這些操作都是由預(yù)先編寫(xiě)并燒錄在單片機(jī)中的C語(yǔ)言程序控制的。</p><p> 在整個(gè)設(shè)計(jì)中,兩個(gè)難點(diǎn)在于單片機(jī)外圍電路的設(shè)計(jì)和控制程序的編寫(xiě)。如果能很好的解決這兩個(gè)
23、方面的問(wèn)題,語(yǔ)音控制小車的制作應(yīng)該會(huì)比較順利。</p><p> 1 無(wú)線語(yǔ)音控制智能車設(shè)計(jì)概述</p><p><b> 1.1 設(shè)計(jì)目的</b></p><p> 隨著電子工業(yè)的發(fā)展,計(jì)算機(jī)技術(shù)隨著集成度的提高,和大規(guī)模集成電路的發(fā)展。計(jì)算機(jī)的一個(gè)重要分支——嵌入式計(jì)算機(jī)也在向高度智能化的方將發(fā)展。讓機(jī)器能像人一樣思考,理解人的語(yǔ)言
24、已不再是一個(gè)新鮮的話題。實(shí)現(xiàn)使用語(yǔ)音控制單片機(jī),將人機(jī)接口簡(jiǎn)化到人類可以用最自然的方式操作機(jī)器是本次設(shè)計(jì)的目的。本次擬設(shè)計(jì)能用語(yǔ)音無(wú)線遙控的智能小車。根據(jù)識(shí)別的語(yǔ)音命令來(lái)控制啟動(dòng)、停止、返回,完成作品雖功能單一且無(wú)實(shí)際使用價(jià)值,但可將原理推廣至各種智能家電的語(yǔ)音遙控,所以該技術(shù)具有很高的實(shí)際應(yīng)用價(jià)值。</p><p> 1.2 設(shè)計(jì)實(shí)現(xiàn)總體功能</p><p> 1. 利用單片機(jī)的語(yǔ)音
25、采集、播放、語(yǔ)音識(shí)別資源,實(shí)現(xiàn)人類語(yǔ)音的命令識(shí)別;</p><p> 2. 通過(guò)數(shù)字無(wú)線傳輸模組,將控制指令無(wú)線發(fā)送;</p><p> 3. 接收無(wú)線語(yǔ)音指令,實(shí)現(xiàn)控制小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等功能;</p><p> 4. 在超出控制范圍(開(kāi)闊處大于100米)時(shí)能夠自動(dòng)停車; </p><p><b> 2 系統(tǒng)總體
26、方案</b></p><p><b> 2.1 方案論證</b></p><p><b> 2.1.1 方案一</b></p><p> 采用AVR系列8位單片機(jī)ATMEGA16L實(shí)現(xiàn)語(yǔ)音遙控器,由于有語(yǔ)音識(shí)、和語(yǔ)音播放和無(wú)線數(shù)傳功能,所以需要擴(kuò)展語(yǔ)音識(shí)別模塊和語(yǔ)音播放模塊還有無(wú)線發(fā)射接收模塊,這樣必然造
27、成端口的資源緊張,所以還必須加入接口擴(kuò)展芯片。該實(shí)現(xiàn)方案遙控器部分結(jié)構(gòu)如圖 3-1所示:</p><p> 圖 2-1 采用ATMEGA16L單片機(jī)實(shí)現(xiàn)語(yǔ)音遙控器</p><p> 車體主控電路要實(shí)現(xiàn)語(yǔ)音指令的無(wú)線接收,舵機(jī)的轉(zhuǎn)向,和直流電機(jī)的調(diào)速。采用AVR系列8位單片機(jī)ATMEGA16L實(shí)現(xiàn)小車主控制部分結(jié)構(gòu)框圖如圖3-2所示:</p><p><b&
28、gt; 2.1.2方案二</b></p><p> 采用SPCE061A實(shí)現(xiàn)語(yǔ)音控制小車方案,由于SPCE061A內(nèi)部具有語(yǔ)音識(shí)別和語(yǔ)音播放功能,所以只需要擴(kuò)展基本的MIC和語(yǔ)音功放即可,該方案結(jié)構(gòu)如圖 3-3所示:</p><p> 圖 2-3 基于SPCE061A的語(yǔ)音控制小車實(shí)現(xiàn)方案</p><p> 基于SPCE61A單片機(jī)的車體部分控制
29、框圖結(jié)構(gòu)如圖3-4所示,在硬件表現(xiàn)和結(jié)構(gòu)上和基于ATMEGA16L的沒(méi)有區(qū)別。</p><p><b> 2.1.3 方案三</b></p><p> 方案三不再給出框圖,其遙控器部分為方案二中的遙控器框圖,車體控制部分的框圖為圖3-4所示。即方案三由方案二的遙控器和方案一的車體控制部分組合而成。</p><p><b> 2.
30、2 方案分析</b></p><p> 根據(jù)上述三個(gè)方案的實(shí)現(xiàn)結(jié)構(gòu)圖分析,很明顯語(yǔ)音遙控器使用SPCE061A單片機(jī)內(nèi)置的D/A、數(shù)據(jù)編碼和解碼、存儲(chǔ)、語(yǔ)音辨識(shí)等功能,可以最大限度的簡(jiǎn)化外圍電路,方便設(shè)計(jì)與實(shí)現(xiàn)。AVR單片機(jī)需要通過(guò)擴(kuò)展種總線擴(kuò)展辨識(shí)、輸入輸出等功能,雖然也可以實(shí)現(xiàn)同樣的功能,但是增加了設(shè)計(jì)難度和設(shè)計(jì)成本。故遙控器部分選用SPCE061A作為主控制器。在車體控制上,兩方案中硬件結(jié)構(gòu)基
31、本相同,但是通過(guò)深入分析可知,舵機(jī)從0度—180度的轉(zhuǎn)動(dòng)需要一個(gè)50Hz、占空比2.5%-12.5%連續(xù)可調(diào)的方波信號(hào),即PWM信號(hào)。兩種微控制器都有16的定時(shí)器,故都可以產(chǎn)生50Hz的方波信號(hào)。但是,SPCE061A的PWM控制器只用4位,即只能6.25%布進(jìn)可調(diào),不能使方波占空比2.5%-12.5%連續(xù)可調(diào)。而ATMEGA16L的16位PWM的精度可達(dá)1/65535,近似等于連續(xù)可調(diào)。除此以外,直流電機(jī)的轉(zhuǎn)速也由PWM控制,而SPC
32、E061A沒(méi)有8位的定時(shí)器,不能產(chǎn)生較高頻率的PWM信號(hào),而ATMEGA16L有兩個(gè)8位T/C,一個(gè)16位T/C,可以產(chǎn)生幾Hz到幾十KHz的PWM信號(hào)。因此,車體控制部分采用8位微控制器ATMEG</p><p> 3 系統(tǒng)芯片功能介紹</p><p> 在無(wú)線語(yǔ)音遙控智能車的設(shè)計(jì)中,主要包含四片芯片和兩個(gè)模組,芯片中包括一片凌陽(yáng)SPCE061A 16位單片機(jī),用于語(yǔ)音命令的識(shí)別、發(fā)
33、送以及命令的語(yǔ)音播放。兩片ATMEGA16L高檔8位單片機(jī),一片和nRF2401模組組成串口無(wú)線發(fā)射模塊,另一片作為車體部分的主控制器。最后一塊為L(zhǎng)298N直流電機(jī)驅(qū)動(dòng)芯片,用于接收車體主控制器的控制信號(hào),驅(qū)動(dòng)直流電機(jī)為小車提供前進(jìn)的動(dòng)力。</p><p> 3.1 主控芯片及其各部分性能 </p><p> 3.1.1無(wú)線語(yǔ)音遙控器主控制器SPCE061A介紹</p&g
34、t;<p> 經(jīng)過(guò)上述討論,實(shí)現(xiàn)聲音智能控制功能最理想的控制芯片為臺(tái)灣凌陽(yáng)科技推出的SOPC(System On Programmable Chip)級(jí)16位MCU-DSP混合處理器SPCE061A作為處理語(yǔ)音指令的控制芯片,其兼有微處理器,數(shù)字信號(hào)處理器,存儲(chǔ)器的三重功能,具有豐富的片上系統(tǒng)資源。凌陽(yáng)SPCE061A具有μ’nSP?的指令系統(tǒng)提供具有較高運(yùn)算速度的16位*16位的乘法運(yùn)算指令和內(nèi)積運(yùn)算指令,增添了DSP
35、功能,使得μ’nSPTM系列運(yùn)用在復(fù)雜的數(shù)字信號(hào)處理方面既很便利,又比專用的DSP芯片廉價(jià)。凌陽(yáng)內(nèi)嵌32K字的Flash和2K字的SRAM,ROM和RAM統(tǒng)一編址,屬于馮諾依曼結(jié)構(gòu)計(jì)算機(jī),這樣的設(shè)計(jì)在制作中方便了對(duì)語(yǔ)音指令的壓縮和存儲(chǔ)。</p><p> 圖3-1 凌陽(yáng)SPCE061A單片機(jī) 圖3-2 ATMEGA16L管腳圖
36、 </p><p> SPCE061A的主要性能:</p><p> 1. 16位μ’nSP?核心高檔微控制器;</p><p> 2. 工作電壓:VVD為2.6V-3.6V(CPU),VDDH為VDD-5.5V(I/O);</p><
37、;p> 3. CPU時(shí)鐘:0.32MHz-49.152MHz;</p><p> 4. 內(nèi)置2K字SRAM;</p><p> 5. 內(nèi)置32K字FLASH;</p><p> 6. 可編程音頻控制器;</p><p><b> 7. 晶體振蕩器;</b></p><p> 8.
38、 系統(tǒng)處于設(shè)備狀態(tài)。耗電小雨2mA 3.6V;</p><p> 9. 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);</p><p> 10. 2個(gè)10位DAC;</p><p> 11. 32位通用可編程輸入/輸出端口;</p><p> 12. 14個(gè)中斷源可來(lái)自定時(shí)器A/B,時(shí)基,2個(gè)外部時(shí)鐘源輸;</p&g
39、t;<p> 13. 具備觸鍵喚醒功能;</p><p> 14. 使用凌陽(yáng)音頻編碼SACM_S240方式(2.4Kbps),能容納210s的語(yǔ)音數(shù)據(jù);</p><p> 15. 鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);</p><p> 16. 32768Hz實(shí)時(shí)時(shí)鐘;</p><p> 17. 7通道10位電壓數(shù)模轉(zhuǎn)換
40、器(ADC)和單通道聲音模數(shù)轉(zhuǎn)換器;</p><p> 18. 聲音模數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;</p><p> 19. 具備串口設(shè)備接口;</p><p> 20. 具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;</p><p> 21. 內(nèi)置在線仿真電路ICE(In-Circuit
41、Emulator);</p><p> 22. 具有保密能力;</p><p> 23. 具有Watch Dog功能;</p><p> 3.1.2車體主控制器ATMEGA16L的介紹</p><p> AVR 內(nèi)核具有豐富的指令集和32 個(gè)通用工作寄存器。所有的寄存器都直接與算邏單元(ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期
42、內(nèi)同時(shí)訪問(wèn)兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器最高至10 倍的數(shù)據(jù)吞吐率。</p><p> ATmega16L 有如下特點(diǎn):</p><p> 16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫(xiě)的能力,即RWW);</p><p> 512 字節(jié)EEPROM,1K 字節(jié)SRAM;</p><p&g
43、t; 32 個(gè)通用I/O 口線;</p><p> 32 個(gè)通用工作寄存器; </p><p> 用于邊界掃描的JTAG 接口,支持片內(nèi)調(diào)試與編程;</p><p> 三個(gè)具有比較模式的靈活的定時(shí)器/ 計(jì)數(shù)器(T/C);</p><p> 片內(nèi)/外中斷,片內(nèi)經(jīng)過(guò)標(biāo)定的RC 振蕩器;</p>
44、<p> 可編程串行USART,有起始條件檢測(cè)器的通用串行接口;</p><p> 8路10位具有可選差分輸入級(jí)可編程增益(TQFP 封裝) 的ADC;</p><p> 具有片內(nèi)振蕩器的可編程看門狗定時(shí)器;</p><p> 一個(gè)SPI 串行端口;</p><p> 四通道PWM,兩路8位,兩路16位;</p>
45、;<p> 六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式:空閑模式、ADC 噪聲抑制模式、省電模式、掉電模式、Standby 模式以及擴(kuò)展的Standby 模式</p><p> 速度等級(jí):0 - 8 MHz;</p><p> 工作電壓:2.7 - 5.5V;</p><p> nRF2401無(wú)線傳輸模組的主要特性:</p><p&
46、gt; 圖 3-3 nRF2401芯片框圖</p><p> nRF2401 是單片射頻收發(fā)芯片,工作于2.4~2.5GHz ISM 頻段,0~1Mbps 數(shù)據(jù)傳輸速率,125 階(梯度1MHz)收發(fā)頻率,地址檢驗(yàn)和CRC 校驗(yàn)。芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。芯片能耗非常低,以-5dBm 的功率發(fā)射時(shí),工作電流只有10.5mA,接收時(shí)工作電
47、流只有18mA,多種低功率工作模式,節(jié)能設(shè)計(jì)更方便。其DuoCeiverTM 技術(shù)使nRF2401 可以使用同一天線,同時(shí)接收兩個(gè)不同頻道的數(shù)據(jù)。nRF2401 適用于多種無(wú)線</p><p> 圖 3-4 nRF2401功能模塊原理圖</p><p> 通信的場(chǎng)合,如無(wú)線數(shù)據(jù)傳輸系統(tǒng)、無(wú)線鼠標(biāo)、遙控開(kāi)鎖、遙控玩具等 。其芯片框圖如圖3-8所示,其模組原理圖如圖3-9所示。</p
48、><p> 圖3-5 L298N管腳圖 圖3-6 L298N實(shí)物圖</p><p> 4.1.4 直流電機(jī)驅(qū)動(dòng)芯片L298N的介紹</p><p> L298是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流
49、為2A;內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來(lái)驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。其管腳圖和實(shí)物圖分別如圖3-9、圖3-10所示。 </p><p> 表1 L298N引腳功能表<
50、/p><p> 4.2 無(wú)線語(yǔ)音遙控器中SPCE061A的功能</p><p> 在本次設(shè)計(jì)中,關(guān)鍵地問(wèn)題之一在于人聲的A/D轉(zhuǎn)換存儲(chǔ)與識(shí)別,SPCE061A提供了語(yǔ)音輸入壓縮以及辨識(shí)的先進(jìn)技術(shù)。</p><p> 1. 語(yǔ)音指令的輸入。凌陽(yáng) SPCE061A利用麥克風(fēng)的指令輸入系統(tǒng),SPCE061A內(nèi)置由D/A轉(zhuǎn)換器 DACO和逐次逼近寄存器SAR組成的逐次逼
51、近式8通道10位A/D轉(zhuǎn)換器,以及采樣/保持電路。其中7個(gè)通道用于將模擬量信號(hào)(電壓信號(hào))轉(zhuǎn)換為數(shù)字量信號(hào),可以直接通過(guò)引線(IOA 0-IOA 6)輸人(Line_Inl-Line_ln7)另外一個(gè)通道只用于語(yǔ)音輸人,即通過(guò)內(nèi)置自動(dòng)增益控制放大器的麥克風(fēng)通道(MIC-In)輸人,是語(yǔ)音采集專用通道,也可設(shè)置為普通A/D輸入。</p><p> 2.語(yǔ)音指令的訓(xùn)練。語(yǔ)音遙控器作為機(jī)器,一定是不能先天理解人類的語(yǔ)
52、言的,所以,必須教會(huì)它人類語(yǔ)言的含義。即語(yǔ)音訓(xùn)練,內(nèi)容是將人類的語(yǔ)言事先已訓(xùn)練的方式經(jīng)過(guò)模數(shù)轉(zhuǎn)換存儲(chǔ)在凌陽(yáng)SPCE061A的FLASH中,并指定每一條語(yǔ)音所要指向的操作,以便在日后的使用中將采集來(lái)的語(yǔ)音與存儲(chǔ)的語(yǔ)音相比對(duì),以確定單片機(jī)需要進(jìn)行的操作。</p><p> 凌陽(yáng)SPCE061A對(duì)于不同的辨識(shí)能力提供以下兩種語(yǔ)音訓(xùn)練方式:</p><p> 1)特定發(fā)音人識(shí)別SD(Speak
53、er Dependent),是指語(yǔ)音樣板由單個(gè)人訓(xùn)練,可用于語(yǔ)音提示,而DVR用來(lái)錄音和放音;</p><p> 2) 非特定發(fā)音人識(shí)別SI(Speaker Independert)。是指語(yǔ)音樣板由不同年齡、不同性別、不同口音的人訓(xùn)練,可以識(shí)別一群人的命令;</p><p> 在本次設(shè)計(jì)中,需要向小車訓(xùn)練:向前、向后、左轉(zhuǎn)、右轉(zhuǎn)、停止等幾項(xiàng)語(yǔ)音指令,以供控制小車時(shí)的辨識(shí)使用。</
54、p><p> 值得注意的是,使用非特定發(fā)音人識(shí)別需要利用大量的DVR存儲(chǔ)不同人訓(xùn)練的語(yǔ)音,但是凌陽(yáng)SPCE061A并不能提供大量的內(nèi)存空間供存儲(chǔ)使用,由于設(shè)計(jì)條件有限,無(wú)法擴(kuò)展必要的存儲(chǔ)芯片完成存儲(chǔ)語(yǔ)音的功能,故選擇使用特定發(fā)音人識(shí)別。其訓(xùn)練具體流程參看后文內(nèi)容。</p><p> 3.對(duì)訓(xùn)練的語(yǔ)音指令的存儲(chǔ)。將經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)壓縮存儲(chǔ),SPCEO61A單片機(jī)的16位DSP有很強(qiáng)的信息
55、處理能力,最高時(shí)鐘頻率達(dá)49.152 MHz,具備運(yùn)算速度高等優(yōu)勢(shì)。這些為語(yǔ)音的錄放、合成及辨識(shí)提供了條件。凌陽(yáng)壓縮算法中DVR可用于錄、放音。語(yǔ)音的編碼、存儲(chǔ)、解碼處理是通過(guò)操作麥克風(fēng)輸人所生成的WAVE文件完成的,但在這個(gè)環(huán)節(jié)上會(huì)出現(xiàn)的一個(gè)問(wèn)題為其占用的存儲(chǔ)空間很大,對(duì)SPCEO61A單片機(jī)的32K FLASH來(lái)說(shuō)想要存儲(chǔ)大量的信息顯然是不可能的。而SPCE061A提出了解決方法:SACMV25.LIB。該庫(kù)將A/D、編碼、解碼、存
56、儲(chǔ)及D/A做成相應(yīng)的模塊,對(duì)于每個(gè)模塊都有其應(yīng)用程序接口API,所以只須了解每個(gè)模塊所要實(shí)現(xiàn)的功能及其參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可實(shí)現(xiàn)相應(yīng)功能。在進(jìn)行A/D轉(zhuǎn)換之前,從MIN_IN輸入的模擬信號(hào)要經(jīng)過(guò)緩沖器和放大器,AGC功能將通過(guò)MIC——IN通道輸入的模擬信號(hào)放大值控制在一定范圍內(nèi),然后放大信號(hào)經(jīng)采樣-保持模塊送入比較器參與A/D轉(zhuǎn)換值得確定。</p><p> 4. SPCE061A的語(yǔ)音辨識(shí)。語(yǔ)
57、音辨識(shí)是一種以語(yǔ)音模型為指令基礎(chǔ)的控制方式,語(yǔ)音模型的質(zhì)量直接影響辨識(shí)操作的速度和準(zhǔn)確率。具體步驟是經(jīng)過(guò)兩次語(yǔ)音采集,即訓(xùn)練和發(fā)布指令。系統(tǒng)經(jīng)復(fù)雜的函數(shù)操作將發(fā)布指令與預(yù)先訓(xùn)練的一音模型進(jìn)行比對(duì),如與語(yǔ)音模型相匹配,則輸出控制信號(hào)。具體原理如圖:</p><p> 圖 3-7 語(yǔ)音辨識(shí)原理簡(jiǎn)圖</p><p> 凌陽(yáng)16位微處理器的SPCE061A核心實(shí)現(xiàn)與計(jì)算機(jī)連接采用有線方案,通過(guò)
58、并口將預(yù)先設(shè)計(jì)的小車控制程序燒寫(xiě)到SPCE061A單片機(jī),以識(shí)別各種語(yǔ)音指令.系統(tǒng)的處理過(guò)程為:當(dāng)向控制器發(fā)出語(yǔ)音命令時(shí),聲波通過(guò)MIC輸入,將相應(yīng)的信號(hào)傳遞到SPCE061A處理芯片,在芯片中通過(guò)相關(guān)的程序與預(yù)先訓(xùn)練好的語(yǔ)音模型進(jìn)行比較、識(shí)別及處理,根據(jù)識(shí)別的結(jié)果進(jìn)行判斷、轉(zhuǎn)換,然后發(fā)出相應(yīng)的控制指令到無(wú)線模組,無(wú)線發(fā)送語(yǔ)音指令。</p><p> 使用特定人語(yǔ)音辨識(shí)的語(yǔ)音樣板由單個(gè)人訓(xùn)練和識(shí)別處理組成,如圖
59、:</p><p> 圖 3-8 語(yǔ)音辨識(shí)流程</p><p> 值得注意的是,凌陽(yáng)SPCEO61A在接收到控制語(yǔ)音指令后,并不是直接用其進(jìn)行辨識(shí)。圖 3-9 語(yǔ)音識(shí)別電路結(jié)構(gòu)</p><p> 為了提辨識(shí)的正確率,語(yǔ)音信號(hào)要經(jīng)過(guò)語(yǔ)音識(shí)別電路,將語(yǔ)音信號(hào)經(jīng)過(guò)濾波器降噪、加重等處理后進(jìn)行預(yù)測(cè)、量化等一系列操作進(jìn)行模數(shù)轉(zhuǎn)換,以數(shù)字形式進(jìn)行過(guò)零次數(shù)能量相關(guān)函數(shù)等方法
60、進(jìn)行匹配運(yùn)算,輸出辨識(shí)結(jié)果。其具體步驟如圖:</p><p> 5.語(yǔ)音指令的發(fā)送和回應(yīng)。在對(duì)遙控器發(fā)出語(yǔ)音指令后凌陽(yáng)SPCEO61A將人發(fā)出的指令與訓(xùn)練時(shí)的音頻進(jìn)行辨識(shí)后確定指令,由串口無(wú)線模組nRF2401發(fā)射。車上控制器接收到相應(yīng)指令后,設(shè)置動(dòng)作標(biāo)志位,返回回應(yīng)數(shù)據(jù),同時(shí)控制L298N和舵機(jī),使小車做出向前向后轉(zhuǎn)彎的動(dòng)作。SPCE061A接收到響應(yīng)數(shù)據(jù)后,可知小車已經(jīng)響應(yīng)了語(yǔ)音指令,便語(yǔ)音播報(bào)當(dāng)前小車的響
61、應(yīng)。</p><p> 4 系統(tǒng)硬件設(shè)計(jì)方案</p><p> 根據(jù)需要,系統(tǒng)硬件擬使用兩塊PCB板設(shè)計(jì)。其中一塊為語(yǔ)音遙控器,用于搭載凌陽(yáng)SPCE061A單片機(jī)、電源電路、音頻電路、I/O電路等外圍電路。另一塊為車體控制板,用于搭載接口電路,電源電路及電機(jī)驅(qū)動(dòng)。本章將對(duì)硬件系統(tǒng)各部分作具體分析。</p><p> 4.1 遙控器硬件設(shè)計(jì)方案</p>
62、;<p> 在無(wú)線語(yǔ)音遙控智能車的設(shè)計(jì)中,凌陽(yáng)SPCEO61A單片機(jī)作為遙控器的主控制器,需要增加一系列的外圍電路的支持才能實(shí)現(xiàn)音頻輸入輸出和識(shí)別,以及語(yǔ)音命令的輸出等功能。需要增加的外圍電路有:電源電路、MIC輸入電路、音頻輸出電路、無(wú)線傳輸電路、復(fù)位電路、I/O接口電路。 </p><p><b> 1. 電源電路</b></p><p> 凌
63、陽(yáng)SPCE061A單片機(jī)內(nèi)核和nRF2401模組電源電壓要求為3.3V,其他邏輯器件要求5V供電,設(shè)計(jì)中采用DC9V供電,直流電壓先通過(guò)LM7805得到5V直流電源為邏輯電路供電,然后通過(guò)SPY0029穩(wěn)壓到3.3V,為整個(gè)單片機(jī)內(nèi)核和nRF2401供電。另外,在LM7805的前端入一個(gè)二極管,目的在于防止電源接反而對(duì)整個(gè)電路造成損壞。 </p><p> 圖4-1 電源電路圖</p><p
64、><b> 2.音頻電路</b></p><p><b> 1)MIC輸入電路</b></p><p> 在使用SPCE061A的語(yǔ)音訓(xùn)練和聲音控制的時(shí)候,需要使用MIC輸入電路將語(yǔ)音信</p><p> 圖 4-2 MIC輸入電路</p><p> 號(hào)接收,并傳送至SPCE061A
65、進(jìn)行處理。為提高輸入的聲音質(zhì)量,MIC輸入電路還應(yīng)具備一定的濾波降噪功能。電路中的∏性濾波器就能很好的實(shí)現(xiàn)這個(gè)功能。同時(shí)使入電路可以實(shí)現(xiàn)自動(dòng)增益(AGC)控制。其中X1是語(yǔ)音的MIC輸入端。</p><p><b> 2)DAC輸出電路</b></p><p> 在語(yǔ)音訓(xùn)練的過(guò)程中,凌陽(yáng)SPCE061A需要輸出信號(hào)提示音,以讓訓(xùn)練者了解其工作狀態(tài),方便進(jìn)行語(yǔ)音訓(xùn)練
66、。另外還要播報(bào)小車的工作狀態(tài)。SPCE061A自帶雙通道DAC</p><p> 圖 4-3 DAC輸出電路</p><p> 音頻輸出, DAC1、DAC2轉(zhuǎn)換輸出的模擬量電流信號(hào)分別通過(guò)DAC1和DAC2管腳輸出, DAC</p><p> 輸出為電流型輸出,所以DAC輸出經(jīng)過(guò)SPY0030音頻放大,以驅(qū)動(dòng)喇叭放音。這為單片機(jī)的音頻設(shè)計(jì)提供了極大方便。在P
67、9上接一個(gè)2pin的插針外接喇叭,即可實(shí)現(xiàn)提示語(yǔ)音輸出功能。DAC電路中,SPY0030是凌陽(yáng)的一款音頻放大芯片,相當(dāng)于LM386,但是它比LM386音質(zhì)好,可以工作在2.4-6.0V范圍內(nèi),最大輸出功率可達(dá)700mW。</p><p><b> 3.I/O接口電路</b></p><p> 接口電路凌陽(yáng)SPCE061A的兩路16位I/O接口引出,因?yàn)橐话氵壿嬰娐?/p>
68、都是8位并行總線,所以SPCE061A的I/O接口分為4組,每組8個(gè)端口加兩個(gè)電源線,電源電壓可由雙刀雙擲選擇為3.3V或5V。另外,串口和IOB7及IOB10復(fù)用,在此設(shè)計(jì)中用該資源將語(yǔ)音命令傳輸給串口nRF2401模組進(jìn)行無(wú)線發(fā)射。</p><p> 圖4-4 I/O接口電路示意圖</p><p><b> 4.復(fù)位電路</b></p><
69、p> 在一些情況下,需要對(duì)SPCE061A進(jìn)行硬件復(fù)位,有阻容電路完成上電復(fù)位功能,通電就自動(dòng)復(fù)位,另外,還可以按鍵外部復(fù)位。 圖 4-5 復(fù)位電路圖</p><p> 4.2車體控制硬件設(shè)計(jì)方案 </p><p> 車體控制部分電路主要由nRF2401無(wú)線模組、ATMEGA16L最小系統(tǒng)電路、舵機(jī)驅(qū)
70、動(dòng)電路和L298N直流電機(jī)驅(qū)動(dòng)電路組成。無(wú)線模組接收到語(yǔ)音指令后,傳遞給單片機(jī),然后微處理器根據(jù)指令返回不同的響應(yīng)信號(hào),控制舵機(jī)和動(dòng)力電機(jī)做出不同的響應(yīng)動(dòng)作。下面詳細(xì)介紹各部分的電氣結(jié)構(gòu)和工作原理。</p><p> 4.2.1主控制器最小系統(tǒng)</p><p><b> 圖 </b></p><p> 4-6 車體主控制器最小系統(tǒng)圖<
71、;/p><p> 在上圖中,OCR1A和OCR1B為兩路16位定時(shí)/計(jì)數(shù)器的輸出引腳,能夠產(chǎn)生高精度,低頻率PWM脈沖信號(hào),占空比1/65535布進(jìn)可調(diào),近似于連續(xù)可調(diào),用來(lái)驅(qū)動(dòng)舵機(jī)轉(zhuǎn)向。OC2為8位定時(shí)/計(jì)數(shù)器2輸出引腳,用來(lái)產(chǎn)生高頻PWM信號(hào),調(diào)節(jié)直流驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速,占空比1/255布進(jìn)可調(diào)。另外PC0-PC5用來(lái)模擬nRF2401的通信時(shí)序,傳給響應(yīng)數(shù)據(jù)或讀出語(yǔ)音指令。串口nRF2401無(wú)線模組的原理圖和此處
72、一樣,只是其發(fā)射的數(shù)據(jù)改為ATMEGA16L串口接收到的數(shù)據(jù),即SPCE061A串口發(fā)出的語(yǔ)音指令。</p><p> 4.2.2 直流動(dòng)力電機(jī)驅(qū)動(dòng)電路</p><p> 圖4-7 電機(jī)驅(qū)動(dòng)電路</p><p> L298N的主要功能和性能參數(shù),前面都已經(jīng)詳細(xì)介紹過(guò),在此不再贅述。由于只用到了一個(gè)直流動(dòng)力電機(jī),為了增加驅(qū)動(dòng)能力,我將L298N的兩路驅(qū)動(dòng)并聯(lián)實(shí)
73、用,實(shí)現(xiàn)方法為,將OUT1和OUT4 并聯(lián)為OUT1,OUT2和OUT3并聯(lián)為OUT2,IN1和IN4并聯(lián)為IN1,IN2和IN3并聯(lián)為IN2,EnableA和EnableB并聯(lián)為Enable,則L298的邏輯控制如下表3.1。其中C、D分別為IN1或IN2;L為低電平,H為高電平,※為不管是低電平還是高電平,Ven為Enable上的電壓。</p><p> 表2 L298對(duì)直流電機(jī)控制的邏輯真值表</
74、p><p> 4.2.3舵機(jī)驅(qū)電路</p><p> AVR系列高檔8位單片機(jī)的IO驅(qū)動(dòng)能力很強(qiáng),無(wú)需外接驅(qū)動(dòng)電路,需特殊說(shuō)明的是舵機(jī)的額定電壓為6伏,這里采用7.2伏直接供電,雖然超出額定電壓,但不會(huì)損壞舵機(jī),省掉一個(gè)電壓轉(zhuǎn)換芯片的同時(shí),還提高了舵機(jī)的響應(yīng)靈敏度。 </p><p> 5. 系統(tǒng)軟件設(shè)計(jì)方案</p><p> 5.
75、1 語(yǔ)音遙控器的主程序流程設(shè)計(jì)</p><p> 語(yǔ)音遙控器的主程序流程分為四大部分:初始化部分、訓(xùn)練部分、識(shí)別部分、無(wú)線通信部分和指令響應(yīng)播報(bào)部分。初始化操作將IOB7設(shè)置為輸入,IOB10設(shè)置為輸出,然后設(shè)置串口控制寄存器,將串口通信參數(shù)設(shè)置為9600、N、8、1,為向串口無(wú)線模組發(fā)送數(shù)做好準(zhǔn)備。同時(shí),初始化DAC1和DAC2準(zhǔn)備播放響應(yīng)指令,初始化T/C為PWM模式,準(zhǔn)備對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行采樣。下面詳細(xì)討論后
76、三個(gè)比較重要部分的軟件實(shí)現(xiàn)步驟。</p><p><b> 5.1.1訓(xùn)練部分</b></p><p> 訓(xùn)練部分完成的工作就是建立語(yǔ)音模型。程序一開(kāi)始判斷小車是否被訓(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&g
77、t;<p><b> 5.1.2識(shí)別部分</b></p><p> 在系統(tǒng)方案的選取及程序的開(kāi)發(fā)中,語(yǔ)音的識(shí)別及處理是整個(gè)系統(tǒng)的核心及難點(diǎn).識(shí)別對(duì)象的選取會(huì)對(duì)程序運(yùn)行、識(shí)別的效果及實(shí)用性起決定的作用.應(yīng)根據(jù)具體的應(yīng)用情況選擇決定,以獲得最佳的識(shí)別效率。為了降低開(kāi)發(fā)的難度,提高語(yǔ)音控制器的實(shí)際的使用效能,語(yǔ)音控制器采用特定發(fā)音人識(shí)別方式.即語(yǔ)音控制器適用于某個(gè)具體的特定的對(duì)象
78、.程序設(shè)計(jì)的最終目的是根據(jù)人的語(yǔ)音命令進(jìn)行相應(yīng)的處理,程序的響應(yīng)、處理并轉(zhuǎn)換成相應(yīng)的控制指令,其依靠的轉(zhuǎn)換平臺(tái)就是語(yǔ)音的識(shí)別處理.語(yǔ)音識(shí)別的處理分為語(yǔ)音樣板訓(xùn)練和語(yǔ)音識(shí)別兩個(gè)過(guò)程.可將先前植入的標(biāo)準(zhǔn)命令模式的存儲(chǔ)空間稱之為“詞庫(kù)”,而把標(biāo)準(zhǔn)命令模式稱之為“樣板”.所謂語(yǔ)音樣板訓(xùn)練,就是將待識(shí)別的命令進(jìn)行頻譜分析,提取特征參數(shù)作為識(shí)別的標(biāo)準(zhǔn)模式.語(yǔ)音識(shí)別的過(guò)程就是將提取語(yǔ)音命令的特征參數(shù),與詞庫(kù)中的命令樣板比較,取相似度最好的樣板命令序號(hào)
79、作為識(shí)別結(jié)果,以供程序進(jìn)行處理。</p><p> 圖5-2 訓(xùn)練流程圖</p><p> 在識(shí)別環(huán)節(jié)當(dāng)中,如果辨識(shí)結(jié)果是名字,便等待下一個(gè)動(dòng)作指令。如果在名字指令后緊接一個(gè)動(dòng)作指令,遙控器將會(huì)將指令通過(guò)串口nRF2401模組發(fā)送出去,并等待小車的響應(yīng),如果在名字指令后超過(guò)一定時(shí)間,沒(méi)有第二個(gè)指令到來(lái),那么遙控器將清除前次識(shí)別結(jié)果進(jìn)入新的識(shí)別。其流程圖如圖示。
80、 </p><p> 5.1.3 無(wú)線發(fā)送應(yīng)答部分</p><p> 既然是無(wú)線語(yǔ)音遙控智能車,肯定少不了無(wú)線通信,無(wú)線通當(dāng)然是指兩點(diǎn)間的通信了,所以設(shè)計(jì)中用了一對(duì)半雙工無(wú)線通信模組nRF2401,由于其一塊單獨(dú)工作沒(méi)有任何實(shí)際意義,所以在此將遙控器部分和車體部分的無(wú)線模組軟件工作流程同時(shí)列舉,在后面車體部分的軟件設(shè)計(jì)中不再敘述。首先,我需要自己定義一個(gè)
81、無(wú)線通信協(xié)議,nRF2401 </p><p> 圖5-3 識(shí)別子程序流程圖</p><p> 無(wú)線模組,每次發(fā)送有效數(shù)據(jù)最少1字節(jié),最多32字節(jié),發(fā)送前模組自動(dòng)為數(shù)據(jù)增加數(shù)據(jù)頭和交驗(yàn)尾。因?yàn)椴恍杩紤]數(shù)據(jù)的保密性,所以就采用簡(jiǎn)單的一字節(jié)命令,這樣也能提高通信的可靠性。每次nRF2401發(fā)送的數(shù)據(jù)格式如下:</p><p> 表3 無(wú)線通信數(shù)據(jù)格式</p&
82、gt;<p> 其中,一字節(jié)的有效數(shù)據(jù)DATA共有五個(gè),分別代表的意義如表4:</p><p> 遙控器發(fā)送指令后,怎么知道小車部分是否接收到或是否響應(yīng)了呢?所以,還需要一個(gè)應(yīng)答機(jī)制,小車在接收到語(yǔ)音指令后,在執(zhí)行響應(yīng)動(dòng)作之前返回一個(gè)響應(yīng)數(shù)據(jù),該數(shù)據(jù)為DATA+5,則遙控器通過(guò)接收到的應(yīng)答信號(hào)DATA+5可以判斷小車的相應(yīng)狀況,然后進(jìn)行相應(yīng)的語(yǔ)音播報(bào),若超過(guò)一定時(shí)間沒(méi)有收到相應(yīng)信號(hào),則遙控器會(huì)再
83、次發(fā)送語(yǔ)音控制指令。該部分軟件流程圖如圖5-4所示。</p><p> 5.2 車體主控程序軟件流程設(shè)計(jì)</p><p> 當(dāng)車體主控制器檢測(cè)接收到語(yǔ)音指令時(shí),先返回DATA+5,告知遙控器自己進(jìn)行了響應(yīng)。然后在真正進(jìn)行動(dòng)作響應(yīng),先響應(yīng)后動(dòng)作的原因是因?yàn)樾≤囃瓿赡硞€(gè)動(dòng)作的時(shí)間較長(zhǎng),會(huì)導(dǎo)致遙控器因接收不到響應(yīng)指令而不斷的重發(fā)語(yǔ)音命令。下車接收到語(yǔ)音指令后,共有五種動(dòng)作可以響應(yīng),為了更好的
84、描述用K表示T/C2產(chǎn)生的PWM占空比,J表示舵機(jī)的擺角,定義90度的位置為0,左擺為負(fù),右擺為正,Dir表示L298N方向控制位,10表示向前,01表示向后,11或00停止,則指令和動(dòng)作的對(duì)應(yīng)表5所示: </p><p><b> 表5 車體響應(yīng)動(dòng)作</b></p><p> 據(jù)此設(shè)計(jì)的軟件流程圖如圖5-5所示。</p><p>
85、圖5-5 車體主控程序流程圖</p><p> 5.3 軟件開(kāi)發(fā)環(huán)境</p><p> 5.3.1凌陽(yáng)SPCE061A單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境</p><p> 凌陽(yáng)SPCEO61A單片機(jī)采用μ’nSP?內(nèi)核指令系統(tǒng)的程序設(shè)計(jì)支持匯編語(yǔ)言和C語(yǔ)言編寫(xiě)。在編程中也可以使用匯編偽指令,這樣能使句子所表達(dá)的意思的結(jié)構(gòu)更加清晰,能夠增強(qiáng)可讀性,使匯編器的編譯效率提高。
86、μ’nSP?內(nèi)核對(duì)支持ANSI-C中使用的基本數(shù)據(jù)類型,并且可以在C程序中調(diào)用匯編函數(shù)提高代碼效率,并使其具有較好的實(shí)時(shí)性。聲控小車的各種動(dòng)作,以及指令以及工作方式都要通過(guò)C語(yǔ)言與匯編語(yǔ)言編寫(xiě),并進(jìn)行摸擬,調(diào)試等操作。為減少繁瑣的堆棧操作和提高程序可讀性,在本次設(shè)計(jì)中采用C語(yǔ)言編寫(xiě)辨識(shí)程序。</p><p> 在編程工作結(jié)束后,將會(huì)對(duì)聲控小車進(jìn)行程序的輸入。使用凌陽(yáng)科技提供的一個(gè)集成開(kāi)發(fā)環(huán)境μ’nSP? IDE
87、,它能完成程序的編輯、編譯、鏈接、調(diào)試和仿真等功能。使用它的的軟件仿真功能可以在不連接仿真板的情況下通過(guò)模擬硬件的部分功能來(lái)調(diào)試程序。并使用在線調(diào)試器PROBE對(duì)SPCEO61A程序進(jìn)行寫(xiě)入,它既是一個(gè)程序燒寫(xiě)器人又是一個(gè)實(shí)時(shí)在線調(diào)試器。它利用了SPCE06lA片內(nèi)置的在線仿真電路ICE(In-Circuit Emulator)接口和凌陽(yáng)公司的在線串行編程技術(shù)。PROBE工作于凌陽(yáng)IDE集成開(kāi)發(fā)環(huán)境軟件包下,其5芯的仿真頭直接連接到目標(biāo)
88、電路板上SPCEO61A相應(yīng)引腳,直接對(duì)目標(biāo)電路板上的SPCEO61A調(diào)試,運(yùn)行編寫(xiě)好的程序。PROBE的另一頭是標(biāo)準(zhǔn)25針打印機(jī)接口,直接連接到計(jì)算機(jī)打印口與微機(jī)通信,在計(jì)算機(jī)IDE集成開(kāi)發(fā)環(huán)境軟件包下,實(shí)現(xiàn)在線調(diào)試。</p><p> 圖 5-6 計(jì)算機(jī),PROBE和用戶目標(biāo)板三者之間的連接示意圖</p><p> 5.3.2 ATMEGA16L單片機(jī)指令系統(tǒng)與開(kāi)發(fā)環(huán)境</p
89、><p> 為了獲得最高的性能以及并行性, AVR 采用了Harvard 結(jié)構(gòu),具有獨(dú)立的數(shù)據(jù)和程序總線。程序存儲(chǔ)器里的指令通過(guò)一級(jí)流水線運(yùn)行。CPU 在執(zhí)行一條指令的同時(shí)讀取下一條指令( 在本文稱為預(yù)取)。這個(gè)概念實(shí)現(xiàn)了指令的單時(shí)鐘周期運(yùn)行。程序存儲(chǔ)器是可以在線編程的FLASH。AVRStudio是Atmel公司推出的AVR單片機(jī)集成開(kāi)發(fā)環(huán)境。能運(yùn)行于Windows9x/ME/NT/2000/XP等操作系統(tǒng)平臺(tái)下
90、。它提供了源文件的編輯器,用于軟件仿真的芯片仿真器和在線硬件仿真(ICE)的接口。源程序的編輯可采用匯編語(yǔ)言,其匯編級(jí)編譯器(AVR Assembler)是免費(fèi)提供的。AVRStudio也可采用C語(yǔ)言編程,支持第三方C編譯器。AVRStudio還集成有軟件調(diào)試(AVR Studio)和實(shí)時(shí)在線仿真器(JTAG ICE)以及AVRProg下載等功能。目前,ARTMEL公司所發(fā)布的最新版本為AVR Studio4.14,可以在ATMEL公司
91、的官方網(wǎng)站htttp://www.atmel.com下載。</p><p> 圖5-7 AVRStudio開(kāi)發(fā)環(huán)境</p><p><b> 結(jié)論</b></p><p> 本次對(duì)于無(wú)線語(yǔ)音遙控智能小車的設(shè)計(jì)采用凌陽(yáng)SPCE061A十六位單片機(jī)和AVR系列ATMEGA16L高檔8位單片機(jī)配合實(shí)現(xiàn)。SPCE061A采用μ’nSP?內(nèi)核微處理
92、器,其內(nèi)部集成語(yǔ)音采集、識(shí)別及播放功能,并且集成了2K字的RAM、32K字的Flash,同時(shí)ATMEGA16L內(nèi)集成的1K字節(jié)的SRAM和16K字節(jié)的FLASH使得整個(gè)系統(tǒng)不需要外擴(kuò)程序存儲(chǔ)器和RAM。由于采用了高性能的MCU,省掉了大量的外圍器件,使得硬件結(jié)構(gòu)大大簡(jiǎn)化,提高了系統(tǒng)的可靠性。遙控器部分選用凌陽(yáng)SPCE061A,完全取決于其高集成度和較全面的功能,不需要增加復(fù)雜的外圍電路就可以實(shí)現(xiàn)語(yǔ)音辨識(shí)和一系列職能動(dòng)作。它的軟件編程采用
93、C和匯編混合編程來(lái)實(shí)現(xiàn),集兩種語(yǔ)言之優(yōu)點(diǎn)于一體,它們的完美結(jié)合極大限度地簡(jiǎn)化了編程過(guò)程,豐富了編程思想,給開(kāi)發(fā)者帶來(lái)了莫大的方便。采用別的單片機(jī)實(shí)現(xiàn)所有功能一般要兩個(gè)單片機(jī),硬件電路也更加復(fù)雜。若要實(shí)現(xiàn)語(yǔ)音播報(bào)功能和語(yǔ)音辨識(shí),不是多用幾個(gè)別的類型的單片機(jī)就可實(shí)現(xiàn)的,而凌陽(yáng)單片機(jī)提供了很好的語(yǔ)音播放和錄制機(jī)制以及簡(jiǎn)單的API接口編程。使用SPCE061A開(kāi)發(fā)產(chǎn)品不僅給開(kāi)發(fā)者耳目一新的感覺(jué)更給用</p><p>
94、對(duì)于無(wú)線語(yǔ)音遙控智能小車來(lái)講,本次設(shè)計(jì)的作品并無(wú)太大實(shí)用價(jià)值,但有很大實(shí)際意義,其中聲音控制機(jī)器操作的思路是今后簡(jiǎn)化人機(jī)接口的方向。此類構(gòu)想可移植到諸如小家電、汽車等于生活息息相關(guān)的電子產(chǎn)品上。在人類與計(jì)算機(jī)的關(guān)系日益密切的今天,更為便捷、更為人性化、更為智能化的人機(jī)對(duì)話方式無(wú)疑是今后科技發(fā)展的新趨勢(shì)。</p><p> 在結(jié)束了本次畢業(yè)設(shè)計(jì)后,本人對(duì)于單片機(jī)的了解和使用能力達(dá)到了一個(gè)更高的層次,使知識(shí)得到了充
95、分的運(yùn)用,同時(shí)也補(bǔ)充了部分沒(méi)有接觸過(guò)的思想。本人從中受益匪淺。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 劉海承等. MCU-DSP型單片機(jī)原理與應(yīng)用 北京:北京航空航天大學(xué)出版社,2003</p><p> [2] 羅亞非.凌陽(yáng) 16位單片機(jī)應(yīng)用基礎(chǔ).北京:北京航空航天大學(xué)出版社,2003</p&g
96、t;<p> [3] 鄭學(xué)堅(jiān),周斌.微型計(jì)算機(jī)原理及應(yīng)用.第三版.北京:清華大學(xué)出版社,2001</p><p> [4] 歐陽(yáng)斌林,等.單片機(jī)原理與應(yīng)用.中國(guó)水利水電出版社,2001</p><p> [5 ]李晶皎.嵌人式語(yǔ)音技術(shù)及凌陽(yáng)16位單片機(jī)應(yīng)用.北京:北京航空航天大學(xué)出版社,2003</p><p> [6] 潘松,黃繼業(yè).EDA技
97、術(shù)實(shí)用教程.第二版.北京:科學(xué)出版社,2005</p><p> [7] 凌陽(yáng)科技大學(xué)計(jì)劃.凌陽(yáng)單片機(jī)在大學(xué)生電子競(jìng)賽中的應(yīng)用,第一版,北京航空航天大學(xué)出版社,2005.6</p><p> [8] 劉海成,秦進(jìn)平.MCU-DSP型單片機(jī)原理與應(yīng)用基于凌陽(yáng)16位單片機(jī),第一版,北京航空航天大學(xué)出版社,2006</p><p> [9] 張齊,杜群貴.單片機(jī)應(yīng)用
98、系統(tǒng)設(shè)計(jì)技術(shù)——基于C語(yǔ)言編程,第二版,電子工業(yè)出版社,2004.8</p><p> [10] 侯媛彬.凌陽(yáng)單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選,第一版,科學(xué)出版社,2006.1</p><p> [11] 吳雙力,崔劍,王伯嶺.AVR-GCC與AVR單片機(jī)C語(yǔ)言開(kāi)發(fā),第一版,北京航空航天大學(xué)出版社,2004.10</p><p> [12] 徐煜明,韓雁.單片機(jī)原理
99、及接口技術(shù),第一版,電子工業(yè)出版社,2005 </p><p> [13] 楊西明,朱騏.單片機(jī)編程與應(yīng)用入門,第一版,機(jī)械工業(yè)出版社,2004.9</p><p> [14] 嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試,第一版,北京航空航天大學(xué)出版社,2005</p><p> [15] Michael A. Miller.Data and Network Com
100、munications,第一版,科學(xué)出版社,2002</p><p><b> 致謝</b></p><p> 畢業(yè)設(shè)計(jì)是我們的大學(xué)學(xué)習(xí)生活的最后一項(xiàng)學(xué)習(xí)任務(wù),是對(duì)我們大學(xué)四年學(xué)習(xí)的綜合考核。為期兩個(gè)多月的畢業(yè)設(shè)計(jì)過(guò)程中,我以這四年來(lái)所學(xué)的知識(shí)為基礎(chǔ),獨(dú)立設(shè)計(jì)制作以凌陽(yáng)SPCE061A單片機(jī)和ATMEL的ATMEGA16L為基礎(chǔ)的無(wú)線語(yǔ)音遙控智能車的設(shè)計(jì)。在完成本
101、次設(shè)計(jì)的同時(shí),也提高了獨(dú)立分析問(wèn)題、研究問(wèn)題的能力。相信此次畢業(yè)設(shè)計(jì)一定會(huì)為我們?cè)诓痪玫膶?lái)踏上工作崗位打下了良好的實(shí)踐基礎(chǔ)。</p><p> 本次畢業(yè)設(shè)計(jì)能夠順利地完成,首先要感謝我的指導(dǎo)老師**老師。張老師在已經(jīng)非常繁忙的工作中,依然指導(dǎo)我完成了本次畢業(yè)設(shè)計(jì)。張書(shū)記的鼎力幫助是我完成這次畢業(yè)設(shè)計(jì)的重要保證,他給予了我很大的幫助和支持,使我受益匪淺;在本人完成畢業(yè)設(shè)計(jì)的工程中,他在設(shè)計(jì)最關(guān)鍵的時(shí)期給予我莫大
102、的幫助,在這里向他表示衷心的感謝。</p><p> 同時(shí),我要感謝我的母?!?*學(xué)院。大學(xué)四年,這里留下了我們?cè)S多美好的回憶。特別是在我即將踏上工作崗位的同時(shí),給了我這樣一個(gè)鍛煉、學(xué)習(xí)的機(jī)會(huì),使我加深了對(duì)以前知識(shí)的理解,拓寬了知識(shí)面,也提高了我對(duì)所學(xué)知識(shí)的綜合的應(yīng)用能力。祝愿母校的將來(lái)更美好!</p><p> 正是由于得到了老師、同學(xué)、同事、學(xué)校各個(gè)方面的大力支持和熱心幫助,我的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——無(wú)線語(yǔ)音遙控智能車
- 畢業(yè)論文——無(wú)線語(yǔ)音遙控智能車
- 無(wú)線語(yǔ)音遙控智能車論文資料
- 無(wú)線遙控車系統(tǒng)畢業(yè)設(shè)計(jì)
- 無(wú)線遙控車畢業(yè)論文
- 藍(lán)牙智能遙控小車畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文(多路無(wú)線遙控開(kāi)關(guān)設(shè)計(jì))
- 射頻無(wú)線遙控門鈴的畢業(yè)設(shè)計(jì)論文
- 無(wú)線遙控門鈴畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)無(wú)線遙控智能小車protues仿真代寫(xiě)程序
- 無(wú)線遙控門鈴畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----無(wú)線遙控門鈴設(shè)計(jì)
- 公交車智能語(yǔ)音播報(bào)系統(tǒng)畢業(yè)設(shè)計(jì)
- 無(wú)線遙控智能讀溫系統(tǒng)設(shè)計(jì)—硬件設(shè)計(jì)【畢業(yè)論文】
- 無(wú)線遙控電動(dòng)欄桿畢業(yè)設(shè)計(jì)
- 簡(jiǎn)易無(wú)線遙控系統(tǒng)畢業(yè)設(shè)計(jì)
- 無(wú)線遙控音樂(lè)門鈴畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)204無(wú)線遙控實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)204無(wú)線遙控實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)-----多路無(wú)線遙控開(kāi)關(guān)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論