原创 基于MPEG-2算法的列车语音记录设备

2008-5-31 20:52 1476 7 7 分类: 模拟
 来源:电子设计应用 作者:刘建伟 王蕾 牛涛 申建德 赵江海

    


    摘 要:本文介绍了一种新型列车语音记录设备的系统架构、特点和软硬件实现方法。运用DSP技术对语音信号进行处理、压缩和记录,实现了机车语音联控和列车当前状态信息的记录,进而规范乘务员的工作用语并协同监控装置分析行车故障。


    


    关键词:A/D转换;语音数据编码;循环冗余校验


    


    前言


    


    列车运行监控记录装置在铁路的安全运输过程中发挥了巨大的作用,但不足的是没有语音记录功能。为了解决这个问题,按照铁道部的技术要求,本文研究开发了一种新型列车语音记录设备。该设备主要用于对乘务员机车联控进行录音,并可协同监控装置分析行车事故,为机务部门和运输部门的科学管理提供新的技术手段。鉴于常见设备的技术指标及标准,对于语音的数字化,以16KHz的采样频率、16位量化精度进行采样,在编码方面,采用MPEG-2压缩编码方式。


    


    硬件系统组成


    


    该语音记录设备如图1所示,整个系统由 ADC、DSP、CPLD控制器、Flash大容量存储器及LCD显示屏等组成。


    


    在本系统中,ADC用来完成信号的转换,数据格式在16、18、20位之间可选,DSP为系统的核心数字处理器,功能强大,完成数字信号的压缩编码,CPLD用于数据传送的控制以及对ADC、Flash和LCD显示屏等器件的初始化检测设置, Flash用来存储数据, LCD显示屏用来显示当前系统的状态,如运行等待和数据处理等。系统上电后,若有语音信号,则输入ADC,得到一串数字信号送入DSP 进行数据压缩编码,经过压缩编码的数据由CPLD存储到Flash中,整个系统以流水线的方式工作,数据的采集、压缩编码和存储同时进行。


    


    A/D转换器UDA1341TS


    


    UDA1341TS是由Philips公司生产的一款单片立体声A/D、D/A转换器,工作电压为3.0V,信噪比为97dB,具有双通道输入功能,采样频率在16,32和44.1KHz之间可选。


    


    UDA1341TS与DSP构成语音信号采集系统,主要涉及到位采样时钟(BCK)、字同步时钟(WS)、采样数据输出(DATAO)、系统时钟输入(SYSCLK)这几个对时序有要求的引脚。系统中,DATAO作为输出引脚,与DSP的BDR0引脚相连;BCK、WS、SYSCLK作为输入引脚,其时序由DSP供给。UDA1341TS的系统时钟只能是256Fs、384Fs、512Fs,通过对状态寄存器的SC0位和SC1位编程可实现系统时钟的选择设置。这里Fs是语音信号的采样频率。在采样数据时,WS用来指明UDA1341TS的DATAO输出的有效数据。当系统对VINL(左声道)端口进行采样时,WS的上升沿表明一帧数据的起始,下降沿表明一帧数据的结束;当系统对VINR(右声道)端口进行采样时,WS的下降沿表明一帧数据的起始,上升沿表明一帧数据的结束。


    


    5935_1_0801170059.jpg


    


    图1 系统总体结构图


    


    UDA1341TS提供了一个L3端口,利用CPLD控制器对L3的L3DATA、L3MODE和L3CLOCK三个引脚进行编程,可以设置其内部的寄存器。当L3MODE引脚为低电平时,通过L3DATA引脚输入寄存器地址信息;当L3MODE引脚为高电平时,通过L3DATA引脚输入有关寄存器设置的数据信息(如设置芯片系统时钟频率、数据输入格式、芯片工作模式等)。UDA1341TS与DSP的McBSP(多通道缓冲同步串口)相连,各种同步信号由DSP产生,这样就保证了新数据的正常接收以及已接收数据的正常处理。UDA1341TS与DSP的硬件连接如图2所示。


    


    语音编码器TMS320VC5402


    


    数字语音信号的压缩需要大量的数字信号处理,一般单片机是无法完成的,所以本系统选用TI公司的DSP芯片TMS320VC5402(以下简称C5402)对语音信号进行压缩处理。


    


    C5402通过它的McBSP与语音采样转换器UDA1341TS通信。McBSP提供了全双工的通信机制,以及双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输,数据宽度在8、12、16、20、24、32位之间可选; McBSP与ADC的通信通过BDR0引脚实现,通信过程的控制则由BCLKR0、BCLKR1、BFSR0等三条引脚实现。


    


    5935_2_0801170100.jpg


    


    图2 UDA1341TS与DSP的硬件连接图


    


    CPLD低速控制


    


    DSP作为高速的运算处理器不适合低速的控制应用。对UDA1341TS检测、初始化,对LCD的控制以及对Flash的存储控制都是低速的控制。本系统选用CPLD来完成这些工作, CPLD为Altera公司的EPM7128S,开发仿真环境为Altera公司的MAX-PLUSII。因为DSP的地址线A0、A1、A2要被某些芯片使用,所以选取A3-A7、A15共6根地址线和I/O空间选择信号共同产生系统中各芯片的选通信号。CPLD中的控制电路


    


    负责产生各种读写信号,如Flash的读信号MEM_RD和写信号MEM_WR等。


    


    在该系统中,C5402要产生许多控制信号(如Flash程序页的选择信号PPG2-PPGO等),同时也要监视和读取外部的状态。因为C5402只有两个通用I/O引脚,所以用CPLD来对其进行I/O端口扩展。CPLD内部通过一个8位DFF触发器实现对数据的输出。另外,通过8个三态门,将8位输入状态放到C5402数据总线的低8位上。C5402有4个中断输入。CPLD的中断选择模块可以从最多8个外部中断信号中选择4个作为C5402的中断输入,提高了系统的灵活性。


    


    5935_3_0801170100.jpg


    


    图3 系统主程序


    


    软件设计


    


    软件设计主要包括ADC的程序设计,语音数据的压缩编码等。


    


    ADC的程序设计


    


    ADC以16KHz的采样频率、16位量化精度进行采样,采样的位同步信号、帧同步信号、数据位时钟信号均由DSP提供,所以对McBSP相关寄存器的编程,如引脚控制寄存器(PCR)的编程,串口控制器(SPCR1,SPCR2)的编程,接收控制寄存器(RCR1x,RCR2x)以及发送控制寄存器(XCR1,XCR2)的编程会影响语音信号的最终效果,所以用户在开发之前必须详细参阅相关资料。


    


    5935_4_0801170101.jpg


    


    图4 帧内编码流程


    


    语音数据编码


    


    本文采用通用的MPEG-2语音压缩编码算法,该算法是帧数据结构编码,一帧的样点值是576,以UDA1341TS 的16KHz采样频率计算,一帧数据的编码要求在72ms内完成。C5402的指令周期是10ns,在满足算法要求的情况下,进行双通道实时编码约需要10ms,所以C5402可以完成该算法的实时编码。主要包括以下几方面:滤波器组的运算;心理声学模型的运算; 量化编码;帧数据格式化。


    


    滤波器组的作用是完成信号从时域到频域的映射。心理声学模型的计算是利用1024点的FFT,对输入的语音信号进行频谱分析,再结合时频映射的结果,计算出各子带人耳的掩蔽特性。量化编码是通过各子带人耳的掩蔽特性和输出比特率的要求,计算出各子带编码所需的比特分配信息,并且对各子带数据进行线性量化编码的过程。程序的后续工作是按照MPEG-2标准对数据进行格式化,其目的是使数据编码后能被正确地解码,系统主程序如图3所示。


    


    帧内编码是DSP按照MPEG-2标准对ADC传来的数字语音信号进行压缩编码,其流程如图4所示。


    


    结语


    


    系统上电运行后,经多次实验测试,运行情况稳定。目前该设备已经进行现场调试运用,开始部分装车运行,满足了列车语音记录的实际要求。


    


    参考文献:


    


    1 Philips Semiconductors. UDA1341TS Product specification [Z].Netherlands:Philips Semicon ductors,2002

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条