智能聲控小車畢業(yè)論文
《智能聲控小車畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《智能聲控小車畢業(yè)論文(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 畢業(yè)設(shè)計(論文) 題 目 智能聲控小車 英文題目 The intelligent voice control dolly 學(xué)生姓名 學(xué) 號 指導(dǎo)教師 專 業(yè) 電子科學(xué)與技術(shù) 二零11年11
2、月 摘 要 語音處理技術(shù)是一門新興的技術(shù),它不僅包括語音的錄制和播放,還涉及語音的壓縮編碼和解碼,語音識別等各種處理技術(shù)。以往做這方面的設(shè)計,一般有兩個途徑:一種方案是單片機擴展設(shè)計,另一種就是借助于專門的語音處理芯片。采用凌陽公司的SPCE061A16位單片機作為語音控制小車的檢測和控制核心,配合SPCE061A的語音特色,利用系統(tǒng)的語音播放和語音識別資源,通過控制I/O接口電路傳輸控制信息,從而控制全橋驅(qū)動電路最終實現(xiàn)多功能語音控制小車的基本功能。利用編程進行語音的“訓(xùn)練”和“識別”。設(shè)計出具有如下功能的語音聲控小車:能夠根據(jù)錄制的語音命令來控制小車的啟動、停止、返回、
3、拐彎。 關(guān)鍵詞:SPCE061A,語音識別,全橋驅(qū)動,小車 Abstract Speech processing technology is a new technology, it includes not only the voice recording and playback, and in the speech compression encoding and decoding, speech recognition and all kinds of processing te
4、chnology. Before the design, generally there are two ways: a single chip design scheme is extended, and the other is by special speech processing chip.Based on the voice characteristics of MCU Sunplus SPCE061A,the small car of muhifunction voice—controlled was designed.The car system is composed of
5、voice recognition and voice broadcast,and its transmission and controlling information is controlled by I/O interface circuit.In order to control full bridge drive circuit at last the basic functions of muhifunctional voice-controlled small car are realized.We use programming for voice "training" a
6、nd "recognition". It has the following features: According to recorded the voice command to control the car to start, stop, return, and turn. Key words: SPCE061A,Speech Recognition,F(xiàn)ull-bridge driver,Trolley 目 錄 第一章 緒論………………………………………………… 1 1.1 引言…………
7、…………………………………………… 1 1.2 目前的發(fā)展概況…………………………………………… 1 1.3 智能聲控的應(yīng)用研究……………………………………… 1 1.4 課題的提出背景與實際意義…………………………………1 第二章 系統(tǒng)方案………………………………………………3 2.1 總體方案選擇……………………………………………… 3 2.2 系統(tǒng)硬件方案……………………………………………… 4 2.3 系統(tǒng)軟件方案……………………………………………… 5 第三章 系統(tǒng)硬件設(shè)計………………………………………… 6 3.1 車體介紹………………………
8、………………………… 6 3.1.1 小車的行走原理…………………………………………7 3.2 控制板原理……………………………………………… 9 3.2.1全橋驅(qū)動原里………………………………………………9 3.2.2 動力電機驅(qū)動……………………………………………11 3.2.3 方向電機控制電路…………………………………………12 3.3 芯片特性簡介……………………………………………… 14 3.3.1 SPCE061A特性簡介…………………………………………14 3.3.2 開發(fā)板61板
9、簡介……………………………………………15 3.4 電源模塊…………………………………………………… 15 第四章 系統(tǒng)軟件設(shè)計……………………………………………16 4.1 系統(tǒng)的主程序流程……………………………………………16 4.1.1 初始化部分……………………………………………… 16 4.1.2 訓(xùn)練部分………………………………………………… 17 4.1.3 識別部分………………………………………………… 17 4.1.4 重訓(xùn)操作………………………………………………… 17 4.2 主函數(shù)模塊程序
10、…………………………………………… 17 4.3 語音識別的原理……………………………………………… 18 4.4 語音訓(xùn)練識別程序…………………………………………… 18 4.5 語音動作子程序……………………………………………… 19 4.6 中斷子程序…………………………………………………… 22 結(jié)論……………………………………………………………… 24 致謝……………………………………………………………… 25 參考文獻………………………………………………………… 26 附錄……………………………………………………………… 27
11、 緒 論 1.1 引言 隨著電子業(yè)的發(fā)展, 自動化已不再是一個新鮮的話題,無人駕駛的小汽車也必將進入實用階段,未來駕駛汽車,不再是只能依靠手動、語音等方式也有可能成為未來汽車的輔助駕駛途徑之一。單片機作為計算機技術(shù)的一個重要分支、嵌人式系統(tǒng)的核心,廣泛用于工業(yè)控制、智能儀器、家用電器、智能產(chǎn)品等領(lǐng)域。當前電子設(shè)計系統(tǒng)已進入了片上系統(tǒng)時代,單片機的功能也越來越強,使其真正成為系統(tǒng)單片機。本系統(tǒng)模擬將來的智能小車,采用SPCE061A單片機作為檢測和控制核心,該單片機是一個16位結(jié)構(gòu)的微
12、控制器, 基于nSPTM 內(nèi)核,具有DSP運算功能,內(nèi)置1O位A/D及D/A 轉(zhuǎn)換器,豐富的軟硬件支持,而SPCE061A 單片機集成度高, 擴展方便,可靠性好。 SPCE061A 內(nèi)嵌 32K 字的 FLASH 程序存儲器以及 2K 的SRAM。同時該 SOC 芯片具有 ADC 和 DAC 功能,其 MIC_ADC 通道帶有AGC自動增益環(huán)節(jié),能夠很輕松的將語音信號采集到芯片內(nèi)部,兩路 10 位的電流輸出型DAC,只要外接一個功放就可以完成聲音的播放。以上介紹的這些硬件資源使得該SPCE061A 能夠單芯片實現(xiàn)語音處理功能。 借助于 SPCE061A 的語音特色實現(xiàn)了對小車前
13、進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停車等語音控制功能。 1.2 目前的發(fā)展概況 聲控技術(shù)其實就是利用語音識別技術(shù)來達到控制或者操作的一種技術(shù),而語音識別技術(shù)這近五年來已經(jīng)有很大的進步,最新的語音識別技術(shù)可以辨識90%以上的人類說出的字。聲控技術(shù)雖然是一項比較先進的技術(shù),但不可否認的是,聲控技術(shù)在無限傳輸時的合成的質(zhì)量不是很好,它尚需進一步提高,因為無線環(huán)境中的背景噪音太大了,當然還有其他方面的因素影響著聲控功能的發(fā)揮。 然而隨著微電子技術(shù)、計算機技術(shù)、及傳感器技術(shù)的迅速發(fā)展,現(xiàn)今聲控技術(shù)應(yīng)用廣泛,這種嶄露頭角的聲控技術(shù),給嚴重傷殘人的生活帶來了極大的方便。傷殘病人用聲音就可以打開門窗、窗
14、簾、電視機、電燈等 1.3 智能聲控的應(yīng)用研究 可以讓駕駛員對汽車發(fā)出語音指令,控制車內(nèi)的收音機、電話和車內(nèi)溫度。聲控技術(shù)將成為接入網(wǎng)絡(luò)和其他各種自動服務(wù)的關(guān)鍵。“隨著汽車電子技術(shù)的飛速發(fā)展,汽車智能化技術(shù)正在逐步得到應(yīng)用。汽車智能化技術(shù)使汽車的操縱越來越簡單,動力性和經(jīng)濟性越來越高,行駛安全性越來越好,這是未來汽車發(fā)展的趨勢。目前正逐步應(yīng)用于汽車的智能控制技術(shù)。 1.4 課題的提出背景與實際意義 科技的進步需要技術(shù)不斷的提升,一塊大而復(fù)雜的模擬電路花費了工程師們巨大的精力,繁多的元器件增加制作的成本,而現(xiàn)在只需要一塊幾厘米的長方單片機通過寫入簡單的程序就可以使以前的電路
15、簡單很多。單片機技術(shù)的出現(xiàn),不管在開發(fā)或是工作上都為我們帶來了意想不到的驚喜。1916年第一臺電子計算機誕生至今,只有60年得時間,依靠微電子技術(shù)和半導(dǎo)體技術(shù)的進步,從電子管到晶體管到集成電路在到大規(guī)模集成電路,現(xiàn)在一塊芯片上完全可以集成幾百萬甚至上千萬之晶體管,使得計算機體積更小,功能更強,特別是近20年時間里,技術(shù)及技術(shù)獲得飛速的發(fā)展。計算機在工農(nóng)業(yè),科研教育國防和航空航天領(lǐng)域獲得了廣泛的應(yīng)用,技術(shù)及技術(shù)已經(jīng)是一個國家現(xiàn)代科技水平的重要標志。 機器人的應(yīng)用越來越廣泛,幾乎滲透到所有領(lǐng)域。機器人的發(fā)展體現(xiàn)了一個國家技術(shù)水平的高低,現(xiàn)代機器人從其誕生到現(xiàn)在,己經(jīng)發(fā)展到了第三代。第一代機器人是
16、示教再現(xiàn)型機器人。它們裝有記憶存儲器,由人將作業(yè)的各種操作要求示范給機器人,使之記住操作的程序和要領(lǐng)。當它接到再現(xiàn)命令時,則自主地再現(xiàn)示教的動作。第二代機器人是裝有小型計算機和簡單傳感器的離線編程的工業(yè)機器人。它能感知外界信息和進行“思維”,比第一代機器人更靈活、更能適應(yīng)環(huán)境變化的需要。第三代是智能機器人。智能機器人是“具有感知、思維和動作的機器”。它裝有多種傳感器,能識別作業(yè)環(huán)境,能自主決策,具有人類大腦的部分功能,且動作靈活,是人工智能技術(shù)發(fā)展到高級階段的產(chǎn)物。 智能小車,也就是輪式機器人,具有廣泛的用途,尤其適合那些人類無法工作的環(huán)境中工作,無人生產(chǎn)線,倉庫,服務(wù)機器人,航空航天等領(lǐng)域
17、。作為20世紀自動化領(lǐng)域的重大成就,機器人已經(jīng)和人類社會的生產(chǎn)、生活密不可分。應(yīng)此為了使智能小車工作在最佳狀態(tài),進一步研究及完善其速度和方向的控制是非常有必要的。其次學(xué)習(xí)智能小車的制作也是對大學(xué)4年學(xué)習(xí)的一個很好的檢測,對今后的學(xué)習(xí)和工作具有很大的幫助。 第二章 系統(tǒng)方案 2.1 總體方案選擇 方案一: 采用MCS-51系列單片機實現(xiàn),由于有語音識別和語音播放功能,所以需要擴展語音識別模塊和語音播放模塊,這樣必然造成端口的資源緊張,所以還必須加入接口擴展芯片。該實現(xiàn)方案結(jié)構(gòu)如圖 2-1所示。 圖 2-1 采用MCS-51系列
18、單片機實現(xiàn)語音控制小車 方案二: 采用SPCE061A實現(xiàn)語音控制小車方案,由于SPCE061A內(nèi)部具有語音識別和語音播放功能,所以只需要擴展基本的MIC和語音功放即可,該方案結(jié)構(gòu)如圖 2-2所示。 圖 2-2 基于SPCE061A的語音控制小車實現(xiàn)方案 比較以上兩個方案,方案二結(jié)構(gòu)簡單,易于操作,故選擇方案二。 2.2 系統(tǒng)硬件方案 系統(tǒng)的結(jié)構(gòu)框圖如圖 2-3示。 圖 2-3 系統(tǒng)結(jié)構(gòu)框圖 系統(tǒng)組成主要包括以下兩部分:SPCE061A精簡開發(fā)板、語音小車控制電路板。 圖中的語音輸入部分 MIC_ IN、按鍵輸入 KEY、聲音
19、輸出部分的功率放大環(huán)節(jié)等已經(jīng)做到了精簡開發(fā)板——61 板上,為我們使用提供了很大的方便。在電機的驅(qū)動方面,采用全橋驅(qū)動技術(shù),利用四個 I/O端口分為兩組分別實現(xiàn)兩個電機的正轉(zhuǎn)、反轉(zhuǎn)和停三態(tài)運行。 2.3 系統(tǒng)軟件方案 小車運動控制子程序就是控制前后電動機的正轉(zhuǎn)和反轉(zhuǎn),程序識別出使用者說出何種語音命令后,根據(jù)I/0口輸出和小車運動姿態(tài)的狀態(tài)的對應(yīng)關(guān)系,對相應(yīng)的I/0 口置位或清零,輸出到電機驅(qū)動電路,控制電機運轉(zhuǎn), 小車作相應(yīng)的動作。 第三章 系統(tǒng)硬件設(shè)計 3.1 車體介紹 語音控制小車為四輪結(jié)構(gòu),
20、如圖 3-1 所示。其中前面兩個車輪由前輪電機控制,在連桿和支點作用下控制前輪左右擺動,來調(diào)節(jié)小車的前進方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個車輪由后輪電機驅(qū)動,為整個小車提供動力。所以又稱前面的輪子為方向輪,后面的兩個輪子為驅(qū)動輪,如圖 3-2 所示。 圖 3-1 車體側(cè)視圖 圖 3-2車體側(cè)視圖 3.2 小車的行走原理 前進:由小車的結(jié)構(gòu)分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這時只要后輪電機正轉(zhuǎn)小車就會前進。如圖 3-3所示; 倒車:倒車動作和前進動作剛好相反,前輪電機仍然保持中間狀態(tài),后輪電機反轉(zhuǎn),小車就會向后運動,如圖 3-4所示
21、; 左轉(zhuǎn):前輪電機逆時針旋轉(zhuǎn)(規(guī)定為正轉(zhuǎn)),后輪電機正轉(zhuǎn),這時小車就會在前后輪共同作用下朝左側(cè)前進,如圖 3-5 所示; 右轉(zhuǎn):前輪電機反轉(zhuǎn),后輪電機正轉(zhuǎn),這時小車就是會在前后輪共同作用下朝右側(cè)前進,如圖 3-6所示。 圖 3-3 小車前進原理圖 圖 3-4 小車倒車示意圖 圖 3-5 小車左轉(zhuǎn)示意圖 圖 3-6 小車右轉(zhuǎn)示意圖 3.3 控制板原理 控制板主要包括:接口電路、電源電路和兩路電機的驅(qū)動電路。 接口電路:接口電路負責將 61 板的 I/O 接口信號傳送給控制電路板,I/O 信號主要為控制電機需要的IOB8~IOB11這四路信號, 同時
22、為了方便后續(xù)的開發(fā)和完善, 預(yù)留了 IOB12~IOB15 以及 IOA8~IOA15 接口,可以在這些接口上添加一些傳感器。 3.3.1 全橋驅(qū)動原理 全橋驅(qū)動又稱 H橋驅(qū)動,下面介紹一下 H橋的工作原理: H橋一共有四個臂,分別為 B1~B4,每個臂由一個開關(guān)控制,示例中為三極管 Q1~Q4。 如果讓 Q1、Q2 導(dǎo)通 Q3、Q4 關(guān)斷,如圖 3-7所示,此時電流將會流經(jīng) Q1、負載、Q2 組成的回路,電機正轉(zhuǎn)。 圖 3-7 B1、B2 工作時的 H 橋電路簡圖 圖 3-8 B3、B4 工作時的 H 橋電路簡圖 如果讓 Q1、Q2 關(guān)斷 Q3、
23、Q4 導(dǎo)通,如圖 3-8 所示,此時電流將會流經(jīng) Q3、負載、Q4 組成的回路,電機反轉(zhuǎn)。 如果讓 Q1、Q2 關(guān)斷 Q3、Q4 也關(guān)斷,負載 Load 兩端懸空,如圖 3-9 所示,此時電機停轉(zhuǎn)。這樣就實現(xiàn)了電機的正轉(zhuǎn)、如果讓 Q1、Q2 導(dǎo)通 Q3、Q4 也導(dǎo)通,那么電流將會流經(jīng) Q1、Q4 組成的回路以及 Q2和 Q3 組成的回路,如圖 3-10 所示,這時橋臂上會出現(xiàn)很大的短路電流。在實際應(yīng)用時注意避免出現(xiàn)橋臂短路的情況,這會給電路帶來很大的危害,嚴重的會燒毀電路。 圖 3-9 B1~B4 全部停止工作時的 H 橋簡圖 圖 3-10 B1~B4 全部工作時的 H
24、 橋簡圖反轉(zhuǎn)、停止三態(tài)控制。 3.3.2 動力電機驅(qū)動 動力驅(qū)動由后輪驅(qū)動實現(xiàn),負責小車的直線方向運動,包括前進和后退,后輪驅(qū)動電路是一個全橋驅(qū)動電路,如圖 3-11 所示:Q1、Q2、Q3、Q4 四個三極管組成四個橋臂,Q1 和 Q4 組成一組,Q2 和Q3 組成一組,Q5 控制 Q2、Q3 的導(dǎo)通與關(guān)斷,Q6 控制 Q1 和 Q4 的導(dǎo)通與關(guān)斷,而 Q5、Q6 由 IOB9 和 IOB8控制,這樣就可以通過 IOB8 和 IOB9 控制四個橋臂的導(dǎo)通與關(guān)斷控制后輪電機的運行狀態(tài),使之正轉(zhuǎn)反轉(zhuǎn)或者停轉(zhuǎn),進而控制小車的前進和后退。 圖 3-11 后輪電機驅(qū)動電路 當 IO
25、B8 為高電平、IOB9 為低電平時 Q1 和 Q4 導(dǎo)通,Q2 和 Q3 截止,后輪電機正轉(zhuǎn),小車前進;反之當 IOB8 為低電平、IOB9 為高電平時 Q1 和 Q4 截止,Q2 和 Q3 導(dǎo)通,后輪電機反轉(zhuǎn),小車倒退;而當IOB8、IOB9 同為低電平時 Q1、Q2、Q3 和 Q4 都截止,后輪電機停轉(zhuǎn),小車停止運動。 注意:IOB8 和 IOB9 不能同時置高電平,這樣會造成后輪驅(qū)動全橋短路現(xiàn)象。 3.3.3 方向電機控制電路 方向控制由前輪驅(qū)動實現(xiàn),包括左轉(zhuǎn)和右轉(zhuǎn),前輪驅(qū)動電路也是一個全橋驅(qū)動電路, Q7、Q8、Q9、Q10 四個三極管組成四個橋臂,Q7 和 Q10
26、組成一組,Q8 和 Q9 組成一組,Q11 控制 Q8、Q9 的導(dǎo)通與關(guān)斷,Q12 控制 Q7 和 Q10 的導(dǎo)通與關(guān)斷,而 Q11、Q12 由 IOB10 和IOB11 控制,這樣就可以通過 IOB10 和 IOB11 控制前輪電機的正轉(zhuǎn)和反轉(zhuǎn),進而控制小車的左轉(zhuǎn)和右轉(zhuǎn)。 當 IOB10 為高電平、IOB11 為低電平時 Q8 和 Q9導(dǎo)通,Q7 和 Q10 截止,前輪電機正轉(zhuǎn),小車前輪朝左偏轉(zhuǎn);反之當 IOB10為低電平、IOB11 為高電平時 Q8 和 Q9 截止,Q7和 Q10 導(dǎo)通,前輪電機反轉(zhuǎn),小車前輪朝右偏轉(zhuǎn);而當 IOB10、IOB11 同為低電平時 Q8 和 Q9截止,Q7
27、 和Q10 也截止,前輪電機停轉(zhuǎn),在彈簧作用下前輪被拉回到中間位置,保持直向。 注意:IOB10、IOB11 不能同時為高電平,這樣會造成前輪驅(qū)動全橋的橋臂短路。 結(jié)合以上對前輪和后輪的狀態(tài)分析,得到小車的運行狀態(tài)與輸入的對照表,如下 表3.1 基本的輸入與小車運動狀態(tài)對照表 IOB11 IOB10 IOB9 IOB8 后電機 前電機 小車 0 0 0 0 停轉(zhuǎn) 停轉(zhuǎn) 停 0 0 0 1 正轉(zhuǎn) 停轉(zhuǎn) 前進 0 0 1 0 反轉(zhuǎn) 停轉(zhuǎn) 倒退 0 1 0 1
28、 正轉(zhuǎn) 正轉(zhuǎn) 左前轉(zhuǎn) 1 0 0 1 正轉(zhuǎn) 反轉(zhuǎn) 右前轉(zhuǎn) 另外還有一些不常用的運行狀態(tài),比如右后轉(zhuǎn)、左后轉(zhuǎn)等,結(jié)合以上對前輪和后輪的狀態(tài)分析,其端口對照如表3.2所示: 表3.2 輸入與小車的運動狀態(tài)對照表 IOB11 IOB10 IOB9 IOB8 后電機 前電機 小車 0 1 1 0 正轉(zhuǎn) 正轉(zhuǎn) 右后轉(zhuǎn) 1 0 1 0 正轉(zhuǎn) 反轉(zhuǎn) 左后轉(zhuǎn) 注意:為了小車的安全請不要出現(xiàn)以下兩種組合情況: 表3.3 禁止的輸入狀態(tài)列表 ? IOB11 IOB10 IOB9
29、 IOB8 后電機 前電機 小車 * * 1 1 停轉(zhuǎn) * 停 1 1 * * * 停轉(zhuǎn) 停 3.4 芯片特性簡介 3.4.1 SPCE061A特性簡介 SPCE061A 是凌陽科技研發(fā)生產(chǎn)的性價比很高的一款十六位單片機,使用它可以非常方便靈活的實現(xiàn)語音的錄放,該芯片擁有 8 路 10 位精度的 ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動增益電路。這為實現(xiàn)語音錄入提供了方便的硬件條件。兩路 10 位精度的 DAC,只需要外接功放(SPY0030A)即可完成語音的播放。另外凌陽十六位單片機具有一套易學(xué)易
30、用的指令系統(tǒng)和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標準 C語言編程,也支持 C 語言與匯編語言的互相調(diào)用。另外還提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就可以很容易的完成語音的錄放、識別等功能,這些都為軟件開發(fā)提供了方便的條件。 SPCE061A特性: 16位μ’nSP微處理器; 工作電壓:內(nèi)核工作電壓VDD為 3.0V~3.6V(CPU),I/O口工作電壓VDDH為VDD~5.5V(I/O); CPU時鐘:0.32MHz~49.152MHz; 內(nèi)置2K 字 SRAM; 內(nèi)置32K 閃存 ROM; 可編程音頻處理;
31、 晶體振蕩器; 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電小于 2μA@3.6V; 2 個 16 位可編程定時器/計數(shù)器(可自動預(yù)置初始計數(shù)值); 2 個 10 位 DAC(數(shù)-模轉(zhuǎn)換)輸出通道; 32 位通用可編程輸入/輸出端口; 14 個中斷源可來自定時器 A / B,時基,2 個外部時鐘源輸入,鍵喚醒; 具備觸鍵喚醒的功能; 使用音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語音數(shù)據(jù); 鎖相環(huán) PLL 振蕩器提供系統(tǒng)時鐘信號; 32768H
32、z 實時時鐘; 7 通道 10 位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益控制(AGC)功能; 具備串行設(shè)備接口; 低電壓復(fù)位(LVR)功和低電壓監(jiān)測(LVD)功能; 內(nèi)置在線仿真板(IC E,In-C ircuitEm ulator)接口。 3.4.2 開發(fā)板61板簡介 “61 板”是SPCE061A EMU BOARD的簡稱,是以凌陽 16 位單片機 SPCE061A為核心的精簡開發(fā)-仿真-實驗板,大小相當于一張撲克牌。 “61板”除了具備單片機最小系統(tǒng)電路外,
33、還包括有電源電路、復(fù)位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等, “61 板”可以采用電池供電。圖 3-12 所示為該精簡開發(fā)板的實物圖。 圖 3-12 61 板實物圖 3.5 電源模塊 整個小車有 4 個電源信號:電池電源,控制板工作電源,61板工作電源,61 板的 I/O輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電(VCC),然后經(jīng)二極管 D1 后產(chǎn)生 61 板電源(VCC_61),通過 61 板的 Vio 跳線產(chǎn)生 61 板的端口電源(V1)。 二極管 D1 作用: 1、 降壓,4 節(jié)電池提供
34、的電壓 VCC 最大可達到 6V,D1 可有效地降壓。 2、 保護,D1 可以防止電源接反燒壞 61 板。 第四章 系統(tǒng)軟件設(shè)計 4.1 系統(tǒng)的主程序流程 圖 4-1 4.1.1 初始化部分 初始化操作將 IOB8~IOB11 設(shè)置為輸出端,用以控制電機。必要時還要有對應(yīng)的輸入端設(shè)置和 PWM 端口設(shè)置等。 4.1.2 訓(xùn)練部分 訓(xùn)練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓(xùn)練過,如果沒有訓(xùn)練過則要求對其進行訓(xùn)練,并且會在訓(xùn)練成功之后將訓(xùn)
35、練的模型存儲到 Flash,在以后使用時不需要重新訓(xùn)練;如果已經(jīng)訓(xùn)練過會把存儲在 Flash 中的模型調(diào)出來裝載到辨識器中。 4.1.3 識別部分 在識別環(huán)節(jié)當中,如果辨識結(jié)果是名字,停止當前的動作并進入待命狀態(tài),然后等待動作命令。如果辨識結(jié)果為動作指令小車會語音告知相應(yīng)動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車SPCE061A在語音控制小車中的應(yīng)用的名字使小車停下來。 4.1.4 重訓(xùn)操作 考慮到有重新訓(xùn)練的需求,設(shè)置了重新訓(xùn)練的按鍵(61 板的 KEY3),循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓(xùn)練標志位(0xe000 單元),并等待復(fù)位。復(fù)位后,程
36、序重新執(zhí)行,當檢測到訓(xùn)練標志位為 0xffff 時會要求重新對其進行訓(xùn)練。 4.2 主函數(shù)模塊程序 //============================================================ // 語法格式: int main(void); // 實現(xiàn)功能: 主函數(shù) //============================================================ int main(void) { unsigned int BS_Flag; //Train標志位 *P_IOA_Dir=0xff00;
37、 //初始化IOA,IOA0~7下拉輸入 *P_IOA_Attrib=0xff00; *P_IOA_Data=0x0000; *P_IOB_Dir=0x0f00; //初始化IOB,IOB8~11同向輸出 *P_IOB_Attrib=0x0f00; *P_IOB_Data=0x0000; BSR_DeleteSDGroup(0); //初始化存儲器RAM BS_Flag=*(unsigned int *)0xe000; //讀存儲單元0xe000 if(BS_Flag==0xffff) //沒有經(jīng)過訓(xùn)練(
38、0xe000內(nèi)容為0xffff) { TrainSD(); //訓(xùn)練 StoreSD(); //存儲訓(xùn)練結(jié)果(語音模型) } else //經(jīng)過訓(xùn)練(0xe000內(nèi)容為0x0055) { LoadSD(); //語音模型載入識別器 } PlaySnd(S_START,3); //開始識別提示 BSR_InitRecognizer(BSR_MIC); //初始化識別器 while(1) { BSR(); if((*P_IOA_Data)&
39、0x0004) //是否重新訓(xùn)練 { F_FlashErase(0xe000); while(1); } } } 4.3 語音識別的原理 語音識別主要分為“訓(xùn)練”和“識別”兩個階段。在訓(xùn)練階段,單片機對采集到的語音樣本進行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,單片機對采集到的語音樣本也進行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進行對比,如果二者達到了一定的匹配度,則輸入的語音被識別。 4.4 語音訓(xùn)練識別程序 訓(xùn)練采用應(yīng)答式訓(xùn)練,每條指令的訓(xùn)練次數(shù)為兩次,在語音提示下進
40、行,并且能進行容錯處理,整個的訓(xùn)練過程共有5次這樣的訓(xùn)練,依次為名稱一前進一后退一左拐一右拐,以“前進”為例說明。 步驟一:小車提示語音“前進”;告訴小車“前進”;步驟二:小車提示語音“請再說一遍” (重復(fù)訓(xùn)練提示音);再次告訴小車“前進”。如果訓(xùn)練成功,小車會自動進入下一條指令的訓(xùn)練,并會提示下一條指令對應(yīng)的動作;如果沒有訓(xùn)練成功,小車會提示“說什么暗語呀” 或者“沒有聽到任何聲音”等信息,這樣的話就要重復(fù)剛才所說的4個步驟,直到成功為止。在小車訓(xùn)練完畢之后,就進入識別“準備就緒”狀態(tài),向小車“喊話”,程序就識別“喊話”的命令,將對使用者輸入的語音命令進行記錄并與存儲的語音模型進行比較匹配
41、,以確定是輸入的何種命令。 下面是訓(xùn)練部分的子程序模塊: //============================================================ // 語法格式: void TrainSD(); // 實現(xiàn)功能: 訓(xùn)練函數(shù) //============================================================ void TrainSD() { while(TrainWord(NAME_ID,S_NAME) != 0) ; //訓(xùn)練名稱 while(TrainWord(COMMAND_GO
42、_ID,S_ACT1) != 0) ; //訓(xùn)練第1個動作 while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) ; //訓(xùn)練第2個動作 while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) ; //訓(xùn)練第3個動作 while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) ; //訓(xùn)練第4個動作 } 4.5 語音動作子程序 動作子程序包括:前進、倒車、左拐、右拐、停車子程序; 前進:由小車的結(jié)構(gòu)原理和驅(qū)動電路分析知:只要 IOB8 為高電平,IOB9
43、,IOB10,IOB11 全部為低電平即可實現(xiàn)小車的前進。前進子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下: //============================================================ // 語法格式: void GoAhead(); // 實現(xiàn)功能: 前進子函數(shù) //============================================================ void GoAhead() //前進 { PlaySnd(
44、S_ACT1,3); //提示 *P_IOB_Data=0x0100; //前進 *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiTimecont = 0; } 倒車:由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:只要 IOB9 為高電平,IOB8,IOB10,IOB11 全部為低電平即可實現(xiàn)小車的倒退。倒退子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,程序如下: //====================================================
45、======== // 語法格式: void BackUp(); // 實現(xiàn)功能: 后退子函數(shù) //============================================================ void BackUp() //倒退 { PlaySnd(S_DCZY,3); //提示 *P_IOB_Data=0x0200; //倒退 *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiT
46、imecont = 0; } 左轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車左轉(zhuǎn)需要兩個條件:1.前輪左偏 2.后輪前進,這時對應(yīng)的 I/O狀態(tài)為:IOB8、IOB10為高電平,IOB9、IOB11為低電平。左轉(zhuǎn)子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下: //============================================================ // 語法格式: void TurnLeft(); // 實現(xiàn)功能: 左轉(zhuǎn)子函數(shù) //============================================
47、================ void TurnLeft() //左轉(zhuǎn) { PlaySnd(S_GJG,3); *P_IOB_Data=0x0900; //右轉(zhuǎn) Delay(); //延時 *P_IOB_Data=0x0500; //左轉(zhuǎn) *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiTimecont = 0; } 注:在左轉(zhuǎn)之前首先讓前輪右偏,然后再讓前輪朝左偏,這樣前輪的擺動范圍
48、更大,慣性更大,擺幅也最大,能更好實現(xiàn)轉(zhuǎn)彎。 右轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車右轉(zhuǎn)需要兩個條件:1.前輪右偏 2.后輪前進,這時對應(yīng)的 I/O狀態(tài)為:IOB8、IOB11為高電平,IOB9、IOB10為低電平。右轉(zhuǎn)子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下: //============================================================ // 語法格式: void TurnRight(); // 實現(xiàn)功能: 右轉(zhuǎn)子函數(shù) //=====================================
49、======================= void TurnRight() //右轉(zhuǎn) { PlaySnd(S_GJG,3); //語音提示 *P_IOB_Data=0x0500; //左轉(zhuǎn) Delay(); //延時 *P_IOB_Data=0x0900; //右轉(zhuǎn) *P_INT_Mask |= 0x0004; //以下為中斷定時操作 __asm("int fiq,irq"); uiTimecont = 0; } 注:在右轉(zhuǎn)之前首先
50、讓前輪左偏,然后再讓前輪朝右偏,這樣前輪的擺動范圍更大,慣性更大,擺幅也最大,能更好實現(xiàn)轉(zhuǎn)彎。 停車:由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車停車只需要將兩個驅(qū)動電機都停了即可程序如下: //============================================================ // 語法格式: void Stop(); // 實現(xiàn)功能: 停車子函數(shù) //============================================================ void Stop()
51、 //停車 { *P_IOB_Data=0x0000; //停車 PlaySnd(S_RDY,3); //語音提示 } 4.6 中斷子程序 雖然已經(jīng)有了前進、后退以及停車(通過直接呼叫小車的名字使其停車)等語音控制指令,但是考慮環(huán)境的干擾因素,小車運行時的噪音影響和有效距離的限制,小車運行后可能接收不到語音指令而一直運行。為了防止出現(xiàn)這種情況,加入了時間控在啟動小車運行的同時啟動定時器,定時器時間到停止小車的運行,該定時器借助于2Hz時基中斷完成,圖所示為該程序的流程圖??梢栽诔绦蛑行薷膗iTimeset參數(shù)來控制運行時間,
52、當uiTimeset=2時,運行時間為1s,以此類推。 圖4-2中斷流程圖 //============================================================ // 語法格式: void IRQ5(void); // 實現(xiàn)功能: 中斷服務(wù)子函數(shù) //============================================================ void IRQ5(void)__attribute__((ISR)); //運動定時控制 void IRQ5(vo
53、id) { if(uiTimecont++ == uiTimeset) { *P_IOB_Data = 0x0000; } *P_INT_Clear = 0x0004; } 結(jié) 論 本系統(tǒng)采用凌陽SPCE061A16位單片機實現(xiàn)。內(nèi)部集成了2K字的RAM,32K字的Flash加上用凌陽SPCE061A16位單片機實現(xiàn)不需要外擴程序存儲器和RAM,也不用外接語音芯片,即可實現(xiàn)語音辨識和一系列職能動作。由于采用了高性能的MCU,省掉了大量的外圍器件,如外擴RAM,ROM存儲器等,使硬件結(jié)構(gòu)
54、大大簡化,提高了系統(tǒng)的可靠性。其軟件編程采用C和匯編混合編程來實現(xiàn),集兩種語言的優(yōu)點于一體,極大限度地簡化了編程過程,豐富了編程思想,給我們設(shè)計帶來了極大的方便。如果采用別的單片機則一般要2個單片機才能實現(xiàn)所有功能,硬件電路也更加復(fù)雜。若要實現(xiàn)語音播報功能和語音辨識,即使多用幾個其他類型的單片機也不可能實現(xiàn),而凌陽單片機提供了很好的語音播放和錄制機制以及簡單的API接口編程。利用凌陽單片機技術(shù)來實現(xiàn)語音控制功能將會廣泛地運用在通信等領(lǐng)域。 本設(shè)計模擬未來小車,成功地實現(xiàn)了語音控制功能,操作比較簡單,訓(xùn)練和識別成功的幾率也比較高,語音命令識別率9O 以上,是一個典型的語音識別控制應(yīng)用方案。該語
55、音控制小車以其精巧、便攜的特點,也可作為汽車玩具,可產(chǎn)品化。 致 謝 四年的大學(xué)生活即將成為過去,在此,我首先要衷心地感謝我們東華理工大學(xué)的所有老師,感謝他們對我這四年的教導(dǎo),不管是在學(xué)業(yè)上或是在生活上,我都受益匪淺,感謝母校為我提供了良好的學(xué)習(xí)環(huán)境;感謝陳堅老師對我畢業(yè)論文的指導(dǎo),之前曾多次就畢業(yè)論文中所遇到的問題與陳堅老師進行探討,陳老師總能抽出他寶貴的時間對我所遇到的問題一一給予解答,在論文的寫作過程中,也得到了許多同學(xué)的寶貴建議,感謝所有關(guān)心幫助我的良師益。 對在我大學(xué)期間在
56、學(xué)習(xí)和生活上給予我無私幫助的各位老師和同學(xué),在此向你們致以我由衷的謝意! 參考文獻 [1] 陳繼榮. 智能電子創(chuàng)新制作——機器人制造入門.科學(xué)出版社 2009年4月 [2] 雷思孝 ,李伯成,雷向麗. 凌陽16位單片機原理及應(yīng)用. 西安電子科技大學(xué)出版社.2004年1月 [3] [美] David Cook 畢樹生 李大寨 高志慧 譯. 機器人制作提高篇[M] 北京:北京航空航天大學(xué)出版社.2005 [4] 威海明,揚興瑤. 實用電子電路500例. 化學(xué)工業(yè)出版社
57、. 43-56 [5] 余祖俊. 微機監(jiān)測與控制應(yīng)用系統(tǒng)設(shè)計. 北方交通大學(xué)出版社 2001年12月 [6] 童詩白,花成英. 模擬電子技術(shù)基礎(chǔ)[M]. 高等教育出版社 [7] 彈浩強. C語言程序設(shè)計. 清華大學(xué)出版社 [8] 朱兆優(yōu),陳堅,王海濤. 單片機原理與應(yīng)用. 電子工業(yè)出版社 [9] 姜志玲.簡易智能電動車的設(shè)計[J].華東交通大學(xué)學(xué)報,2005,22(5):24-28. [10] 張飛舟,沈程智,范躍祖.利用單片機實現(xiàn)智能控制[J].電子技術(shù)應(yīng)用,1998,17(9):21.23. [11] 肖毅,肖明.單片機抗干擾技術(shù)及應(yīng)用[J].電子產(chǎn)品世界,20
58、02,9(2):13-16. [12] 羅亞非.凌陽16位單片機應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2005:9—10. [13] 顏利彪,范蟠果.基于單片機的簡易智能電動車[J].電子技術(shù),2004,41(4):25-28. [14] 馬麗靜.基于單片機控制的語音識別系統(tǒng)的軟件開發(fā)[J].電腦開發(fā)與應(yīng)用,2003,18(5):37—38. [15] 李晶皎.嵌入式語音技術(shù)及凌陽16位單片機應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003:6-8. [16] Chiang, H.-H. The Human-in-the-Loop Design Approach t
59、o the Longitudinal Automation System for an Intelligent Vehicle[J]. IEEE transactions on systems, man, and cybernetics. Part A, Systems and humans [17] Bener, A., Mohammed, G., and Khaled, N. (2008). The impact of four-wheel drive on risky driver behaviours and road traffic accidents. Transportation Research Part F, 11, pp. 324–333. 附 錄 控制板原理圖 覆銅的PCB板 28
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級科學(xué)下冊第三單元宇宙5太陽系課件(教科版)
- 餐飲服務(wù)意識
- 第3章 鋼筋和混凝土的材料力學(xué)性能
- 《遠離有毒物質(zhì)》課件-(市優(yōu))2022年九年級化學(xué)課件
- 綠色發(fā)展答辯
- 師德修養(yǎng)及相關(guān)法律法規(guī)介紹 (2)
- 汽車檢測診斷技術(shù)與設(shè)備第9章-汽車前照燈的檢測與檢測設(shè)備-PPT
- 消費行為與廣告心理專業(yè)基礎(chǔ)知識
- 備戰(zhàn)2010高考課件:2009年全國高考名句名篇默寫匯總
- 信息倫與編碼
- 奔馳傳奇歷史
- 鮑曼不動桿菌專家共識解讀課件
- 衛(wèi)生系統(tǒng)績效評價培訓(xùn)課件
- 高考數(shù)學(xué)二輪復(fù)習(xí)第1部分重點強化專題專題1三角函數(shù)與平面向量突破點1三角函數(shù)問題課件文
- 小兒腹瀉講解匯總