这篇文章主要分享Crosslink-NX器件用于传感器接口转换:主要是指将SLVS、LVDS、HiSpi、DVP等其它电平(格式)的接口转换为标准的MIPI D-PHY CSI,按CSI协议封包传输以便和支持MIPI DPHY CSI的SoC如海思、瑞星微、全志、NXP、英伟达、TI等对接。因熊猫君做过以上各格式转换为MIPI的工作,深知接口转换的软件工作实际上都大同小异,因此本文以SLVS转MIPI为例描述之。
SLVS是一种低压差、低共模电平传输标准,常见的MIPI DPHY物理层就采用该电平标准,Sony有较多的支持SLVS电平的传感器,但是它们在传输过程中走的协议通常是跟传统的LVDS一致,由Sync Code(同步码)和数据组成。因此,要和通用SoC对接,需要将其转换为标准的MIPI CSI协议才行。那么就以IMX429传感器为例介绍基于低成本的Lattice Crosslink-NX FPGA将SLVS传输的数据转换为标准的MIPI DPHY CSI方案。
1. IMX429LQJ-C简介该传感器是一颗2/3寸的方形像素彩色图像传感器,总像素为1936(H)*1464(V),像素尺寸4.5μm(H)*4.5μm(V),12-bit ADC转换,支持最多4通道SLVS输出和2通道SLVS-EC输出,以SLVS接口输出时,All Pixel Scan模式下帧率最高支持到64.1Hz。如下图1所示为SLVS接口的数据格式,其中SAV和EAV为Sync Code,effective pixel为有效像素数据。
图1 SLVS接口数据格式
2. SLVS转MIPI软件技术参数本方案使用Lattice Crosslink-NX(LIFCL-17)器件将SLVS接口转换为MIPI D-PHY CSI,其中对CMOS的配置由主控完成以保证易操作性。转换软件的主要技术参数如下:
(1) 输入SLVS接口:4通道,594Mbps/Lane;
(2) 输出MIPI接口:4通道,800Mbps/lane,CSI-2协议,连续时钟模式;
(3) 分辨率支持:自适应。
3.设计方案如下图2所示为SLVS转MIPI的软件设计方案。
图2 SLVS转MIPI的软件设计框图
如上图2所示,slvs_receiver模块接收slvs_clk,并将数据通过1:12的去串行化处理,搜索Sync Code并将数据排序生成48bit的并行数据输出到Pingpong Fifo,当一行数据写入完成后向csi2tx_4lane_nocil模块发出请求信号,video_bridge模块从pingpong fifo中读出数据并按照转换为32bit的数据位宽。
slvs_receiver模块自动生成帧起始请求信号、帧结束请求信号和自动统计每行像素所占的字节数共mipi csi-2协议封包使用,因此可以自适应主控配置的任意分辨率。
4.实物和测试如下图3~6所示,分别是SLVS转MIPI实物图片和运行测试结果图片。
图3 Sensor测试板,基于LIFCL-40,用作主控配置IMX429并接收其MIPI信号,经简单ISP处理后通过HDMI接口显示
图4 Sensor板背面特写图,采用一颗LIFCL-17 FPGA用于接收Sensor输出的SLVS接口数据并转换为标准MIPI CSI-2输出。
图5 测试板+Sensor板+镜头
图6 经简单ISP处理的测试效果图
熊猫君手上现成的成套硬件测试平台有:
(1)LVDS转MIPI:Sony IMX250/252;
(2)HiSpi转MIPI:安森美MT9J003;
(3)SLVS转MIPI:Sony IMX429/421;
(4)DVP转MIPI:Sony IMX224/225.