多功能語音電子電話號碼薄的研制
摘 要: 結(jié)合實際研制開發(fā)工作介紹了多功能語音電子電話號碼簿的性能與特點,給出了該系統(tǒng)的軟、硬件設(shè)計方案和系統(tǒng)組成,討論了MCU與DSP、DSP與CODEC的接口技術(shù)以及整個系統(tǒng)的供電技術(shù)。
本文引用地址:http://m.butianyuan.cn/article/242396.htm關(guān)鍵詞: 語音識別 語音提示 語音回放 語音撥號 DSP CODEC
國內(nèi)現(xiàn)有的電子電話號碼簿皆采用鍵盤拼音輸入方式進行查詢,且無撥號功能,使用不便,不易被消費者接受。1998年底在西方發(fā)達國家剛剛問世的語音電子電話號碼簿為英語語音提示,對使用漢語的中國人極為不便,且功能單一,價格昂貴,不適宜中國的消費者使用。我們研制的功能強、性能優(yōu)、價格低廉、識別率高的適合中國國情的中文多功能語音電子電話號碼簿,在擁有數(shù)億消費者的中國具有廣泛的市場前景,該產(chǎn)品的研制成功對我國的語音識別算法研究、語音產(chǎn)品開發(fā)等具有特別重要的意義。
使用者只要說出被查詢?nèi)说闹形男彰騿挝幻Q,語音電子電話號碼簿利用語音識別、語音合成等高新技術(shù)可以回放和顯示出相應(yīng)的電話號碼并進行自動撥號。
1 語音電子電話號碼簿的功能
· 語音電話號碼簿功能
它能存儲200個名字800個電話號碼每個名字下可有32位的4個電話號碼。它具有查找、撥號、修改、刪除、長途區(qū)號自動過濾、語音提示、語音回放、顯示、電池告警、電源自動啟閉等功能。
· 語音記事簿功能
它有兩個語音記事定時提醒功能,每當(dāng)語音記事定時提醒時刻到來時,能自動播放1分鐘的用戶錄音,以提醒用戶。
· 日歷/時鐘功能
能顯示年、月、日、時、分、秒、星期。
· 計算器功能
2 系統(tǒng)構(gòu)成
該系統(tǒng)由主、從功能模塊組成。主功能模塊包括MCU、鍵盤以及LCD;從功能模塊包括DSP、CODEC、ROM、FLASH和音頻放大器等,如圖1所示。系統(tǒng)各模塊功能如下。
(1)DSP的主要功能是接收MCU發(fā)送來的命令,并按照其命令完成語音訓(xùn)練、語音識別、語音合成、DTMF撥號、號碼簿管理、記事簿管理等功能。由于AD公司的ADSP2181具有功能強大的數(shù)字信號處理能力和各種外圍接口以及高性能價格比。
(2) CODEC是用來完成語音信號的D/A(模擬語音信號轉(zhuǎn)換為數(shù)字語音信號)和D/A(數(shù)字語音信號轉(zhuǎn)換為模擬語音信號)的。由于AD公司的AD73311具有諸多優(yōu)良性能,如內(nèi)含16位信噪比為75dB的A/D 和信噪比為70dB的D/A,采樣頻率和輸入輸出增益均可程控,自帶參考電壓和低功耗以及串行輸入輸出接口等。
(3)ROM是用來存放DSP程序和語音提示所需的數(shù)據(jù)。
(4)FLASH用來存儲電話號碼簿的200個詞條數(shù)據(jù)以及記事簿所需的兩段1分鐘的記事錄音數(shù)據(jù)等參數(shù)。
(5)單片機系統(tǒng)中的MCU主要是接受鍵盤命令,向DSP發(fā)送控制命令,接收DSP的反饋信息,并將一些信息顯示在LCD上;同時負責(zé)日歷/時鐘的產(chǎn)生和計算器等功能。SUMSUNG公司的KS57C2308單片機具有40個I/O 引腳,能直接驅(qū)動16位8段LCD;2~5.5V的寬電壓;低功耗低價位等諸多特點。
(6)電源模塊的主要功能是為系統(tǒng)中各功能模塊提供電源,通過它可手動或自動打開或關(guān)閉從功能模塊的電源。
3 接口電路設(shè)計
3.l ADSP2181與MCU之間的接口設(shè)計
ADSP2181是作為一個Slave芯片工作的,它能隨時接收和處理MCU發(fā)送來的命令,并返回給MCU狀態(tài)信息和數(shù)據(jù)。ADSP2181與MCU之間的接口可分為串行方式和并行方式兩種。但由于串行接口方式的軟硬件設(shè)計較為簡單,且占用DSP和MCU的硬件資源較少,故本系統(tǒng)選用串行接口方式,如圖2所示。
將ADSP2181的SPOPT1設(shè)置成串口方式,通過五根線與MCU相連接,其中SCLK1為串行時鐘輸出端;RFS1和TFS1分別為接收幀同步和發(fā)送幀同步信號線,它們用于指明串行數(shù)據(jù)字的開始;DR1和DT1分別為串行數(shù)據(jù)的接收和發(fā)送信號線,數(shù)據(jù)位與串行時鐘SCLK1同步。另外有2根控制信號線IRQE和/RESET,MCU的P4.3連至ADSP2181的IRQE端,ADSP2181接收到中斷信號后立即退出IDLE狀態(tài)開始接收MCU發(fā)送來的命令。P4.2連至ADSP2181的/RESET端,用于控制DSP的復(fù)位。DSP程序啟動后先進行有關(guān)的初始化工作,然后進入IDLE狀態(tài)等待MCU的中斷信號。
3.2 ADSP2181與CODEC之間的接口以及CODEC的模擬輸入輸出接口設(shè)計
ADSP2181與CODEC之間的接口以及CODEC的模擬輸入輸出接口電路如圖3所示。
CODEC AD73311的左邊為模擬輸入輸出接口。模擬輸入接口采用的是單端方式,模擬輸出接口采用的是差分雙端輸出方式,R2(100)Ω和C4(0.047μF構(gòu)成了輸入端的反混迭濾波器,由于采用了過采樣,故單極點的RC濾波器就足夠了。AD73311輸出端的最小負載電阻為150Ω,由于使用的是32Ω的喇叭,所以喇叭之前加一級運放LM386作為功率放大之用。AD73311的右邊為與ADSP2181的數(shù)字接口,/RESET為復(fù)位端,SCLK為串行時鐘輸出端;SDO、SDOF為串行數(shù)據(jù)輸出端和同步信號端;SDIF、SDI為串行輸入同步信號端和數(shù)據(jù)端;SE為串行端口使能端。SDI、SDO和SCLK分別與ADSP2181串口0的DTO、DRO和SCLKO對接;MCLK為外部主頻時鐘輸入端,來自于外部的晶振,其頻率為16.384MHz,我們采用過采樣的方法經(jīng)抽取和濾波以獲取較高的信噪比,AD73311的采樣頻率為Fad=32kHz;我們采用發(fā)送接收幀同步信號異步方式,使ADSP的TFSO分別與AD73311的SDIFS、SDOFS相連。
3.3 系統(tǒng)供電電路設(shè)計
系統(tǒng)的供電電路如圖4所示。
由于該系統(tǒng)為消費類手掌機,從體積、重量、價位等諸多因素出發(fā),該產(chǎn)品采用3節(jié)7號電池供電。為了延長電池的使用時間,應(yīng)降低系統(tǒng)的功耗,故本系統(tǒng)選用了低功耗的DSP和CODEC芯片,并對它們實行3.3V供電。本系統(tǒng)選用了TI公司的TPS7233微功耗低落差電壓穩(wěn)壓器,/EN為穩(wěn)壓器的使能端,高電平將關(guān)斷穩(wěn)壓器使其進入微功耗睡眠方式;PG為功耗正常狀態(tài)輸出端,當(dāng)其輸出電壓降至其正常值的95%時,輸出變?yōu)榈碗娖?,它可用作電池欠電壓指示。為了使AD73311模擬輸出通道中的音頻放大器能獲得足夠大的功率和提高系統(tǒng)的抗干擾能力,故供給LM386的電源應(yīng)從TPS7233的前端Vcc2引出。為了正常地進行日歷/時鐘顯示,MCU電源直接從電池端Vcc1引出,為了節(jié)省電量,MCU平時工作于IDLE狀態(tài)。為了有效地抑制噪聲,CODEC的模擬電源從AVdd端引出,而DSP、FLASH、ROM以及CODEC的數(shù)字電源從Vdd端引出。當(dāng)需進入電話號碼簿工作而按下/OPEN鍵時,MCU的P2.2輸出低電平使能TPS7233,由于/OPEN鍵按下瞬間的低電平使Q1飽和,同時P2.1輸出的高電平又保證了Q2的飽和,這樣就打開了從功能模塊的電源,而進入號碼簿工作狀態(tài)。當(dāng)需要關(guān)斷從功能模塊的電源時 MCU的P2.1輸出低電平,使Q2截止,從而Q1也截止而關(guān)斷其電源。當(dāng)記事簿的定時語音提醒時刻到來時,MCU的P2.2和P2.0輸出低電平,P2.1輸出高電平,也打開了從功能模塊的電源,從而進入了記事簿工作狀態(tài)。在記事簿或號碼簿工作狀態(tài)下,若電池欠電壓,則PG由高電平變?yōu)榈碗娖蕉霈F(xiàn)一個下降沿,向MCU申請中斷,MCU在中斷1服務(wù)程序中將關(guān)斷從功能模塊的電源,同時LCD顯示出電池欠電壓標(biāo)志,提醒用戶及時更換電池。
4 軟件設(shè)計
軟件系統(tǒng)包括DSP軟件和MCU軟件兩大模塊,DSP的軟件主要是根據(jù)語音信號數(shù)字處理技術(shù)完成語音識別、語音合成等功能,由于篇幅有限,在此不予介紹。MCU的軟件采用結(jié)構(gòu)化的程序設(shè)計方法,各模塊均有一定的獨立功能,便于系統(tǒng)的功能擴充和維護。
4.1基本定時器中斷服務(wù)程序模塊
流程圖如5所示,該服務(wù)程序每7.82ms被執(zhí)行一次。它完成鍵盤掃描功能,當(dāng)連續(xù)20次檢測到同一鍵值的鍵按下時,將該鍵值放于鍵盤緩沖區(qū)中;它也完成日歷/時鐘計時功能,當(dāng)連續(xù)兩次檢測到時鐘定時器的中斷標(biāo)志位IRQW為1時,時鐘的秒加1。若該中斷發(fā)生時的程序工作于IDLF模式下,此時LCD應(yīng)顯示日歷/時鐘信息,且中斷正常返回;若工作于電話號碼簿或記事簿功能程序,在2min內(nèi)無鍵按下,則應(yīng)關(guān)斷從功能模塊的電源且非正常中斷返回到某一初始化地址處,否則從功能模塊電源已關(guān)斷,若正常中斷返回到原斷點地址處,必定要死機。
4.2 主控模塊
該模塊是基于系統(tǒng)的操作流程設(shè)計的,如圖6所示。程序首先判斷是否有功能鍵按下,若無功能鍵按下,且記事簿的語音定時提醒時刻尚未到來時,則CPU的時鐘切換為副時鐘并關(guān)閉主時鐘,置IDLE_FLAG為1并進入IDLF狀態(tài)。基本定時器中斷后,主程序?qū)⑼顺鯥DLE狀態(tài),在無功能鍵按下的情況下,重復(fù)上述過程。若有功能鍵按下,清IDLE_FLAG為0,并執(zhí)行相應(yīng)的功能模塊程序。
總之,與美國Sensory公司生產(chǎn)的具有國際領(lǐng)先水平的同類產(chǎn)品相比,我們研制的語音電子電話號碼簿具有以下優(yōu)點
·識別率大于99%,提高了兩個百分點;
·增加了記事簿、計算器、日歷/時鐘顯示、本地長途區(qū)號過濾等功能;
·既有語音又有鍵控操作;
·體積小、重量輕,價格為其二分之一。
評論