为了满足嵌入式设备中日益增长的实时高清图像传输的带宽要求,ARM和Motorola等公司于2003年提出了移动产业处理器接口(Mobile Industry Processor Interface,MIPI)协议,以替换传统的并行数据接口。MIPI协议提出之初,主要有两个应用,分别是摄像头串行接口[1](Camera Serial Interface,CSI)和显示设备串行接口(Display Serial Interface,DSI)。目前,MIPI协议被广泛地应用于各种嵌入式设备中,如智能手机、VR、智能可穿戴设备和ADAS系统等。
本文采用Lattice 设计了一种实时MIPI CSI-2系统,并可以将处理后的图像实时地显示在HDMI接口的显示器上,最高可支持1080p60的分辨率。与其他平台相比,基于FPGA设计的本系统在实时性、功耗和成本以及系统升级等方面具有一定的优势。
1 系统硬件体系结构
本系统基于Lattice官方的嵌入式视觉开发套件(Embedded Vision Development Kit,EVDK)设计,该套件一共有三层电路板,分别为MIPI CSI-2桥接板、ECP5图像处理开发板和HDMI桥接板。其中,MIPI CSI-2桥接板上集成了索尼的IMX214摄像头和Lattice CrossLink系列FPGA[2];ECP5图像处理开发板上集成了Lattice ECP5系列FPGA和DDR3内存颗粒;HDMI桥接板上采用的是Silicon Image公司的Sil1136专用标准产品(Application Specific Standard Parts,ASSP)[3],用于将并行RGB数据转换成标准的HDMI信号输出至显示器。
设计中,采用CrossLink对IMX214输出的MIPI CSI-2数据进行采集,并完成协议解析、字节到像素转换等功能。随后将得到的Bayer格式的数据,以及相应的帧有效信号(Frame Valid,FV)与行有效信号(Line Valid,LV)发送至ECP5图像处理开发板。ECP5接收来自CrossLink的Bayer格式数据后,依次进行线性对比度展宽、白平衡、去除坏点、Bayer格式转RGB格式、图像缩放、图像倒置、饱和度调整和Gamma矫正等操作。随后,将处理后的数据以并行RGB的形式发送至Sil1136 HDMI桥接板。CrossLink和ECP5的内部逻辑功能框图分别如图1和图2所示。