新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 多功能語音人機接口模塊的設(shè)計及實現(xiàn)

多功能語音人機接口模塊的設(shè)計及實現(xiàn)

——
作者:龍占超.湯治華 (華中科技大學(xué) 電子與信息工程系,湖北 武漢430074) 時間:2007-01-26 來源:《國外電子元器件》 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/21392.htm

指紋門禁系統(tǒng)、pos系統(tǒng)(電子收款系統(tǒng))、atm(自動取款機)等嵌入式應(yīng)用系統(tǒng)都需要友好的人機接口,高端應(yīng)用的人機接口一般都采用觸摸屏,但價格高,一般性應(yīng)用難以接受。觸摸屏加鍵盤模式的應(yīng)用目前只見于各大銀行的atm機上。所以開發(fā)一款簡單易用且價格低廉的人機接口產(chǎn)品有著重要意義和廣闊的應(yīng)用前景。筆者采用微控制器控制鍵盤、液晶顯示、語音芯片、標(biāo)準(zhǔn)通信口來實現(xiàn)語音人機接口。該語音人機具有接口友好、實現(xiàn)方便、成本低廉等特點。它適應(yīng)于成本敏感,主處理器處理能力強大但控制能力弱的場合。

筆者設(shè)計的人機接口已應(yīng)用于某指紋門禁系統(tǒng)中。該系統(tǒng)中,主處理器(dsp,數(shù)字信號處理器)主要用來處理指紋算法(指紋增強、二值化、細(xì)化、特征提取及特征匹配等).如果要求主處理器擴展適當(dāng)外圍電路來實現(xiàn)人機接口.勢必會影響整個系統(tǒng)的處理速度,因為指紋處理算法有著很高的時間和空間復(fù)雜度。將占用絕大部分處理器資源。采用該智能語音人機接口模塊后.微控制器通過rs232接口與主處理器(dsp)交換數(shù)據(jù),大大提高了指紋處理程序的運行速度,從而提高了整個系統(tǒng)的性能。

2 人機接口模塊總體設(shè)計

人機接口模塊主要由at89c51型微控制器、isd2560型語音錄放器件、lcml602型液晶顯示、rs232接口、鍵盤和控制執(zhí)行單元組成。人機接口模塊組成框圖如圖1所示。

微控制器負(fù)責(zé)整個模塊的功能控制和與主處理器的通信。鍵盤用來接收用戶輸入信號。語音錄放單元實現(xiàn)交互提示語言的錄制和播放。液晶顯示單元輔助用戶輸入并為用戶顯示提示信息(包括在模塊開發(fā)調(diào)試過程中的調(diào)試信息)。控制執(zhí)行單元屬于可選用單元,針對具體應(yīng)用進行取舍。指紋門禁系統(tǒng)中需要控制執(zhí)行單元來彈開電子鎖。

3 各組成單元的設(shè)計及實現(xiàn)

下面以人機模塊的4個主要組成單元來說明。重點論述語音錄放電路單元和液晶顯示接口單元的設(shè)計與實現(xiàn),并給出調(diào)試通過的匯編源代碼。

3.1 鍵盤、控制執(zhí)行單元

鍵盤是4×4結(jié)構(gòu),微控制器從p1口通過掃描方式接收鍵盤輸入信息??刂茍?zhí)行單元由基本三極管電路驅(qū)動繼電器,通過微控制器的通用i/o口來控制。鍵盤、控制執(zhí)行單元易于實現(xiàn),在此不再贅述。

3.2 rs232接口單元

采用帶有1個uart[1](通用異步收發(fā)器)的微控制器,用uart來實現(xiàn)rs232接口是非常容易的。原因在于,uart的收發(fā)協(xié)議與rs232接口是一致的,只存在電氣特性上的差異。故uart只需進行電平轉(zhuǎn)換即可配置成rs232串口。

利用max232來實現(xiàn)電平轉(zhuǎn)換,將uart轉(zhuǎn)換為rs232串口。電路圖如圖2所示。

3.3 語音錄放單元

為了使本系統(tǒng)的人機接口更加友好.采用了用戶易于接受的語音交互方式。語音播放單元選用的語音器件是isd2560。isd2560是美國isd(information storage devices)公司的高性能單片語音錄放集成電路,具有音質(zhì)好、斷電信息不丟失及與微處理器接口方便等特點,并且只需很少的外圍電路就能組成語音錄放基本電路[2]。

