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