原创 Crosslink-NX器件应用案例(2): MIPI的多源合成(MUX)与分发(DeMUX)

2022-8-11 12:04 819 0 分类: FPGA/CPLD 文集: Lattice
作者:Hello,Panda

好久没有码文章了,今天讨论讨论MIPI多通道合成输出(MUX)和输入分发输出(DeMUX)的问题。这也是类似于Crosslink-NX此类器件的一个典型应用方向,通过增加传输速率的方式提升带宽,减少和主控的物理连线Lane数,这里熊猫君以Crosslink-NX基础视觉板和最常见的OV5640图像传感器为例,讲讲MIPI 4-MUX-1的实现思路,DeMUX将之反着实现就成。本质原理是利用MIPI的VC通道,因为VC通道占2bit,因此最多可支持4合1或者1分4使用。


1、技术参数

基于Crosslink-NX基础视觉板(芯片为LIFCL-40-7MG121I),采用OV5640图像传感器模组作为数据源,FPGA驱动并接收OV5640传感器数据并将其进行4-MUX-1合成后通过2.5Gbps硬核MIPI发出,需达到的主要技术参数如下:

(1) 合成模式:4-MUX-1,即支持4sensor数据源合成一路输出,亦支持3-MUX-12-MUX-1模式;

(2) 摄像头模组:OV5640,配置成为720P30MIPIlane YUV输出,亦可配置支持MIPILane其它色空间格式输出;

(3)输出参数:MIPI 4-lane 1.5Gbps/lane4VC通道,连续时钟模式;

(4) 本地显示:显示单摄像头图像,720P304个源交替显示。


从带宽考量,每路OV5640配置为720P30YUV422格式输出的话,那么每颗Sensor所需带宽为336Mbps,四路就是1344Mbps。因此,输出的MUX MIPI链路使用1.5Gbps 4-lane的配置已经带宽足够富余了。


2、硬件电路

本章节简要描述硬件电路,电路原理图见下图1。

图1 硬件原理图、


2.1 接口和信号描述

如图1所示,硬件电路通过与Crosslink-NXJ5J6连接,合成好的MIPI数据通过30P FPC接口输出。

(1) FPGA通过IICCMOS进行配置,通过IIC通路切换芯片PI4MSD5V9545A实现1:4路的通路切换;

(2) CMOS的板载参考时钟是24MHz,对应MIPI输出的Lane速率为336Mbps

(3) 连接到30Pin FPC接插件的J1~J3sensor采用softMIPI采集,J4上的Sensor采用硬核MIPI接收;

(4)FPGA引出一路IIC信号,通过IIC 1:4 Switch进行切换到4CMOS,芯片采用DIODESPI4MSD5V9545A芯片,其访问IIC地址为0xE0,配置其内部的一个8bit寄存器实现通道的切换。

图2 实物照片

2.2 OV5640图像传感器

OV5640OmniVision推出的一款彩色图像传感器,全画幅有效像素为2592*1944,内置ISP功能,图像输出接口支持DVPMIPI2-lane)两种,本例中选择配置为MIPI接口。OV5640支持RAW RGBRGB565/555/444CCIR565YUV422/420和压缩图像等,支持的分辨率和帧率包括15fps@2592*19441080P30960P45720P60480P90240P120,本例选择720P30YCbCr4:2:2输出。


3、软件设计

FPGA芯片采用Lattice Crosslink-NX LIFCL-40芯片,软件开发使用Radiant


软件框架

实现该需求的系统软件框图见上图1所示。通过一个RISC-V控制IIC外设配置四颗OV5640 Sensor使之输出720P30YCbCr4:2:2图像,FPGA接收MIPI数据后经过缓存后通过一个MUX状态机将之合成到不同的VC通道上并通过HardMIPI接口发出。另外,可从四路sensor中选择一路图像经HyperRAM缓存并通过HDMI接口显示到电视上(备注:因输出为720P30图像,故可能大多数的显示器都不支持,但电视是可以直接显示的)。

