摘要: 使用CPLD与音频专用数模/模数集成电路实现音频精确延时系统,详细阐述了设计思路并给出了系统自顶向下的设计过程。
关键词: CPLD;音频A/D、D/A;延时
引言
音频的时间延迟传统上使用延迟线或电荷耦合器件实现,这在民用设备中有着广泛的应用。最常见的是卡拉OK机的混响系统,它使用延迟一定时间的信号产生回声的效果。某些专用的BBE器件,如三菱的M58000系列,内部采用了数模和模数转换技术,内置动态RAM存储数据,某些芯片可以通过调整其时钟频率或有专用引脚调整延时量。可调范围在数百毫秒量级,误差在毫秒量级。这些芯片普遍采用较低的采样速率,仅对输入信号的低频分量进行处理,采样位数也多为8位以下。这在一般应用中,特别是卡拉OK机这类对音频指标要求较低的应用中完全足够了。而在“调频同步广播”项目中,涉及多个发射台干涉区的准确同步问题,要求延迟量精确到微秒数量级并且能依据两发射台间的距离做调整,几个微秒的时延误差就会对干涉区的收听质量产生很大的影响,甚至不能正常收听。并且调频广播对音质有较高的要求,所以设计出来的系统必须达到广播级的音频指标,左右声道的延时应该同步调节,以满足立体声分离度的要求。很明显,前述的各类现有器件远不能满足需要。
受到新型数字混响器件原理的启发,设想采用高指标的数模模数集成电路实现这样一个系统。随着数字集成电路技术特别是大规模可编程逻辑器件技术的发展,一个数字系统已可以集成在一片可编程芯片上,因此采用CPLD设计时序及逻辑电路是最佳方案,考虑音频采样频率达到48KHz即可满足要求,存储器可以采用通用的RAM,速度在150ns的也可满足需要。理论及实践证明,以上方案是完全可行的。
系统设计
图1 系统框图
系统方框图如图1。前级来的音频模拟信号首先进入A/D转换器变成数字信号,由CPLD产生存储器的读写时序并把音频数据依次存入存储器中。也由CPLD产生存储器读时序,把数据依次读出并送到D/A转换器恢复成模拟的音频信号,经低通滤波器输出。存储器的地址由一个循环计数器产生,控制写入和读出的地址(地址间隔),就可实现定量延时。考虑到当前大部分音频专用A/D、D/A芯片采用串行数字接口,特别是在音频领域占统治地位的Σ-Δ类型的芯片,这样的设计应由以下几部分组成:
*串并转换部分,用以把A/D来的串行数据转变成存储器RAM的并行数据;
*存储器时序产生部分,用以产生存储器的读和写两个地址信号;
*延时调整部分,用DIP拨动开关预置读和写两种情况下的地址之差;
*并串转换部分,用来把RAM的数据转换成D/A需要的标准串行数据流;
*左右声道校正部分,保证左右声道读出的顺序;
*晶体振荡器,产生系统所需的时钟信号,保证系统时钟的准确和稳定。延时量的准确性和稳定性由它保证(使用外频标可以进一步提高其准确度);
*一些辅助电路,用来校正由于门电路的延迟造成的时序和逻辑错误。
采用自顶向下,逐步细化的设计方法,顶层用电路示于图2a和2b。
图2a 延时量预置、RAM地址和左右声道同步