




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、題目:基于單片機的語音控制小車設計目錄1 引言 3 2 語音控制小車設計要求 32.1 功能要求 .32.2 參數(shù)說明 .33 spce061a 特性簡介 3 4 系統(tǒng)總體方案介紹 4 5 系統(tǒng)硬件設計 55.1 車體介紹.55.2 小車的行走原理 .55.3 控制板原理圖 .6 6 系統(tǒng)軟件設計 76.1 系統(tǒng)的主程序設計 .76.2 主程序.86.3 語音識別的原理簡介 .127 結束語 121基于單片機技術的語音控制小車設計1、 引言語音處理技術是一門新興的技術,它不僅包括語音的錄制和播放,還涉及語音的壓縮編碼和解 碼,語音的識別等各種處理技術。以往做這方面的設計,一般有兩個途徑:一種方
2、案是單片機擴展 設計,另一種就是借助于專門的語音處理芯片。普通的單片機往往不能實現(xiàn)這么復雜的過程和算法, 即使勉強實現(xiàn)也要加很多的外圍器件。專門的語音處理芯片也比較多,如 isd 系列、pm50 系列等, 但是專門的語音處理芯片功能比較單一,想在語音之外的其他方面應用基本是不可能的。spce061a 是一款 16 位nsp 結構的微控制器。該芯片帶有硬件乘法器,能夠實現(xiàn)乘法運算、 內積運算等復雜的運算。它不僅運算能力強,而且處理速度快,單周期最高可以達到 49mhz。spce061a 內嵌 32k 字的 flash 程序存儲器以及 2k 的 sram。同時該 soc 芯片具有 adc 和 da
3、c 功能,其 mic_adc 通道帶有 agc 自動增益環(huán)節(jié),能夠很輕松的將語音信號采集到芯片內部,兩 路 10 位的電流輸出型 dac,只要外接一個功放就可以完成聲音的播放。以上介紹的這些硬件資源 使得該 spce061a 能夠單芯片實現(xiàn)語音處理功能。借助于 spce061a 的語音特色,“基于單片機技術的語音控制小車設計” 實現(xiàn)了對小車前進、后 退、左轉、右轉、停車等語音控制功能.2、 語音控制小車設計要求2.1功能要求:1. 可以通過簡單的 i/o 操作實現(xiàn)小車的前進、后退、左轉、右轉功能;2. 配合 spce061a 的語音特色,利用系統(tǒng)的語音播放和語音識別資源,實現(xiàn)語音控制的功能;
4、3.可以在行走過程中聲控改變小車運動狀態(tài);4.在超出語音控制范圍時能夠自動停車。2.2 參數(shù)說明車體:雙電機兩輪驅動供電:電池(四節(jié) aa:1.2v4 或 1.5v4)2工作電壓:dc 4v6v工作電流:運動時約 200ma3. spce061a 特性簡介spce061a 是一款性價比很高的十六位單片機,使用它可以非常方便靈活的實現(xiàn)語音的錄放,該 芯片擁有 8 路 10 位精度的 adc,其中一路為音頻轉換通道,并且內置有自動增益電路。這為實現(xiàn)語 音錄入提供了方便的硬件條件。兩路 10 位精度的 dac,只需要外接功放(spy0030a)即可完成語音 的播放。該單片機具有一套易學易用的指令系統(tǒng)
5、和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標準c 語言 編程,也支持 c 語言與匯編語言的互相調用。另外還提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的 使用,就可以很容易的完成語音的錄放、識別等功能,這些都為軟件開發(fā)提供了方便的條件。spce061a 特性:16 位 nsp 微處理器;工作電壓:內核工作電壓 vdd 為 3.0v3.6v(cpu),i/o 口工作電壓 vddh 為 vdd5.5v(i/o); cpu 時鐘:0.32mhz49.152mhz;內置 2k 字 sram;內置 32k 閃存 rom;可編程音頻處理;晶體振蕩器;系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電小于 2 a3.6v;2
6、個 16 位可編程定時器/計數(shù)器(可自動預置初始計數(shù)值);2 個 10 位 dac(數(shù)-模轉換)輸出通道;32 位通用可編程輸入/輸出端口;14 個中斷源可來自定時器 a / b,時基,2 個外部時鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用音頻編碼 sacm_s240 方式(2.4k 位/秒),能容納 210 秒的語音數(shù)據(jù);鎖相環(huán) pll 振蕩器提供系統(tǒng)時鐘信號;32768hz 實時時鐘;7 通道 10 位電壓模-數(shù)轉換器(adc)和單通道聲音模-數(shù)轉換器;聲音模-數(shù)轉換器輸入通道內置麥克風放大器和自動增益控制(agc)功能;具備串行設備接口;低電壓復位(lvr)功和低電壓監(jiān)測(lvd)功能;
7、內置在線仿真板(ic e,in-c ircuitem ulator)接口。4、系統(tǒng)總體方案介紹小車的運動控制采用語音控制和中斷定時控制相結合,通過語音觸發(fā)小車動作,小車動作之后, 隨時可以通過語音指令改變小車的運動狀態(tài)。在每一次動作觸發(fā)的同時啟動定時器,如果小車由于 某些原因不能正常的接收語音指令,則只要定時時間一到,中斷服務程序就會發(fā)出指令讓小車停下 來。程序下載電纜被控對象小車spce061a控制板控 制 程序 下 載3線圖 1控制系統(tǒng)所需硬件5、系統(tǒng)硬件設計系統(tǒng)的硬件方面,由于大部分的功能實現(xiàn)都是在 61 板上完成的,只有電機控制部分電路另外設 計在一塊獨立的電路板上,我們稱之為控制板。
8、下面詳細的介紹小車的結構和運行原理以及控制電 路板的結構和功能實現(xiàn)。keymic方向控制橋路方向電機濾波spce061a驅動控制橋路驅動電機圖 2系統(tǒng)硬件框圖5.1 車體介紹語音控制小車為四輪結構。其中前面兩個車輪由前輪電機控制,在連桿和支點作用下控制前輪左 右擺動,來調節(jié)小車的前進方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置。后面兩個車輪 由后輪電機驅動,為整個小車提供動力。所以又稱前面的輪子為方向輪,后面的兩個輪子為驅動輪。5.2 小車的行走原理.直走:由小車的結構分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這是只要后輪電機正 轉小車就會前進。倒車:倒車動作和前進動作剛好相反,前
9、輪電機仍然保持中間狀態(tài),后輪電機反轉,小車就會向后 運動。4圖 4小車前進、后退示意圖左轉:前輪電機逆時針旋轉(規(guī)定為正轉),后輪電機正轉,這時小車就會在前后輪共 同作用下朝左側前進。右轉:前輪電機反轉,后輪電機正轉,這時小車就是會在前后輪共同作用下朝右側前進。圖 5小車轉向示意圖5.3 控制板原理圖控制板主要包括:接口電路、電源電路和兩路電機的驅動電路,控制板原理圖如下。接口電路:接口電路負責將 61 板的 i/o 接口信號傳送給控制電路板,i/o 信號主要為控制電機 需要的 iob8iob11 這四路信號,同時為了方便后續(xù)的開發(fā)和完善,預留了 iob12iob15 以及 ioa8ioa15
10、 接口,可以在這些接口上添加一些傳感器。5電源部分:整個小車有 4 個電源信號:電池電源,控制板工作電源,61 板工作電源,61 板的 i/o 輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電(vcc),然后經(jīng)二極管 d1 后產(chǎn)生 61 板電源 spce061a 在語音控制小車中的應用(vcc_61),通過 61 板的 vio 跳線產(chǎn)生 61 板的端口電源 (v1)。圖 6 小車控制電路圖6、系統(tǒng)軟件設計6.1 系統(tǒng)的主程序設計系統(tǒng)的主程序流程如下圖所示:6圖 7主程序流程圖共分為四大部分:初始化部分、訓練部分、識別部分、重訓操作。初始化部分:初始化操作將 iob8iob11 設置為輸出端
11、,用以控制電機。必要時 還要有對應的輸入端設置和 pwm 端口設置等。訓練部分:訓練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓 練過,如果沒有訓練過則要求對其進行訓練,并且會在訓練成功之后將訓練的模型存儲 到 flash,在以后使用時不需要重新訓練;如果已經(jīng)訓練過會把存儲在 flash 中的模型 調出來裝載到辨識器中。識別部分:在識別環(huán)節(jié)當中,如果辨識結果是名字,停止當前的動作并進入待命狀 態(tài),然后等待動作命令。如果辨識結果為動作指令小車會語音告知相應動作并執(zhí)行該動 作,在運動過程中可以通過呼叫小車 spce061a 在語音控制小車中的應用的名字使小車 停下來。重訓操作:考慮到
12、有重新訓練的需求,設置了重新訓練的按鍵(61 板的 key3),7循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓練標志位(0xe000 單元),并等待 復位。復位后,程序重新執(zhí)行,當檢測到訓練標志位為 0xffff 時會要求重新對其進行訓 練。6.2 主程序:/ the information contained herein is the exclusive property of/ sunnnorth technology co. and shall not be distributed, reproduced,/ or disclosed in whole in part without
13、 prior written permission./ (c) copyright 2003 sunnorth technology co./ all rights reserved/ the entire notice above must be reproduced on all authorized copies. /= /= / 工程名稱: car_demo/ 功能描述: 實現(xiàn)小車的語音控制/ 涉及的庫: cmacro1016.lib/ bsrv222sdl.lib/ sacmv26e.lib/ 組成文件: main.c/ flash.asm, hardware.asm,isr.asm
14、/ hardware.h,s480.h, hardware.inc/ 硬件連接: ioa0-key1/ ioa1-key2/ ioa2-key3/ iob8-前進/ iob9-倒車/ iob10-左拐/ iob11-右拐/= #include #include #define p_ioa_data (volatile unsigned int *)0x7000#define p_ioa_dir (volatile unsigned int *)0x7002#define p_ioa_attrib (volatile unsigned int *)0x7003#define p_iob_data
15、 (volatile unsigned int *)0x7005#define p_iob_dir (volatile unsigned int *)0x7007#define p_iob_attrib (volatile unsigned int *)0x7008#define p_timera_data (volatile unsigned int *)0x700a#define p_timera_ctrl (volatile unsigned int *)0x700b#define p_timerb_data (volatile unsigned int *)0x700c#define
16、p_timerb_ctrl (volatile unsigned int *)0x700d#define p_watchdog_clear (volatile unsigned int *)0x70128#define p_int_mask (volatile unsigned int *)0x702d#define p_int_clear (volatile unsigned int *)0x7011#define name_id 0x100#define command_go_id 0x101#define command_back_id 0x102#define command_left
17、_id 0x103#define command_right_id 0x104#define s_name 0 /給我取個名字吧#define s_act1 1 /前進#define s_act2 2 /倒車,請注意#define s_act3 3 /左拐#define s_act4 4 /右拐#define s_rdy 5 /yeah#define s_again 6 /請再說一遍#define s_novoice 7 /沒有聽到任何聲音 #define s_cmddiff 8 /說什么暗語呀#define s_noisy 8 /說什么暗語呀#define s_start 9 /準備就緒,開
18、始辨識 #define s_gjg 10 /拐就拐#define s_dczy 11 /倒車,請注意extern unsigned int bsr_sdmodel100; / 外 部 變 量 bsr_sdmodel100,辨識器自帶extern void f_flashwrite1word(unsigned int addr,unsigned int value);extern void f_flasherase(unsigned int sector);unsigned int uitimeset = 3; /運行時間定時,調整該參數(shù)控 制運行時間unsigned int uitimecon
19、t; /運行時間計時/=/ 語法格式: void delay();/ 實現(xiàn)功能: 延時/ 參數(shù): 無/ 返回值: 無/=int trainword(unsigned int wordid,unsigned int sndid)int result;playsnd(sndid,3);while(1)result = bsr_train(wordid,bsr_train_twice); / 訓練兩次,獲得訓練9結果if(result=0)break;switch(result)case -1:playsnd(s_novoice,3);return -1;case -2:playsnd(s_agai
20、n,3);break;case -3:playsnd(s_noisy,3);return -3;case -4:return -4;case -5:playsnd(s_cmddiff,3);return -5;case -6:return -6;default:break;return 0;int main(void) unsigned int bs_flag;*p_ioa_dir=0xff00;*p_ioa_attrib=0xff00;*p_ioa_data=0x0000;*p_iob_dir=0x0f00;*p_iob_attrib=0x0f00;*p_iob_data=0x0000;bs
21、r_deletesdgroup(0);bs_flag=*(unsigned int *)0xe000;if(bs_flag=0xffff)trainsd();storesd();/沒有檢測出聲音/需要訓練第二次/環(huán)境太吵/數(shù)據(jù)庫滿/檢測出聲音不同/序號錯誤/train 標志位/初始化 ioa,ioa07 下拉輸入/初始化 iob,iob811 同向輸出/初始化存儲器 ram/讀存儲單元 0xe000/沒有經(jīng)過訓練(0xe000 內容為 0xffff) /訓練/存儲訓練結果(語音模型)10elseloadsd();playsnd(s_start,3);bsr_initrecognizer(bsr_mic);while(1)bsr();if(*p_ioa_data)&0x0004)f_flasherase(0xe000);while(1);子程序:void f_flasherase(unsi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 纖維板行業(yè)的國內外標準對比研究考核試卷
- 畜牧良種繁殖保險制度與風險管理考核試卷
- 時間的初一語文作文
- 玉米加工與糧食產(chǎn)后減損技術考核試卷
- 空中交通管制員視覺識別能力考核試卷
- 突發(fā)事件預防與應對策略考核試卷
- 站內公共服務設施完善與人性化設計實踐成果考核試卷
- 紡織品在農業(yè)領域的應用與創(chuàng)新考核試卷
- 小學100以內退位減法練習題(500條)
- 蘇州托普信息職業(yè)技術學院《大數(shù)據(jù)可視化技術》2023-2024學年第二學期期末試卷
- 2024員工質量意識培訓
- 《固體廢物處理與處置》大學筆記
- 醫(yī)療機構安全管理制度與實施細則
- 針刺傷預防與處理-2024中華護理學會團體標準
- 制造業(yè)生產(chǎn)流程手冊
- 2023年安徽公務員鄉(xiāng)鎮(zhèn)崗位面試真題及解析
- GB/T 12939-2024工業(yè)車輛輪輞規(guī)格系列
- 攜程在線能力測評真題
- 7.1文化的內涵和功能課件-高中政治統(tǒng)編版必修四哲學與文化
- 2024-2025學年上海中學高三下學期3月一??荚囉⒄Z試題含解析
- 02幾何壓軸小題-【黃金沖刺】考前10天中考數(shù)學極限滿分沖刺(浙江專用)原卷版+解析
評論
0/150
提交評論