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

2006-12-11 16:03:44来源: 电子设计应用

前言

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

硬件系统组成

该语音记录设备如图1所示,整个系统由ADC、DSPCPLD控制器,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的下降沿表明一帧数据的起始,上升沿表明一帧数据的结束。

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

语音编码器TMS320VC5402

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

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

CPLD低速控制

DSP作为高速的运算处理器不合适低速的控制应用。对UDA1341TS检测、初始化,对LCD的控制以及对Flash的存储控制都是低速的控制。本系统选用CPLD来完成这些工作。CPLD为Altera公司的EPM7128S,开发仿真环境为Altera公司的MAX-PLUSII。因为DSP的地址线A0、A1、A2要被某些芯片使用,所以选取A3-A7、A15共6根地址线和I/O空间选择信号IS的反共同产生系统中各芯片的选通信号。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个中断输入INTR3反—INTR0的反。CPLD的中断选择模块可以从最多8个外部中断信号中选择4个作为C5402的中断输入,提高了系统的灵活性。

软件设计

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

ADC的程序设计

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

语音数据编码

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

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

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

结语

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

关键字:监控  DSP  CPLD

编辑: 引用地址:http://www.eeworld.com.cn/qcdz/qt/200612/3145.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
监控
DSP
CPLD

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved