作者:Hello,Panda
Lattice Crosslink-NX系列FPGA的定位仍然还是主要面向接口桥接类的应用,虽然它的逻辑已经到了39K的规模,但其处理能力仍然偏弱,特别是存在以下几个很大的短板:
(1)对存储器的支持偏弱:可以支持DDR,但是速率太低,带宽无法满足大带宽应用的要求。但是做一些医疗的软镜应用比如说OV6946/OV6948之类的案子还是十分合适,无论是从功耗、封装和成本上考虑都比较合适。
(2)缺少一个硬核:Crosslink-NX FPGA提供RISC-V处理器硬核,这个硬核在逻辑占用比较大的情况下,能跑个50MHz的主频,而且RISC-V指令集的执行效率又很低,这就实际上是个鸡肋,如果能有一个硬核,哪怕是Cortex-M3/M4这个级别的,主频能跑到150MHz以上就十分Nice了,在控制领域将大有所为,在图像领域也可以作为一个单独的处理SoC来用了。
(3)主频支持偏低:Crosslink-NX的最佳逻辑运行频率是200MHz以下(以18位乘法器)和LUT加法器为例,对一些大靶面的相机接入往往为了降主频而增加位宽,降低了时序收敛性。但是作为低功耗应用,主频支持偏低也是为了降功耗。
(4)频繁涨价:虽然现在涨价是常态,但是一年内发三次还是四次涨价函,这个操作多多少少有些不好看。
熊猫君主要用Lattice Crosslink-NX FPGA做了以下几个应用:
一、低分辨内窥镜处理单元,主要是用到:OV6946/OV6948/OH0TA10此类小靶面传感器,当然也可以是其他小于等于1280P60带宽的视频图像处理解码板,如果成本允许的话。
视频1: FPGA接入OV6946成像效果视频
二、接口桥接
(1)MIPI的MUX和Demux:利用MIPI的最多支持四个虚拟通道(VC)的特性,做MIPI输入的4个低带宽MIPI物理通道(CSI)合成1个高速的4-VC通道物理链路或做反向处理进行分发显示到屏(DSI)。
视频2: LIFCL-40-7MG121I进行4输入Sensor MUX处理
(2)SLVS转MIPI:这种用法主要是Sony的Sensor,MIPI的电平其实就是SLVS-400,但是Sony那种支持SLVS和SLVS-EC的Sensor虽然是用了SLVS电平,但是协议仍然走的是LVDS那种,因此需要转接为标准的MIPI D-PHY CSI协议和后端的处理SoC进行对接。
视频3: LIFCL-40将IMX429 SLVS输出转为标准MIPI应用
(3)LVDS/subLVDS:LVDS和subLVDS在工业和监控领域用得十分普遍,但是它的速率很低,往往需要占用很多的IO差分对,因此通常也需要用FPGA去接收和处理。随着SoC技术普及,大家为了减少开发时间和难度,往往选用海思、瑞芯微、全志、高通、英伟达的相关SoC来做图像ISP和AI视觉应用,所以前端要一个FPGA将其转为标准的MIPI便于接入采集。
视频4:LIFCL-40将IMX117输出的10-ch LVDS信号转为标准MIPI
熊猫君用Crosslink-NX系列器件两年多,总共就做了以上的几类应用,当然还有点个屏啥的,属于一些附加工作,毕竟熊猫君主要还是面向于做视频的采集和处理的。