介紹isd2500系列的文獻很多,故對其內(nèi)部結(jié)構(gòu)的介紹從略。下面重點探討isd2560在此模塊中與微控制器的硬件接口設(shè)計及軟件實現(xiàn)。

isd2560主要有3類信號.分別是錄放控制信號:p/r、ce、pda0-a9;級聯(lián)及放音狀態(tài)指示信號:ovf、eom;模擬語音輸入輸出信號:mic、micref、sp+和sp-。主要信號的功能如表1所列。isd2560與微控制器的接口電路如圖3所示。

isd2560的錄音總長度為60 s,要使語音器件分段錄放音,只需給出錄音或放音的起始地址。微控制器的p0口(p0口有一4.7 kω的上拉電阻1與p3.6、p3.7配合作為語音器件的地址輸入.但當(dāng):p3.6與p3.7均為高電平時(即a8與a9為高電平),a0-a6分別對應(yīng)isd2560的7種工作模式(其中a2對應(yīng)m2為保留待用模式)。a0-a6作為模式控制輸入時,高電平有效。例如當(dāng)a8、a9和a3均為高電平時,語音器件工作在循環(huán)放音模式m3下。微處理器的通用i/0口p2.2、p2.3和p2.4分別接至語音器件的控制輸入端p/r、pd和ce,用來控制語音器件的錄放及功耗。每段錄音結(jié)束處,isd2560會自動插入信息結(jié)束標(biāo)記麗eom(end-of-message),這樣在播放語音至信息段尾時,在eom引腳上會產(chǎn)生一個持續(xù)12.5ms的低電平脈沖。將eom接至微控制器的中斷輸入口int0。就會在每段信息播放完畢后觸發(fā)微控制器中斷。在中斷子程序中,可以重新設(shè)定語音器件的地址,然后緊接著播放與上一段信息連貫的詞句,從而實現(xiàn)片斷語句的連續(xù)組合播放。這種硬件連接有助于節(jié)省語音時間資源。從而大大節(jié)省硬件成本。

控制錄音和放音的基本時序如圖4所示。編寫控制語音器件錄放程序時,圖4中標(biāo)示出的幾個關(guān)鍵的時間參數(shù)是需要重點注意的。由于各控制信號(p/r、pd、a0-a9)都是在使能信號ce的下降沿采樣,故采樣前這些控制信號都必須穩(wěn)定建立,采樣后必須保持一段時間.以確保正確精準(zhǔn)的采樣,避免語音器件的誤動作。tsetc和tseta分別是p/r和a0-a9的建立時間;tpud是器件從省電模式中退出后,能進行正常工作的時間延遲.也可理解為pd的建立時間;thold是p/r和a0-a9的保持時間。另外,需要注意的是.錄音過程中.ce在mic輸入的過程中始終要保持低電平,一旦ce或pd變?yōu)楦唠娖?,錄音將停止。而在放音過程中,ce只需持續(xù)低電平tcep(典型值為100 ns)時間即可。

理解微控制器與isd2560時序上的這些特點后,給出微控制器控制語音器件錄音和放音的程序代碼。限于篇幅,只給出錄放音的核心控制代碼:

需要注意的是,上述代碼實現(xiàn)的功能是整片錄音然后整片放音。如果需要分段錄音、放音,只需要改動錄放音的起始地址(由p0、a8、a9給出)及錄放音的等待延遲即可。開始錄入語音或錄制完畢時.最好有液晶顯示或某一特定指示燈亮,用來提示用戶錄音的開始與結(jié)束。而放音時,只需給出待播放語音段的起始地址和足夠的等待時間,放音過程遇到信息結(jié)束標(biāo)志后會自動結(jié)束。限于篇幅,代碼中省略了液晶顯示的提示(需要實現(xiàn)液晶顯示時,只需給出待顯示碼及有關(guān)控制命令,直接調(diào)用下文給出的液晶接口子程序可以很方便實現(xiàn))。全部代碼都已調(diào)試通過,加上延遲子程序后可直接拷貝使用。

在特殊應(yīng)用場合,如需要播放更長的語音信息.可以利用溢出標(biāo)志信號(0vf)來實現(xiàn)多個語音器件的級聯(lián)。

3.4 液晶顯示功能的設(shè)計與實現(xiàn)

