多路SDI信号单波长无损光传输
提娶多路同步并行信号的FPGA复用、光/电转换、电/光转换等都是比较成熟的技术,实现起来基本没有难度。主要的技术难点是多路异步数据的码速调整、同步处理及数据还原。
以太网或者其他异步数据,在两帧之间会有空闲,在对这种类型的信号进行码速调整时我们可以通过控制、调整空闲数据的持续时间,实现对多路异步数据的码速调整、同步处理。SDI信号数据格式见SDI码速调整信号波形图(图3)中的DATA1,其数据为一帧紧接着一帧连续发送,并没有空隙,其每位数据都是有用的,这就造成如果我们对SDI的数据长度进行增加或者减少势必会破坏其帧结构,从而引起SDI信号传输出现误码。
2.3 多路SDI信号异步数据码速调整、同步处理及数据还原的实现
为了实现多路异步数据的码速调整、同步处理及数据还原,最开始拟采用简单的FIFO缓存方式进行,其具体实现框图如图2。
图2所示,左边为发送端的数据码速调整过程,SDI_27m_1、SDI_27m_N分别为每个SDI信号的FIFO的写时钟,TSDIDATA_27M为10位并行27MHz数据,Rdclk_30m为可编程产生的30M读时钟,TSDIDATA数据同与之相应的SDI_27m_N时钟同步,各个FIFO的写时钟不同步的,但是读时钟是同一个,这样就过经过FIFO后所有的数据都与Rdclk_30m同步,从而实现了多路异步数据的码速调整、同步处理。由于FIFO的读时钟与写时钟不一致,为了保证FIFO不被读空,需要对TFIFO的读写进行如下控制:数据写使能恒为“1”,读使能根据TFIFO内部的数据深度来决定,当检测到TFIFO的A_ampty为“1”时,此时控制TFIFO的读使能关闭并保持一段时间,以确保TFIFO不被读空,在TFIFO的读使能被禁止时TFIFO的输出保持,同时DATA_valid标志置“0”。通过上述控制,所有的N×10路并行信号都与Rdclk_30m读时钟同步,此时就可以通过FPGA多路复用成一路高速串行数据通过光纤传输到接收端。
接收端RFIFO的功能是从经过码速调整到30M的数据中还原出27M的数据。其主要实现流程为:采用与发端读时钟同步的时钟为RFIFO的写时钟Wrclk,读时钟采用本地分出来的符合后端SDI编码要求的27MHz的时钟Rclk_27m,由发端传输过来的DATA_valid来控制RFIFO的写使能,从而保证写入RFIFO的数据都是有效数据,RFIFO的读使能持续为“1”以保证数据的连续性。整个码速调整和恢复的信号波形如图3所示(DATA1为发端输入的原始数据,DATA2为码速调整后的同步数据,DATA3为恢复出来的数据。
采用这种方法实现起来比较简单,但是在实际测试时发现:由于SDI_27M_n这个时钟与Rdclk_30M不同步,从而造成收端进入到RFIFO的数据与RFIFO的读时钟Rclk_27M不同步,即RFIFO的读时钟与写时钟不是同步的,最后必能会造成RFIFO的“写满”或者“读空”,引起SDI信号的误码。
为了解决这个问题,考虑到Rclk_27M与发端的Wrck_27M_N这两个时钟虽然是异步的,但是其具体的频值偏差大约在10PPM左右,将整个系统的码速调整、数据还原修改成如图4方案。
如图4所示,发送端的码速调整、同步处理方法不变,修改接收端的数据还原部分:原方案中多个RFIFO的读时钟是由可编程分出来的同一个27MHz的时钟,更改后的方案中每个RFIFO的都由FPGA内部PLL分出,该时钟频率可以通过FPGA控制在小范围内动态地变化,具体变化形式由RFIFO的A_full、A_empty的状态来进行控制:A_full、A_empty分别为RFIFO的快满或快空标志,在系统启动时,Rclk_27M_N设置成一个初始值27MHz,随着设备工作时间的增加,由于读、写时钟的不同步,就会造成RFIFO的快满会快空,从而引起A_full(快满)、A_empty(快空)标志置位。当FPGA监测到A_full时,从而判断当前FIFO的读时钟比写时钟要慢,FIFO将空,此时通过FPGA控制内部PLL,提高其输出的Rck_27m_N时钟的频率;当FPGA监测到A_empty时,从而判断当前FIFO的读时钟比写时钟要快,FIFO将满,此时通过FPGA控制内部PLL,降低其输出的Rck_27m_N时钟的频率。通过控制RFIFO永远不会“写满”或者“读空”状态,确保SDI信号持续有效输出且不出现误码。
3 结论
通过FIFO的“快满”和“快空”标志控制来控制FPGA内部锁相环(PLL)的频率输出,从而使系统接收端RFIFO的读时钟随FIFO数据深度的变化而实时改变,确保RFIFO不会出现“写满”或“读空”的状态,解决了原来系统中由于FIFO的问题造成SDI信号误码的现象,完成了多路SDI信号的无损光纤传输。
目前通过本方案设计的多路SDI单波长光传输设备已完
SDI FPGA 光纤 FIFO PLL 数据还原 201503 相关文章:
- 基于SDIO接口的通用RFID读写器的开发(09-18)
- 基于CPLD的异步ASI/SDI信号电复接光传输设备设计(08-05)
- HD-SDI高清监控系统在平安校园的应用(06-01)
- 四问四答:HD-SDI的传输限制有哪些?(05-24)
- 基于FPGA的短波通信接收机(11-19)
- FPGA的低功耗设计(07-06)