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