问:我们在课题中用到了Cypress公司的四通道收发器CYP(V)15G0403DXB,请问在DVB-ASI、 SMPTE 259M及SMPTE 292M等数字视频传输应用中如何配置才能达到更好的效果?(成都电子科技大学 曾璞)
Cypress公司工程师 王锦锁答:
CYP(V)15G0403DXB是HOTLinkII家族中具有各通道独立参考时钟特性的四通道收发器。具体配置如下:
DVB-ASI协议配置
HOTLinkII系列器件支持DVB-ASI工作于270Mbaud,在该速率下特定通道的SPDSELx应设为低电平。 根据DVB-ASI标准, 指定通道的参考时钟REFCLK±稳定性必须达到±100ppm。这必须是全速率的27MHz时钟。半速率的REFCLK±是不允许的,因此TXRATEx应设为“0”。同时参考时钟的抖动指标必须确保 HOTLinkII的串行输出满足DVB-ASI抖动指标。
如果TXCLKx 作为锁存输入并行数据到输入寄存器的时钟(TXCKSEL=0), 则应与REFCLKx 同步。相位校准缓存在TXCLKx出现且TXPLL锁定REFCLKx频率后必须复位。由于HOTLinkII发送模块具有内建的8B/10B编码器,在使能的情况下(ENCBYPx=1)可将8bit的原始数据依照DVB-ASI标准编码为10bit,以便传输。接收模块具有内建的10B/8B解码器,在使能的情况下(DECBYPx=1)下,可将接收的10bit数据依照DVB-ASI标准解码为8bit数据。
对DVB-ASI数据的接收推荐采用Cypress模式的多字节帧结构(RFMODEx【1:0】=“10”。在这种模式下,只有在50bits的范围内选定的帧特征字符至少两次被检测到,字的边界才被确定。DVB-ASI中所有传输包均要插入两个连续的K28.5字符。当该特征字符被HOTLinkII的接收器检测到后,即符合了Cypress模式的多字节帧结构,因此字符边界也得以确定。通过设置FRAMCHARx=1即可把帧特征字符设为K28.5。
接收到的数据可采用线路恢复时钟(RXCKSELx=0)或是本地参考时钟REFCLKx±(RXCKSELx=1)从输出寄存器推到下级逻辑。当REFCLKx±被用作输出寄存器的时钟时,数据从弹性的缓存读出。该弹性缓存从数据流中插入或删除K28.5字符,以消除数据流同本地参考时钟的频率差。因此,必须在传输数据流中插入足够的K28.5字符以备插入或删除。接收时钟必须设为全速率(RXRATEx=0)。接收的字符将在RXCLKx+上升沿或RXCLKx-下降沿被锁存。
SMPTE 259M 及SMPTE 292M协议配置
当CYV15G0403DXB工作在SMPTE 259M速率(270Mbps和360Mbps)时,SPDSELx应设为低电平;当工作在SMPTE 292M速率(1.485Gbps或1.485/1.001Gbps )时,SPDSELx应设为高电平。
根据SMPTE标准,REFCLKx±必须具有±100ppm的稳定性。对SMPTE 259M推荐使用全速率稳定的时钟源作为参考时钟。而对SMPTE 292M来说,REFCLKx±参考时钟必须为148.5MHz±100ppm或148.5/1.001MHz±100ppm。HOTLinkII 的接收时钟和数据恢复锁相环可以锁定在任一频率上。参考时钟的抖动指标必须确保从HOTLinkII 输出的串行数据的抖动指标符合SMPTE标准。
TXCLKx作为锁定从并行数据到输入寄存器的输入时钟 (TXCKSELx=‘0’),必须与REFCLKx同步。相位校准缓存在TXCLKx出现且TXPLL锁定REFCLKx频率后必须复位。对SMPTE 259M及SMPTE 292M来说8B/10B编码器和10B/8B解码器必须被旁路(ENCBYPx=0且DECBYPx=0)。上游扰码器提供的10bit的原始数据作为并行输入被串行化后再串行输出,反之亦然。
在SMPTE 259M及SMPTE 292M下,HOTLinkII 帧应该永久禁止(RFENx=0)。如果使能HOTLinkII帧,则一旦某个与成帧序列相同的序列被检测到,就会发生帧误判断及丢失数据。视频解码的数据就会发生误码。当帧检测被禁止,RFMODEx【1:0】将不解释。它可被设置为,除为测试预留的RFMODEx【1:0】=11外的任何模式。帧检测禁止时FRAMCHARx将不被解释。
接收的数据将被恢复时钟(RXCKSELx=0)输入到上游逻辑。接收的时钟则必须设为全速率( RXRATEx=0)。接收的数据在每个RXCLKx+的上升沿或RXCLK-下降沿被锁存。