柏夢媛 王勝蘭
摘 要:本項(xiàng)目采用單片機(jī)和語音處理芯片相結(jié)合,當(dāng)語音芯片接受到聲音信號時(shí),產(chǎn)生電信號通過單片機(jī)控制I/O接口電路輸入給單片機(jī),通過單片機(jī)控制的時(shí)鐘達(dá)到定時(shí)后即開啟鬧鈴,并啟動開關(guān),使鬧鐘能自動避障運(yùn)動。
關(guān)鍵詞:單片機(jī);語音識別控制;運(yùn)動避障
現(xiàn)在世面上有一種在叫醒過程中能運(yùn)動的鬧鐘,迫使人不得不起床關(guān)閉鬧鐘的基礎(chǔ)上,加上簡單的語音識別功能,使其能與人進(jìn)行簡單的交流,方便人們的生活,最終達(dá)到完全叫醒的效果,同時(shí)也向智能家居邁進(jìn)一步。
本設(shè)計(jì)從鬧鐘語音處理入手,使用LD3320語音芯片作為一種微控制器,其內(nèi)嵌4KB的FLASH和2KB的RAM能夠存儲所需的數(shù)據(jù)和程序,再以AT89C51單片機(jī)作為核心完成語音控制小車的設(shè)計(jì),使之不僅能夠具有前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn),避障等基本程序控制功能,而且還具備有語音控制功能。
1 語音控制方案
單片機(jī)語音控制系統(tǒng)設(shè)計(jì)的思路是應(yīng)用語音識別技術(shù),由單片機(jī)控制其他的外圍器件,使其在人們的語音指令下工作。但是對于計(jì)算機(jī)系統(tǒng)來說,語音識別的難點(diǎn)在于采集和識別信號時(shí)因其環(huán)境和發(fā)聲體的不同,具有不確定性、動態(tài)性和連續(xù)性。本設(shè)計(jì)采用語音芯片LD3320作為語音采集處理核心,通過和單片機(jī)相連實(shí)現(xiàn)語音控制鬧鐘。通過軟件設(shè)計(jì)再加上簡易的硬件電路做成的電路,結(jié)構(gòu)簡單,操作容易,人機(jī)界面友好,且價(jià)格低廉。其控制系統(tǒng)示意圖如下圖1:
圖1語音控制系統(tǒng)示意圖
工作流程:語音識別模塊是通過麥克風(fēng)采取接收外界的語音命令,對接收到語音進(jìn)行特征提取后,與原有語音進(jìn)行對比識別,然后交由單片機(jī)處理。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 語音模塊 本設(shè)計(jì)采用了LD3320語音識別芯片和相關(guān)控制電路,設(shè)計(jì)實(shí)現(xiàn)了聲控鬧鐘的語音控制系統(tǒng)。由于LD3320芯片集成了語音識別處理器和外部電路,包括AD和DA轉(zhuǎn)換器、麥克風(fēng)、聲音輸出等接口,且不需要外接任何的輔助芯片,它最大的好處是識別的關(guān)鍵詞語列表是可以任意動態(tài)編輯的。
其工作過程為:當(dāng)將識別的關(guān)鍵詞字符串輸入到芯片內(nèi)部的時(shí)候,單片機(jī)會對采集到的語音樣本進(jìn)行分析處理,從中提取出語音特征信息,建立一個(gè)特征模型,在識別階段,單片機(jī)對采集到的語音樣本也進(jìn)行類似的分析處理,提取出語音的特征信息,然后將這個(gè)特征信息模型與已有的特征模型進(jìn)行對比,如果二者達(dá)到了一定的匹配度,則輸入的語音被識別。
語音識別用初始化(包括通用初始化)→寫入識別列表→開始識別,并準(zhǔn)備好中斷響應(yīng)函數(shù),打開中斷允許位。
2.2 單片機(jī)模塊 本設(shè)計(jì)采用AT89C51單片機(jī),設(shè)置LCD顯示、蜂鳴器等作為外圍電路,利用它高性能、高速度、體積小等特點(diǎn),避免了元器件種類、個(gè)數(shù)繁多而引起的硬件電路結(jié)構(gòu)過于復(fù)雜,這個(gè)硬件電路包括單片機(jī)電路和小車控制電路,51板硬件電路包含AT89C51最小系統(tǒng)、電源電路、LCD接口電路、蜂鳴器電路等模塊。當(dāng)外界無信號時(shí),單片機(jī)模塊控制LCD顯示器顯示出當(dāng)前時(shí)間,若接收到來自于語音芯片的脈沖時(shí),單片機(jī)控制蜂鳴器電路工作,同時(shí)啟動小車控制電路進(jìn)行避障行走。
2.2.1 鬧鐘模塊。時(shí)鐘芯片采用DS1302,它是一款具有高性能、低能耗、帶RAM的實(shí)時(shí)時(shí)鐘,用它作為計(jì)時(shí)芯片具有計(jì)時(shí)準(zhǔn)確、耗電量小的優(yōu)點(diǎn)。當(dāng)聲音通過語音芯片轉(zhuǎn)換成脈沖信號傳至主控電路中時(shí),時(shí)鐘電路通過顯示驅(qū)動MAX7219來驅(qū)動LCD顯示電路顯示時(shí)間,MAX7219是微處理器與LCD數(shù)碼管顯示構(gòu)成的,通過內(nèi)部的BCD譯碼器、多路掃描控制器和自驅(qū)動器和外部的電阻設(shè)置LCD顯示器的字段電流。
2.2.2 小車模塊。本設(shè)計(jì)采用AT89C51單片機(jī)為核心控制鬧鐘逃跑時(shí)的智能避障車系統(tǒng),選定了超聲波-光電接近開關(guān)傳感器作為避障方案,當(dāng)語音信號傳入AT89C51單片機(jī)內(nèi)部處理后,路徑信號傳入I/O口用于小車的運(yùn)動控制決策,內(nèi)部定時(shí)器發(fā)出信號驅(qū)使電機(jī)對智能車進(jìn)行加速、減速和轉(zhuǎn)向控制。在電機(jī)的驅(qū)動方面,我們利用四個(gè)I/O端口分為兩組分別實(shí)現(xiàn)驅(qū)動和轉(zhuǎn)向兩個(gè)電機(jī)的正傳、反轉(zhuǎn)和停止三種狀態(tài)的控制。
3 軟件設(shè)計(jì)
本設(shè)計(jì)中語音識別工作時(shí)采用的是中斷方式進(jìn)行,首先,對芯片內(nèi)部和語音識別用初始化,完成軟復(fù)位、模式設(shè)定及時(shí)鐘頻率的設(shè)定,以激活內(nèi)部數(shù)據(jù)處理模塊為識別做好準(zhǔn)備,接下來,將識別關(guān)鍵字寫入列表中,每一個(gè)識別條目對應(yīng)一個(gè)特別的編號,每個(gè)識別條目都是由準(zhǔn)普通話的小寫漢語拼音構(gòu)成。最后,當(dāng)聲音通過麥克風(fēng)傳入后,芯片對收集到的信號進(jìn)行特征提取然后與關(guān)鍵字進(jìn)行對比,對比成功后交由單片機(jī),單片機(jī)通過閥門觸發(fā)小車,小車在直流電機(jī)的驅(qū)動下開始運(yùn)動,同時(shí)小車上的超聲波-光電接近開關(guān)傳感器為前行避障提供了保障。
4 結(jié)論
本文主要介紹了語音芯片在鬧鐘控制和小車控制上的充分應(yīng)用,實(shí)現(xiàn)了通過語音控制鬧鐘的設(shè)定和小車運(yùn)動,在硬件方面,利用單片機(jī)的高速執(zhí)行速度、內(nèi)置的硬件乘法器等為語音處理提供了強(qiáng)大基礎(chǔ)。在軟件方面,采用匯編語言和C語言的編程,語音芯片中豐富的語音資源函數(shù)為編程提供了很大的方便。本設(shè)計(jì)成功實(shí)現(xiàn)了語音控制功能,操作比較簡單。
參考文獻(xiàn):
[1]何立民.單片機(jī)高級教程 第1版[M].北京:北京航空航天大學(xué)出版社,2001.
[2]趙曉安.MCS-51單片機(jī)原理及應(yīng)用[M].天津:天津大學(xué)出版社,2001.3.
[3]李廣第.單片機(jī)基礎(chǔ) 第1版[M].北京:北京航空航天大學(xué)出版社,1999.
[4]徐惠民,安德寧.單片微型計(jì)算機(jī)原理接口與應(yīng)用 第1版[M].北京:北京郵電大學(xué)出版社,1996.
[5]何立民.從Cygnal 80C51F看8位單片機(jī)發(fā)展之路[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002年第5期:5-8.
[6]夏繼強(qiáng).單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2001.