摘 要: 结合实际研制开发工作介绍了多功能语音电子电话号码簿的性能与特点,给出了该系统的软、硬件设计方案和系统组成,讨论了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%,提高了两个百分点;
·增加了记事簿、计算器、日历/时钟显示、本地长途区号过滤等功能;
·既有语音又有键控操作;
·体积小、重量轻,价格为其二分之一。