Camera Link是一种串行通信协议标准,基于美国国家半导体公司的Channel-link,设计用于摄像机接口应用,目的是规范科学和工业视频而设计的产品包括相机、电缆和框架。Camera Link使用1到3个通道链路收发芯片,根据通道的多少分为Base、Mediaum和Full模式。每个通道有4个7位串行器。Camera Link 在Base模式下使用28bit来表示数据和信号,其中24位图像数据,3位视频同步信号(“数据有效”、“帧有效”和“行有效”),1位备用位。Camera Link标准要求这28位通过4个串行差分对传输。并行数据时钟与数据一起传输,数据被序列化成7:1,数据流和时钟在五个LVDS对上传输,接收器解析这五对差分信号。为了传输或接收串行视频,PLL或SERDES块必须生成一个7x时钟。为了对数据进行反序列化,可以使用移位寄存器和计数器。移位寄存器捕获每个序列化的位,然后在数据计数器达到其最终值时,将数据转换到并行时钟域。
Camera Link在实际设计中会采用解串芯片恢复出并行数据,这无疑会增加硬件成本以及板子面积。另外一种方式是使用FPGA内部逻辑解析串行数据,可以避免这些缺点,使设计出的板子更加的简洁,而且解串的逻辑也不会消耗太多资源。下图是Camera Link的时序,串行时钟占空比3:4,FPGA在检测到时钟呈现1100011的波形时,同时采集图像数据,共28bit。根据每个bit代表含义及数据位置解析出一个时钟的数据,从而恢复出完整