基于A(yíng)VR和51單片機的機器魚(yú)語(yǔ)音控制系統設計與實(shí)現
摘要:為了實(shí)現人和機器魚(yú)之間的交流,提出一種基于AVR和51單片機語(yǔ)音控制識別系統設計。在理論分析和實(shí)驗觀(guān)察基礎上,設計了51單片機主控M-LD3320語(yǔ)音識別模塊的語(yǔ)音識別系統,以及AVR主控魚(yú)體產(chǎn)生魚(yú)體波的動(dòng)力系統。語(yǔ)音識別系統識別到語(yǔ)音,就通過(guò)WAP200B無(wú)線(xiàn)通訊模塊將命令傳送給魚(yú)體的動(dòng)力系統,AVR再根據命令產(chǎn)生相應的魚(yú)體波。實(shí)驗結果表明,該方案可以實(shí)現語(yǔ)音控制機器魚(yú)。
關(guān)鍵詞:LD3320語(yǔ)音識別;WAP200B無(wú)線(xiàn)通訊;ATmega128單片機;魚(yú)體波;51單片機
近年來(lái),海洋資源開(kāi)發(fā)日趨焦點(diǎn),機器魚(yú)作為一項現代化的新成果,具有廣泛的現實(shí)意義,它可以更逼真的模擬魚(yú)的游動(dòng)原理,在水下的運動(dòng)更符合流體力學(xué)原理,具有更好的加速和轉向能力,利用它可以探測海洋資源,尋找和檢測海域中受污染的地方,也可以用來(lái)勘探地形等等。隨著(zhù)科技的發(fā)展,人類(lèi)對智能化產(chǎn)品的研究步伐在不斷加快。但是,作為一項比較新的產(chǎn)品,機器魚(yú)的智能化程度還遠遠不夠,伴隨著(zhù)研究的加深,機器魚(yú)的功能也會(huì )更趨完善。語(yǔ)音識別作為一門(mén)交叉學(xué)科,它的出現實(shí)現了長(cháng)期以來(lái)人們渴望與機器交流的夢(mèng)想。語(yǔ)音識別技術(shù)就是讓機器通過(guò)識別和理解過(guò)程把語(yǔ)音信號轉變?yōu)橄鄳奈谋净蛎畹母呒夹g(shù)。近年來(lái),語(yǔ)音識別技術(shù)發(fā)展迅速,取得顯著(zhù)進(jìn)步,并且已經(jīng)開(kāi)始被應用于通信、家庭服務(wù)、汽車(chē)電子、醫療、家電、消費電子產(chǎn)品等各個(gè)領(lǐng)域。截至目前,還沒(méi)有出現針對語(yǔ)音識別系統和機器魚(yú)結合的設計。本文實(shí)現了機器魚(yú)和語(yǔ)音識別系統結合的硬件設計。
1 芯片介紹
1.1 LD3320語(yǔ)音芯片介紹
LD3320是一顆基于ASR技術(shù)非特定人語(yǔ)音識別的語(yǔ)音識別芯片。語(yǔ)音識別ASR技術(shù),是基于關(guān)鍵詞語(yǔ)列表識別的技術(shù)。只需要軟件編輯好要識別的關(guān)鍵詞語(yǔ)列表,并把這些關(guān)鍵詞語(yǔ)以字符形式傳送到芯片內部,就可以對人說(shuō)出的關(guān)鍵詞語(yǔ)進(jìn)行識別,不需要作任何錄音。比如,在51單片機編程中,簡(jiǎn)單地設置語(yǔ)音芯片的寄存器,諸如把“ni hao”這樣的識別關(guān)鍵詞動(dòng)態(tài)地傳入芯片中,芯片就可以識別這個(gè)關(guān)鍵詞語(yǔ)了。并且在同一時(shí)刻,最多可以在50條關(guān)鍵詞語(yǔ)中進(jìn)行識別,可以根據場(chǎng)景需要,在終端隨時(shí)編輯和更新這50條關(guān)鍵詞語(yǔ)。另外,芯片上集成了高精度的D/A和A/D接口,并且接有Flash和RAM,只需把麥克風(fēng)接在芯片的AD引腳上即可實(shí)現語(yǔ)音識別/聲控/人機對話(huà)功能。
1.2 AVR芯片介紹
本例使用ATmega128單片機作為魚(yú)體控制芯片,ATmega128具有以下特點(diǎn):低功耗的8位微處理器,有133條指令,且大多數指令可以在一個(gè)時(shí)鐘周期內完成;53個(gè)可編程I/O口線(xiàn);128K字節的系統內可編程Flash;4K字節的EEPROM;優(yōu)化的外部存儲器空間多達64K字節;兩個(gè)帶有獨立預分頻器和比較器的8位定時(shí)器/計數器;兩個(gè)帶有預分頻器、比較功能和捕捉功能的16位定時(shí)器/計數器;兩路8位PWM;6路分辨率可變(2到16位)的PWM;兩個(gè)可編程的串行USART;8路10位的ADC。
2 硬件設計實(shí)現
2.1 整體設計方案
語(yǔ)音識別系統識別到語(yǔ)音數據會(huì )產(chǎn)生一個(gè)中斷信號給51單片機,然后單片機通過(guò)程序判斷語(yǔ)音數據的正確性(可能是噪音),如果正確就通過(guò)P0口讀取語(yǔ)音數據,并且將數據通過(guò)WAP200B無(wú)線(xiàn)通訊模塊發(fā)送給魚(yú)體主控芯片AVR單片機,此時(shí)AVR就可以根據命令產(chǎn)生相應占空比的PWM波。整體方案設計如圖1所示。
2.2 語(yǔ)音控制部分
M-LD3320進(jìn)行語(yǔ)音識別時(shí),需要有較高純凈度的3.3V直流電源供電和合適的晶振信號(我們使用了12M正方形有源晶振)。使用51單片機編寫(xiě)程序主控LD3320芯片,來(lái)實(shí)現語(yǔ)音識別功能。同時(shí)必須保證51單片機和語(yǔ)音模塊的最終供電電源統一。
麥克風(fēng)采集到聲音,不管是否識別到正常結果,芯片都會(huì )產(chǎn)生一個(gè)中斷信號通過(guò)IRO管腳返回給51單片機,并且將數據通過(guò)ICR_P0~ICR_P7傳送給51單片機進(jìn)行處理,然后中斷程序要根據寄存器的值分析結果,如果識別成功,就將識別得到的數據通過(guò)無(wú)線(xiàn)通訊模塊發(fā)送出去。由于本文在語(yǔ)音模塊傳送數據給MCU時(shí)采用并行方式,所以MD直接接地,如果采用串行方式需要使MD管腳置高。它與51單片機(基于STC89C52)的連接示意圖如圖2所示。
評論