DVB-C视频传输接口ASI的实现

网友投稿 452 2022-10-26

DVB-C视频传输接口ASI的实现

1 SPI信号结构

2 ASI接口

图2 基于同轴电缆的ASI传输系统框图

到达同轴电缆的接收数据,首先要经过连接器和耦合网络耦合到恢复时钟和数据的电路上,然后进行串/并变换;为了恢复字节同步,ASI解码器必须先搜寻到K28.5同步字,一旦搜索到该同步字,即为随后接收的数据标定了边界,从而建立了解码器输出字节的正确字节排列;最后进行10/8-bit变换,恢复出包同步的MPEG-2 TS码流数据。但是K28.5同步字不是有效数据,因此解码时必须删除。

3 ASI接口实现方案

cyb923主要实现码字的8/10bit转换、插入同步字K28.5和并/串变换。ASI的传输速率恒定为270MHz,而输入MPEG-2 TS码率是不同的,所以要用FIFO实现速率匹配,需要对输入的SPI数据、FIFO和cyb923之间的通信进行逻辑控制。综合性能、价格和程序复杂度的考虑,本方案采用xilinx公司的CPLD逻辑编程器XC95108;用VHDL编程实现对它们的逻辑控制。ASI的解码也是相似的过程,cyb933主要实现10/8bit转换、去除同步字K28.5和串并变换。

3.1 ASI编码

在ASI的编码过程中,只需将MPEG-2 TS的八位数据和一位TS码率传输时钟输入到CPLD。因为在本方案中,TS格式为188个字节,因此数据有效信号DVALID一直为高,CPLD忽略这个信号,只管接收TS码流数据,而不用关心TS码流的同步头。PSYNC帧同步信号也一样忽略。CPLD将接收到的数据以TS码率时钟写入FIFO。当FIFO半满时,CPLD接收到FIFO的半满信号,然后CPLD给cyb923发FIFO可读信号,cyb923以27Mbps读取FIFO中的数据;当CPLD计数到cyb923读取了一定数量的FIFO数据,CPLD则向cyb923发送FIFO不可读信号,防止FIFO读空。MPEG-2传输码率的并行最大速度为27/8=3.375Mbps,而读FIFO速率为27Mbps,因此FIFO不会有溢出。考虑到延时,本方案选用较小容量的FIFO7202。cyb923在FIFO不可读时,向ASI码流中填充K28.5以维持270Mbps的固定传输速率。最后串行数据经过驱动就可用同轴电缆传送出去。本方案中,同步字K28.5的插入采用传输码流的单个字节前后不能都是K28.5同步字的方式。这种方案相对其它两种方案来说,判断和处理都相对简单。

3.2 ASI解码

由此可知,检测到K28.5,即字节对齐是ASI解码的重要前提,由此cyb933定义了一套检测字节同步的方法。考虑到传输误码等原因可能造成假K28.5,因此cyb933采用双字节确认方法。即连续两个字节都是K28.5,才确认字节同步了,接着进入正常的单字节解码状态。在解码状态,如果在64个解码字节中,CPLD计数到有16个字节是错误的,则CPLD必须向cyb933发送信息,要求cyb933重新进行字节同步。

字节同步后,因为K28.5是cyb923插入的同步字节,不能作为有效数据输出,cyb933自动略除这些同步字节。当cyb933检测到有效数据时,cyb933将输出一位当前数据有效的指示,如果把这个信号当作FIFO的写有效,则FIFO中的数据一定都是有效数据了。当FIFO半满时,CPLD接收FIFO的半满信号后,CPLD读取FIFO中的数据,并根据读出的字节是否是047H来确定TS包的同步字节;如果找到TS包同步字,将恢复对应的帧同步信号,此时CPLD计数188恢复出完整的TS包,接下来的字节如果不是047H,说明输入数据有误,CPLD将丢弃这些数据直到找到047H同步字,在此期间CPLD输出TS空包。重新包同步后,CPLD才又开始计数输出正确的188字节的MPEG-2 TS包,从而恢复出SPI正确的11位信号。同样,当FIFO数据不可读时,CPLD也输出TS空包,以维持输出的MPEG-2码率恒定。

在SPI转ASI的设计中,直接对SPI数据进行ASI编码,而不考虑误码问题。主要考虑SPI数据直接从MB390输出,没有经过远距离传输,因而降低了ASI编码逻辑控制的复杂度。在ASI解码过程中,ASI数据经过远距离传输,要考虑误码的因素,所以增加了字节和包的重同步设计,以增加抗干扰能力。本方案在实际应用中很好地实现了SPI/ASI的相互转换。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:KubeVela 1.0 :开启可编程式应用平台的未来
下一篇:通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记
相关文章

 发表评论

暂时没有评论,来抢沙发吧~