本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
摘 要:在专业网络音频传输系统中,由于晶振制造工艺、环境温度等因素导致主从节点音频时钟产生差异,引起系统失真率串升。而系统中以太网按照音频采样时钟的节拍来传输音频数据包。为此提出一种在物理层和MAC层的MII接口处进行音频采样时钟恢复的方案,同时设计相应的时钟调整算法进行晶振频率补偿,以提高主从节点音频时钟的同步性。在Xilinx FPGA平台上进行实际测试验证,结果表明,传输系统的失真度(包含模数和数模转换产生的失真)小于0.005%,长期运行的结果也表明了系统时钟同步的稳定性。
关键词: 时钟同步; 网络音频; Hi-Fi; 介质无关接口(MII)
网络化是专业音频传输技术的发展方向[1]。与消费领域的流媒体播放技术不同,本文所述的音频传输系统主要针对体育馆、演唱会等专业应用场合,要求系统能进行实时、高保真音频[2]传输。这对传输系统的频率特性、信噪比等指标提出严格的要求。然而模拟音频数字化导致音质受限于音频时钟的质量。现实环境中,由于温度、系统老化等各种因素的影响,导致不同节点的音频时钟出现差异。这种差异会使节点DPRAM数据交互出现错误,对系统频率特性、信噪比产生不良影响。因此,运行良好的音频传输网络必须通过某种方式来实现这种音频数据采集与播放的同步性。
目前基于以太网的时钟同步技术[3]已经比较普遍,比较主流的是IEEE1588,主要采用增加时间报文的方式来实现同步,在普通流媒体、实时控制与测量等应用场合中尚可满足要求。但在进行实时、高保真专业音频传输系统中,必定影响音频传输的实时性。本文对网络音频传输系统的数据流特性进行分析,提出了一种在物理层和MAC层的MII接口处进行音频采样时钟恢复的方案,同时设计相应的时钟调整算法来满足音频数据采集与播放的同步性。并在Xilinx FPGA平台上进行了验证,证明本方法可以有效解决网络同步性问题,减少音频信号失真、提高音频传输系统的保真度。
1 原理与方法
网络音频传输系统示意图如图1所示(图中为点对多点模式)。系统包含多个音频传输节点,各个节点均有自己的MAC地址。每个节点连接多个音频通道,分成输出通道和输入通道。节点分为主节点和从节点两种。主节点将A/D转换后的音频数据按以太网帧格式进行封装,通过以太网发送出去;从节点则对由以太网上获取的音频数据帧进行分解,提取需要的音频通道数据,然后发送给输出通道,经过D/A转换后输出。
1.1音频传输系统工作原理
本文所述网络音频传输系统基于以太网构成。系统有三种工作模式:点对点传输模式、点对多点传输模式、菊花链传输模式。后两种工作模式下,系统只有一个主节点,其余均是从节点。采用点对点发送方式时,收发设备之间的网络流量不会影响网络中的其他设备,但数据只能定向发送。采用点对多点(见图1)发送方式时,发送端完成一次发送,由交换机将该数据广播至所有其他端口。采用菊花链发送方式时,网络数据保持单向流动并采用广播数据包模式。因此,任意一种模式下,系统传输数据包时都不会产生数据帧碰撞,避免了介质访问时间引起的报文延迟变化。
为满足实时性要求,音频传输系统在A/D完成一个音频采样周期采样后,立即对并行输入通道的采样数据进行封装,并通过以太网传送,这样以太网传输数据包的频率和音频采样时钟的频率保持一致。因此,本文定制了在从节点进行主采样音频时钟提取的策略。
1.2 在MII接口处提取采样时钟
根据1.1节所述的网络数据流特性,提供了在从节点提取采样时钟的理论依据。方法如下:
音频传输系统在传输音频数据帧时,采用广播帧模式。当系统进行通道配置时,所发命令帧和状态帧(见图1)的目的MAC地址为子节点的MAC地址。这样可以根据以太网帧中的目的MAC地址来判断系统是否开始实时音频数据传输,从而开始进行音频时钟同步。
基本原理是对接收到的以太网帧的目的MAC地址进行判断。如果是广播帧,则判定为是主节点音频时钟的上升沿;如果是以太网包结束,则判定为是主节点音频时钟下降沿。音频采样时钟提取结果如图2所示。
1.3 影响音频时钟同步的因素与相关分析
引起主从节点音频采样时钟不同步的因素有多种,本系统中主要可归结为以网络传输的延时抖动和晶振频差。
1.3.1 网络传输延时抖动[4]及累积效应分析
如前所述,系统在任意一种工作模式下均能保证不发生数据帧碰撞,故可以认为网络传输延时的变化范围很小。网络传输的延时抖动反映了单个时钟周期的差异,不产生累积效应。
1.3.2 晶振频差及累积效应分析
晶振频差是指包括由频率温度稳定度、频率老化率造成的偏差等共同造成的最大频差。晶振频差产生的主要因素包括:晶振的加工差异、机械老化差异及温度引起的漂移等。
本音频传输系统是如体育馆这样的大型应用场合出于安装需求,不同子节点所处地点的温度会存在比较大的差异。
1.4 时钟调整
FPGA内部与时钟调整相关的模块如图3所示。该模块是整个同步系统的核心部分,包含主节点音频采样时钟提取模块、本地时钟与主时钟比较模块、分频系数调整模块。主节点定义参数有:本地音频时钟为fM,音频采样时钟为fLRCK_M,时钟为fBCK_M。从节点中与此对应的参数分别为:fS、fLRCK_S、fBCK_S。调整的目的是要保证从节点的fLRCK_S与主节点的fLRCK_M精确一致。同时在一个从节点采样时钟周期内将64 bit数据通过从节点位时钟均匀发射出去,以提高主从节点音频采样时钟的同步性。
主节点位时钟分频系数定为a,则有:
根据式(3)可以得到精确时钟同步方法:
式(4)、式(5)为最终的精确时钟调整算法。在本系统中,本地音频时钟为24.576 MHz,音频采样时钟为48 kHz。系统所使用的FPGA最高可工作在300 MHz,具备了时钟倍频及时钟偏移消除功能。本文为获得较高时钟解析精度,采用的倍频系数为8,调整精度达到5 ns。
2 测试结果及分析
测试平台的架构如图4所示。系统工作模式为点对点传输模式,中间加入交换机,两边各用100 m网线连接音频传输节点。平台从两方面对同步算法进行了测试,具体如下。
2.1 对比测试主从音频采样时钟同步性
采用双通道数字示波器DPO7254对主从节点的音频采样时钟LRCK和位时钟BCK进行比较。为了方便观察信号,主要对LRCK进行观察分析。具体方法是:示波器采用1 MHz采样率,双通道记录主从节点音频采样时钟LRCK波形,记录时间为10 s左右。再对记录数据进行观察分析。
(1)没有进行时钟同步调整前,从示波器记录的数据中可以观察到主从节点之间音频采样时钟(LRCK)出现明显的不同步,从节点时钟较主节点时钟要快。对主从节点音频采样时钟累积时差达到一个采样周期所需的时间进行准确测量。20次记录波形数据,测量并计算得到的平均值为2.988 s。
(2)进行时钟同步调整后,20次记录波形数据,可以观察到主从节点音频采样时钟保持很好的同步性,两者之间的长时累积时差与短时累积时差均在很小范围内波动,没有发生主从节点音频采样时钟累积时差达到一个采样周期的情况。
示波器改用2 GHz采样率,记录时间为200 ms左右。20次记录波形数据,测量主从节点100个音频采样时钟周期的累积时差,结果均不超过100 ns。
2.2 对比测试系统失真率
AP音频分析仪(简称AP)属于精密音频分析仪器,自身带有标准音频信号发生源及音频分析仪。AP对源信号和反馈信号进行对比分析,得出传输系统的失真率。结果对比如下:
(1)没有进行时钟同步调整前,AP显示系统失真率在0.003%上下波动,但是平均3 s左右系统失真率会串升至2.6%上下。专业音频的失真率指标上限为0.05%。说明反馈信号出现严重失真。
(2)进行时钟同步调整后,AP显示系统失真率在0.006%上下波动,串升至2.6%上下的情况消失。
(3)去除交换机、采用100 m cat-5网线直连两个节点,同时进行时钟同步调整后,AP显示系统失真率依旧在0.006%上下波动,但串升至2.6%上下的情况消失。
2.3 数据分析
2.3.1 数据交互错误对失真率的影响
2.1节中记录数据交互出现错误的平均周期?驻T为2.988 s,目测AP显示失真率串升的周期为3 s左右,基本一致,可以判定失真率串升是由数据交互错误引起的。两者之间具体的对应关系尚需探讨。
2.3.2 网络延时抖动对失真率的影响
2.2节中记录时钟同步调整后系统失真率有所上升,由于从节点时钟同步调整参考的对象是从网络音频数据流中提取到的音频采样时钟,网络传输的延时抖动被引入到从节点音频采样时钟(LRCK)中。相比没有调整前的音频采样时钟,时钟抖动有所提高,导致D/A 转换精度和信噪比都下降。具体原理见参考文献[5]。
2.3.3 交换机对失真率的影响
2.2节中记录时钟同步后加入交换机与移除交换机相比,系统失真率没有发生明显变化,说明交换机的存在不会引起失真率变化;交换机延时值固定,不会引起网络抖动。
本文根据实时网络音频传输系统的数据流特点,提出从音频数据帧中提取主节点音频采样时钟,可直接在本地节点对其进行采样分析,通过本文提出的时钟调整算法使主从音频时钟保持高度同步。同时时钟调整模块能对主节点采样时钟进行实时跟踪,随时根据主节点采样时钟变化作出调整,使主从节点时钟保持高精度同步。而传统的网络时钟同步机制大多参考IEEE1588精密时钟协议,需要在主从节点之间传输同步帧,并不适合实时专业音频传输。本文所述的时钟调整算法不仅节约了网络资源,同时提高了时钟同步调整的效率,能有效解决高保真实时音频传输中的时钟同步问题。
参考文献
[1] BOUILLOT N, COPPERSTOCK J. Aes white paper best practices in network audio[J].Journal of the Audio Engineering Society,2009,57:729-741.
[2] GIOVANNI B, FABIO D. Instrumentation and measurement technology conference[C]. The performance evaluation of Hi-Fi Interconnection Systems,Ottawa, 2005.
[3] JOHN C E,MICAEL C F. Sensors for industry conference [C]. 1588 IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,2002.2nd ISA/IEEE,2002:98-105.
[4] 孙文杰.局域网时钟同步精确时间标记方法的研究[J].仪器仪表学报,2007,30(1):163-169.
[5] 杨小军,陈 曦,张庆民.时钟抖动对ADC变换性能影响的仿真与研究[J]. 中国科学技术大学学报,2005,35(1):67-72. |