基于DSP的双通道数字语音监录器设计
扫描二维码
随时随地手机看文章
随着数字信号处理芯片(DSP)的发展,语音编解码技术日益广泛地应用于军事、民用和监控等领域。就语音监录器而言,它可应用于运输、公安、消防、电话服务质量监督等诸多领域。1999年9月,铁道部公布了《铁路运输数字通讯记录仪技术条件》,对铁路运输部门行车作业、调度指挥中使用的通话语音记录仪器的功能、技术要求、测量方法、检验规则等做出了详细规定。本文所介绍的系统符合其各项规定,通过了铁道部的鉴定,现正在推广与完善之中。
1 系统功能
· 采用FLASH半导体存储器,制成可插拔的卡式结构,存储容量可变。系统为双通道双卡式结构,目前设计的单卡可存储多达14小时的语音。系统也可在单卡状态下工作。
· 用户界面为键盘和液晶显示屏,包括时间显示和各功能操作的状态显示。
· 系统接在通讯线路上,即处于监听录音方式。当线上有语音传输时,系统即启动录音操作,并同时记录该语音的出现时间。用户可以对所录语音进行监听,确保语音已录制在存储卡上。录音过程循环进行,如果不将卡取出,系统将用最新的语音数据覆盖最老的数据,从而保证最新数小时的语音记录。录音属于系统后台操作。
· 用户可以进行放音、循环放音、快进、快退、按录音时间查找等操作,还可以获知每条语音的时间长度。这些功能受密码保护,为系统前台操作。
· 前台操作可以在两个存储卡之间切换,而后台操作则独立运行,不受前台操作影响,仅取决于线上是否有语音出现。也就是说,放音、监听、检索等操作均不影响录音,可以录放音双工同时工作。
2 系统整体模块设计
如图1所示,整个系统可分为FLASH存储卡、信号处理、信号输入输出、系统控制和电源管理等五个功能单元。
2.1 FLASH存储卡
韩国三星(SAMSUNG)半导体公司的大容量存储器具有很高的性能价格比,本系统选用三星的64兆位FLASH存储芯片KM29U64000来存储语音数据。该芯片工作在2.7~3.6V电压下,其命令、地址、数据线复用,8位宽度传输。可重复擦写一百万次,掉电后数据存储时间为10年。该芯片在5.3kb/s的码率下可存储3.5小时以上的语音,因而在采用4枚该芯片的存储卡上,可以记录多达14小时的语音信息。
2.2 信号处理单元
本单元包括数字信号处理器(DSP)、编解码器(CODEC)和一些控制器件。
DSP部分采用ANALOG DEVICES公司生产的16位定点数字信号处理器ADSP2181,这是本系统进行信号处理的核心芯片,它具有以下特点:
· 运算速度33MIPS,适合高质量中低速率语音编码算法的运算速度要求;
· 片内含80K Byte RAM,分为48K Byte的程序RAM及32K Byte的数据RAM;
· 两路独立可编程全双工串行通信接口,支持A律/μ律的硬件解压扩,支持自动缓冲区操作。这两个串行口在本系统中分别用来收发语音数据和与单片机通信;
· 4M Byte的外部寻址空间;
· 支持内外存之间的DMA操作,用于存储DSP程序、算法和数据;
· 13个可编程的I/O口,用于与单片机通信和可编程逻辑器件的控制。
DSP在系统中的主要作用是:(1)管理存储卡中的数据。由于要求系统的录音时间较长、数据较多,所以每一存储页采用了相同的数据结构,将语音数据和时钟数据混合存储。存储方式是顺序的,循环覆盖的。(2)录音。随时监听线路,进行语音编码,并将压缩后数据实时存入FLASH芯片。本系统采用了根据ITU-T标准G.723改进的语音编码算法,压缩码率达到5.3Kb/s,具有出色的语音质量。(3)放音。根据单片机命令进行语音解码。(4)语音搜索。包括按语音段跳转、按3秒长的时间段跳转和按用户输入的时间查找三个功能。
DSP是本系统的核心处理芯片,由于录音是后台操作,要求在放音时不中断录音,所以编解码过程是双工的;此外,由于存储的数据较多,如果采用普通的顺序查找方式,搜索过程所耗费的时间可能会以秒计,所以程序采用了二分法,以提高搜索效率。
与ADSP2181配套使用的CODEC(PCM编解码器)是MOTOROLA公司的MC145480。该芯片可实现语音信号的A/D转换、D/A转换和A律、μ律压扩,内置R-C滤波器可有效滤除输入和输出信号的带外噪声。可以同ADSP2181配合使用的CODEC很多,性能也没有太大差异,所以这里在芯片选择上并没有特殊的考虑。
2.3 信号输入输出单元
本单元为全模拟电路,完成输入信号的混合、增益控制以及输出信号的放大功能。当系统被配置成双卡双通道机型时,每通道可接入增益不同的两路信号;当配置成单卡单通道机型时,可接入四路信号。除此以外,还有一路话筒输入,主要用作系统测试。系统对两个通道的接入信号都设有自动增益控制,控制范围可达15dB。在该范围内,电路可将输入信号调整到最适合CODEC工作的幅度,从而使DSP的编码达到最佳效果。输出电路相对比较简单,两路CODEC的模拟输出信号经功率放大器后驱动扬声器工作。
为了适应铁路部门具有不同增益的信号通道,同时尽量减小DSP的编解码对语音质量的损失,需要性能优良的模拟电路。本电路单元是在试验中根据用户需要和整机调试结果,经过多次修改后才完成的,它与其它单元配合,可使DSP的编解码算法达到其最佳性能。[!--empirenews.page--]
2.4 系统控制单元
选用SAMSUNG公司的4位单片机KS57C2308,用以提供友好的用户界面和灵活的功能控制,同时对DSP的工作状况进行监督,保证系统工作的稳健性,这在监录系统中是非常必要的。KS57C2308工作电压较宽,可以直接驱动段式液晶。其I/O功能也较强,能够轻松地控制两块DSP芯片协同工作。
为了与DSP协调工作,本系统设计了23条单片机命令及相应的DSP应答,其中包括初始化、放音、音量调节、时钟的获取与修改、各种跳转与搜索等指令。由于录音过程由DSP自主控制,所以单片机命令集中不包含录音命令,DSP仅用一条信号线将录音状态告知单片机。时钟由单片机程序运行,每秒钟都向DSP通报新的时间。DSP在存储语音数据时也将时间存入,这称为"时戳"。当执行"按时间查找"操作时,就是按照存储卡中的时戳查找语音数据段。
2.5 电源管理单元
本系统各单元需要彼此尽可能独立而且可靠的电源,这部分工作由电源管理单元完成。本单元可接入220V交流或者12V直流电,向其它单元提供电源。
(1)存储卡:3.3V电源。这一路电源经由信号处理单元提供。
(2)信号处理单元:5V一路,给本单元各部件供电。
(3)信号输入输出单元:9V(未经稳压)一路,给功放供电;5V一路,给本单元其它部件供电。
(4)系统控制单元:9V(未经稳压)一路,给液晶显示的背光及蜂鸣器供电;5V一路,给本单元其它部件供电。
以上各电源之间充分隔离,以尽量消除数字信号对模拟信号的串扰。此外,本单元还为单片机提供上电复位信号,保证在系统电压稳定之后再启动单片机工作;本单元又为DSP提供了掉电警告信号,在外部电压衰落时提前告知DSP,使其有足够时间完成现有操作,转入安全状态,以免在电压不稳定时向存储卡写入数据,致使卡上数据损坏。
3 系统软件的实现
本系统的软件设计包括单片机部分和DSP部分,从功能上可以综合叙述为图2所示流程。
程序共有五个工作状态,通常处于"普通监录状态",可以进行监听,以确保系统正常工作。进入其它四个状态之前需要校验密码,所以只有掌握密码的管理人员才有权查找和播放所存储的语音内容。软件不设录音命令,但其它功能,如监录、音量增减、按条目或3秒钟长度向前跳转、向后跳转、按时间检索、密码重置等等都单设一条命令,在DSP程序中对应于不同的程序模块。此外,DSP程序中还含有语音编码和语音解码两大模块,由DSP主程序调用。
4 系统性能评测
本系统在铁道部测试时表现优异:信噪比大于50dB;失真度小于5%;以1000Hz为基准,语音带内的幅频响应在±3dB以内;每月时钟误差小于一分钟。除此以外,在起录灵敏度、耐压、输入阻抗、输出阻抗、功率输出、线路输出、记录时间长度等各方面的测试结果也完全满足《铁路运输数字通讯记录仪技术条件》的要求。而且,双卡双通道结构、后台录音功能、高语音质量都使本系统具有很强的市场竞争力,现已投入小规模生产。