DIY编程器网
标题:
基于DTMF方式的身份识别及语音自动播放系统
[打印本页]
作者:
liyf
时间:
2012-1-16 17:26
标题:
基于DTMF方式的身份识别及语音自动播放系统
1? 引言
由于电台多采用全透明的传输方式,只要频段相同,就可以接收到同频段上发送的语音信号,这样就无法准确辨别信号是否有用。带有语音加密功能的电台则可以避免这种情况,但在一些要求保密性高的领域或场所,如军事领域,拦截者一旦破获我方的加密信号,发出一段误导性的语音信号,我方则无法辨别,可能会造成一定损失。因此,这里介绍一种基于C8051F单片机,以DTMF编码的方式识别电台身份的系统。该系统使用简单,在不改变电台原有特性的基础上,只需和电台的扩展口连接,便可实现对电台身份的识别。即使对方破解了语音信号,还可通过地址编码来分辨电台的身份。该系统在保密性要求高的场所有一定应用前景。
2? 系统组成与工作原理
图1为识别电台身份系统结构图。单片机选用C8051F020,DTMF单元选用MT8880双音多频器,语音存储播放模块采用ISD4004,另外还有显示单元、存储单元、键盘。
系统工作原理:作为发射机时,电台按下FTT键,PTT从高电平变为低电平,并将该信号送入单片机,单片机的中断程序将本机的地址码通过数据接口送至MT8880,经MT8880调制后送入电台的音频输入接口,伴随语音信号一同发送。作为接收机时需分多种情况,如图3所示。
该系统采用单端输入方式,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的产生比较灵活。
4? 系统软件设计
系统程序基于汇编语言编写,所有DTMF的收/发工作均由中断服务程序完成。主程序只负责初始化程序和键盘扫描。图7为主程序流程。图8为接收中断处理程序流程。图9为发送中断处理程序流程。
5? 结束语
在某*项目研制中,成功利用上述系统实现了电台身份识别及语音自动播放功能,实际使用情况证明,该系统接口简单、可靠,取得令人满意的效果。
欢迎光临 DIY编程器网 (http://diybcq.com/)
Powered by Discuz! X3.2