從節(jié)約成本及提高系統(tǒng)可靠性的角度考慮,為實現(xiàn)液晶顯示功能,本設(shè)計選用通用lcm(液晶模塊)。lcm重量輕、體積小、功耗低、壽命長、工作溫度寬,可顯示多達192種常用字符(包括所有大小寫字母及常用符號),還可自編8種顯示字符以滿足特殊的顯示需求。值得一提的是,lcm指令功能強大.可以組合成各種輸入、顯示、移位方式以滿足不同的應(yīng)用需求。lcm內(nèi)部集成了液晶控制(一般兼帶驅(qū)動功能)芯片,向外提供數(shù)據(jù)傳輸及控制線接口.與微控制器(或微處理器)接口方便[3]。

圖5給出lcm與微控制器的接口,下面介紹各接口線的功能。

lcm由+5v電壓供電,液晶驅(qū)動電壓v0由20kω電位器分壓得到??赏ㄟ^調(diào)節(jié)電位器來調(diào)節(jié)顯示屏的對比度。當(dāng)確認(rèn)指令控制正確,但屏上看不到顯示結(jié)果時,不要輕易懷疑lcm已壞。這往往是由于液晶顯示的驅(qū)動電壓不夠而引起的,此時.可調(diào)節(jié)電位器,直至看到清晰的輸出。bl1、bl2(有的數(shù)據(jù)手冊上標(biāo)為a、k)分別是lcm背光燈(此lcm是光反射原理顯示的,在光線不足條件下,很難看清其顯示,這時必須要有背光才能看到其顯示)的陽極與陰極。如果不需要控制背光的亮滅,可直接接至+5 v電源兩端,讓背光燈在模塊上電后一直點亮。

微控制器的p0口復(fù)用(上文設(shè)計中已作為isd2560的地址選擇信號)作為lcm的數(shù)據(jù)總線 (db0一db7),p2.5、p2.6、p2.7分別控制lcm的使能信號e、讀寫控制信號r/w、寄存器選擇信號rs。數(shù)據(jù)總線是傳送指令及顯示數(shù)據(jù)的通道;使能信號e為下跳變有效;讀寫控制信號r/w用來控制數(shù)據(jù)讀寫,高電平時為從lcm的內(nèi)部寄存器中讀取數(shù)據(jù).低電平時,向lcm的內(nèi)部寄存器中寫入數(shù)據(jù)。rs是寄存器選擇控制信號,其高、低電平分別選擇數(shù)據(jù)寄存器、指令寄存器。

要編寫微控制器訪問控制lcm的程序代碼.必須徹底理解lcm的訪問控制時序,如圖6所示。



圖6的簡要說明:rs在訪問期間,具體的電平取決于所訪問的寄存器類型。r/w(read)、r/w(write)分別與其他控制信號及數(shù)據(jù)信號構(gòu)成完整的lcm讀、寫控制時序。at89c51執(zhí)行一條單周期指令的時間為1μs(選用12 mhz晶體時)。tcs、tch、tweh、tdh、tce都是ns(納秒)級的量,因而只需順序給出指令即可滿足時序要求。需要指出是tds在讀寫操作時的意義是不同的。在讀操作時,tds表示數(shù)據(jù)輸出的延遲(最大值100 ns);在寫操作時,表示待寫入數(shù)據(jù)的最小建立時間(40 ns)。程序中的nop指令是為了保證最低時序要求有較充分的裕度。以確保高度的可靠性。



上述代碼全部通過調(diào)試,運行正確穩(wěn)定,可直接拷貝使用。

4 結(jié)束語

該人機接口模塊所有功能均已調(diào)試通過,工作穩(wěn)定可靠。

模塊提供有+3.3v電壓及備用i/o接口引出線.為將來擴展之用。如可采用低電壓版本的微控制器(at89lv5l、w78le51等),這種微控制器的引腳電平與主處理器的引腳電平兼容。硬件上可以直接連接。閑置的i/o線可擴展i2c接口的e2prom,用來存儲需長時間保存的數(shù)據(jù)。

本模塊可擴展,裁剪性強,針對特定的應(yīng)用場合增加或刪除某些單元電路即可實現(xiàn)新系統(tǒng)的人機接口。

手機電池相關(guān)文章:手機電池修復(fù)


電路圖符號相關(guān)文章:電路圖符號大全




關(guān)鍵詞: 模塊

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