3.1   IP配置

SoftMIPIHardMIPI均使用Radiant里面的免费物理层IP MIPI DPHY来实现,CSI-2采用自己编写的源码,这样就避免了因部分用户未购买Radiant软件付费授权下无法使用的问题。下图4HardMIPIIP配置参数,图5SoftMIPIIP配置参数。

4  HardMIPI IP配置

图5 SoftMIPI IP配置

SoftMIPI是用普通的真差分IO来接收的,因此不具有专用MIPI Pad可以自主识别HSLP状态的功能,所以需要引入MIPI LP信号(Lane-0N端)来控制HSLP的状态切换,判断依据是当LP信号翻转(说明有MIPI输入)时,当其为逻辑电平“0”时为HS状态,当其为逻辑电平‘1’时为LP状态。

3.2  CIS-2层

MIPI接收边的CSI层将数据恢复为Byte并通过一个Video Bridge将视频恢复为VsyncHsyncdeYCbCr4:2:2数据,收到的数据写入到Pingpong Buffer中,每写满一行向MUX状态发送一个输出请求信号,状态机对该信号接收并仲裁,并通过发送端的CSI-2层发出MUX后的数据到物理层。


同时,DMA会将给定通路Video Bridge恢复出来的视频数据通过DMA写入HyperRAM缓存供HDMI显示使用,HDMI的显示DMA读取数据并将YCbCr4:2:2的格式转换为RGB888格式送显。


好了,熊猫君今天的简单分享就到此为止了。这种MIPI的集合与分发在无人机、汽车成像、医疗成像、多屏显示等领域中得到了广泛应用,毕竟连接线只需要原来的1/4,也可以节省主控端口IO,好处不少。


最后,随便说一句,熊猫君的企鹅讨论组被毙了,如有需要,新组织可小窗熊猫君或微信搜索“ZYNQ 分享客”公众号获取。



作者: panda君, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3403128.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 0
赞赏0

文章评论0条评论)

登录后参与讨论
相关推荐阅读
panda君 2022-10-30 11:03
Lattice Crosslink-NX器件(LIFCL-40-7MG121I)用作视频输入桥接时支持的CMOS型号及可达性能汇总
作者:Hello,Panda大家早上好、中午好、晚上好。 熊猫君前几天回老家了,手上没得啥新素材码字,决定水一文,将Lattice Crosslink-NX系列器件中熊猫君前一阵子用得比较多的...
panda君 2022-10-16 21:26
关于Radiant软件下Crosslink-NX物理层IP核MIPI_DPHY无法产生正确的非连续时钟时序的BUG修复办法
作者:Hello,Panda 一、问题描述: (1)器件:Lattice Crosslink-NX LIFCL-40-7MG121I ; (2)软件:Radiant 3.1; ...
panda君 2022-10-12 16:21
易灵思Ti60 FPGA专题(1)-器件和需求介绍
作者:Hello,Panda各位朋友们,先生们,女士们,大家早上好,中午好,晚上好。熊猫君最近正在折腾HK的易灵思FPGA芯片做一个Camera,现在弄得差不多了,计划分享一期易灵思的专题,大概有6集...
panda君 2022-10-07 13:52
关于Xilinx ZYNQ Ultrascale+ MPSoC使用原生PS端DP接口实现Live模式输出的经验分享
作者:Hello,Panda今天熊猫君要分享的是如何使用Xilinx  ZYNQ Ultrascale+ MPSoC的PS端原生DP接口实现LIVE模式输出3860*2160,30Hz视频。...
panda君 2022-06-19 22:54
Crosslink-NX器件应用案例(1):SLVS/LVDS/HiSPI/DVP转MIPI DPHY CSI
作者:Hello,Panda这篇文章主要分享Crosslink-NX器件用于传感器接口转换:主要是指将SLVS、LVDS、HiSpi、DVP等其它电平(格式)的接口转换为标准的MIPI D-PHY C...
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /2 下一条