作者:Hello,Panda 这篇文章主要分享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.