在ML571上实现ASRC的实例
被称为视频帧同步的简单功能,很 好地展示了 ASRC的主要用途。视频信号能以某一速率被存储到帧缓存器中,并以另一个稍微不同的速率被取出。如果视频设备的两个部分之间没有被“同步锁相”,并且工作在不同的像素率下,这一过程将十分有用。
结果是偶尔需要添加或丢弃一帧视频数据。人眼可能不会注意到在电视屏幕上添加或丢弃的视频帧,但人耳却能很好地发现在音频上类似的差异。解决方案是在开始的视频数据流中先去除音频数据,随后再将其插入到具有微小数据率变化的数据流中,并使输出 音频的采样率与新的输出视频的采样率相匹配。Xilinx ASRC 参考设计十分适合完成这样的任务。
例如,让我们将两块由不同的时钟振荡器导致的SDI视频采样率有微小差别的板卡连接在一起。接收板将嵌入的AES数字音频信号从视频流中分离出来,并将其送至 ASRC。需要使用帧缓存同步逻辑,通过添加或丢弃视频帧,来处理两块板卡间时钟频率的差异。ASRC 调节解嵌的音频,来与输出视频流的时钟速率匹配,使其能被重新嵌入到输出 SDI 视频流中。(需要使用帧缓存同步逻辑,通过添加或丢弃视频帧,来处理两块板卡间时钟频率的差异。ASRC 调节去嵌入音频,来与输出视频流的时钟速率匹配,使其能被重新嵌入到输出SDI 视频流中。)
框图和性能优势
图5中的简单框图显示了 ASRC 中所必须的两个关键设计部分。第一个部分用来确定输入采样率和输出采样率之间的变化,用“比例控制”标出。第二个部分“二次采样器”是一组原型滤波器,按照比例控制所提供的统计数据进行变化。
图5 XilinxASRC参考设计的顶层框图
ASRC 参考设计将立体声音频从一个采样频率转换到另一个采样频率。输入和输出频率可以互为任意的比例,或为基于不同时钟的同一个频率。输出是输入的带宽限制版本,输入被重新采样,来与输出采样时序匹配。参考设计有如下这些特点:
全异步工作
可扩展至多条通道
最差情况下 -125dB 的THD+N,典型情况下 -130dB的 THD+N
24位音频字宽度的输入和输出,31位的内部数学精度和远离0的进位
自动监视输入到输出的采样率之比,不断对滤波器进行调整
连续的有理数/小数比例,上变频为8:1
连续的有理数/小数比例,下变频为1:7.5
具有自适应滤波功能的连续输入到输出采样率监视
输 入/输出采样率在8kHx-192kHz连续范围内
更低的确定性延迟
参考设计有一个内插系数的FIR滤波器,它由 Virtex TM -5 中作为主数学单元的DSP48E和用作输入采样缓存和原型存储的block RAM来实现。
结论
为不同数量数字音频通道维持不同的输入到输出音频采样率,并支持新的 AVB功能的需求是一个巨大的挑战。从变化的协议、存储器管理、不同的负载和不同的系统接口等方面,很容易看到这些设计需要 ASSP 和 ASIC 所无法提供的高性能和低成本的灵活性。这些挑战为 Virtex-5 器件创造了机会,因为这些器件能够让设备厂商针对不断发展的AVB设备市场创建相应的解决方案。