基于DTMF方式的身份识别及语音自动播放系统
3.1 DTMF编/解码
DTMF编/解码器选用MT8880。MT8880C是一个带有呼叫处理滤波器的单片DTMF信号收发器。该器件采用低功耗、高稳定性的ISO-CMOS技术,内置1个带有可变增益的内部放大器的高性能接收器,1个带有脉冲计数器的发射器,以及1个可访问MT8880内部寄存器的标准微处理器接口。其内部寄存器包括1个状态寄存器、2个数据寄存器和2个控制寄存器,其电路如图4所示。
该系统采用单端输入方式,IN-为运放输入端,R1与R2调节输入信号增益。TDNE为音频输出,用于发送DTMF信号。OSCl为时钟/振荡器输入端,OSC2为时钟输出端,MT8880采用3.579 5 MHz的工作时钟。IRQ/CA为中断请求信号,漏极开路输出,当有DTMF信号输入时,IRQ/CA向C8051F020发出中断申请。D0~D3为微机数据总线,与TTL兼容,输出测得的DTMF信号和输入要发出的DTMF信号,与C8051F020的I/O接口相连。12引脚CP2端为系统时钟输入,与读写控制端R/W配合完成MT8880的读写操作,RS0引脚为寄存器选择,TTL电平兼容。地址码可由0~9以及A~D组成。由于该系统应用领域的特殊性,地址码都经加密算法。当终端作为发射机时,DTMF编/解码部分把终端的地址码经一定算法加密后,调制成DTMF信号,再送入电台,便于网内其他电台识别。当终端作为接收机时,DTMF编/解码部分把所接收的DTMF信号解调成数字码,再经解密算法得到地址码。考虑到该系统阻抗与电台音频I/O接口阻抗可能不匹配,应在两者间加入一个音频变压器。
由于MT8880提供的标准微机接口和6800系列兼容,如果改用其他单片机控制。必须通过硬件或软件的方式模拟其工作时序。笔者在使用MT8880过程中发现,关键是为MT8880提供接口时钟信号CP2。其时钟周期tCYC的典型值为250 ns,实际上tCYC在0.167~1 0 s(6 MHz~100 kHz)之间取值,MT8880也仍能正常工作,故tCYC取值范围较宽,如图5所示。因此,CP2的产生比较灵活。

该系统中,通过C8051F020的引脚P1.0与MT8880的引脚CP相连,模拟MT8880所需的工作时序。
3.2 语音存储播放
语音存储播放模块选用ISD公司的ISD4004。该语音器件采用多电平直接模拟存储(Chip Corder)专利技术,声音无需经A/D转换和压缩,每个采样值直接存储在片内的闪烁存储器中,从而避免一般固体录音电路量化和压缩造成的量化噪声和金属声。图6为语音播放原理电路。语音输人通过话筒(MIC)直接与ISD4004的引脚IN+、IN-连接差分驱动输入。语音输出端则是通过LM386放大后连接到电台的语音输出端。系统采用键控分段录放音模式。通过录音键可录制10段不同的语音,每段录音对应键盘上一个按键,根据所接收到的语音信号,通过10个按键可播放不同的语音,使用方便、灵活。

4 系统软件设计
系统程序基于汇编语言编写,所有DTMF的收/发工作均由中断服务程序完成。主程序只负责初始化程序和键盘扫描。图7为主程序流程。图8为接收中断处理程序流程。图9为发送中断处理程序流程。


5 结束语
在某部队项目研制中,成功利用上述系统实现了电台身份识别及语音自动播放功能,实际使用情况证明,该系统接口简单、可靠,取得令人满意的效果。
评论