文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181937
中文引用格式: 李先友,趙曙光,段永成,等. 基于FPGA的實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng)[J].電子技術(shù)應(yīng)用,2019,45(1):97-100.
英文引用格式: Li Xianyou,Zhao Shuguang,Duan Yongcheng,et al. MIPI CSI-2 image acquisition and processing system design based on FPGA[J]. Application of Electronic Technique,2019,45(1):97-100.
0 引言
為了滿足嵌入式設(shè)備中日益增長(zhǎng)的實(shí)時(shí)高清圖像傳輸?shù)膸捯?,ARM和Motorola等公司于2003年提出了移動(dòng)產(chǎn)業(yè)處理器接口(Mobile Industry Processor Interface,MIPI)協(xié)議,以替換傳統(tǒng)的并行數(shù)據(jù)接口。MIPI協(xié)議提出之初,主要有兩個(gè)應(yīng)用,分別是攝像頭串行接口[1](Camera Serial Interface,CSI)和顯示設(shè)備串行接口(Display Serial Interface,DSI)。目前,MIPI協(xié)議被廣泛地應(yīng)用于各種嵌入式設(shè)備中,如智能手機(jī)、VR、智能可穿戴設(shè)備和ADAS系統(tǒng)等。
本文采用Lattice FPGA設(shè)計(jì)了一種實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng),并可以將處理后的圖像實(shí)時(shí)地顯示在HDMI接口的顯示器上,最高可支持1080p60的分辨率。與其他平臺(tái)相比,基于FPGA設(shè)計(jì)的本系統(tǒng)在實(shí)時(shí)性、功耗和成本以及系統(tǒng)升級(jí)等方面具有一定的優(yōu)勢(shì)。
1 系統(tǒng)硬件體系結(jié)構(gòu)
本系統(tǒng)基于Lattice官方的嵌入式視覺開發(fā)套件(Embedded Vision Development Kit,EVDK)設(shè)計(jì),該套件一共有三層電路板,分別為MIPI CSI-2橋接板、ECP5圖像處理開發(fā)板和HDMI橋接板。其中,MIPI CSI-2橋接板上集成了索尼的IMX214攝像頭和Lattice CrossLink系列FPGA[2];ECP5圖像處理開發(fā)板上集成了Lattice ECP5系列FPGA和DDR3內(nèi)存顆粒;HDMI橋接板上采用的是Silicon Image公司的Sil1136專用標(biāo)準(zhǔn)產(chǎn)品(Application Specific Standard Parts,ASSP)[3],用于將并行RGB數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的HDMI信號(hào)輸出至顯示器。
設(shè)計(jì)中,采用CrossLink對(duì)IMX214輸出的MIPI CSI-2數(shù)據(jù)進(jìn)行采集,并完成協(xié)議解析、字節(jié)到像素轉(zhuǎn)換等功能。隨后將得到的Bayer格式的數(shù)據(jù),以及相應(yīng)的幀有效信號(hào)(Frame Valid,F(xiàn)V)與行有效信號(hào)(Line Valid,LV)發(fā)送至ECP5圖像處理開發(fā)板。ECP5接收來自CrossLink的Bayer格式數(shù)據(jù)后,依次進(jìn)行線性對(duì)比度展寬、白平衡、去除壞點(diǎn)、Bayer格式轉(zhuǎn)RGB格式、圖像縮放、圖像倒置、飽和度調(diào)整和Gamma矯正等操作。隨后,將處理后的數(shù)據(jù)以并行RGB的形式發(fā)送至Sil1136 HDMI橋接板。CrossLink和ECP5的內(nèi)部邏輯功能框圖分別如圖1和圖2所示。
本系統(tǒng)的硬件體系結(jié)構(gòu)圖如圖3所示,ECP5除了實(shí)現(xiàn)了圖像處理功能之外,還分別通過攝像頭控制接口(Camera Control Interface,CCI)和I2C接口對(duì)索尼IMX214攝像頭和Sil1136 ASSP進(jìn)行配置。
2 FPGA模塊設(shè)計(jì)
2.1 CrossLink MIPI CSI-2接收模塊設(shè)計(jì)
如圖4所示,MIPI CSI-2接口有高速和低功耗兩種模式,高速模式下的電平標(biāo)準(zhǔn)為可配置低壓信號(hào)[4](Scalable Low Voltage Signaling,SLVS),其共模電壓為200 mV,擺幅也是200 mV;而低功耗模式的電平標(biāo)準(zhǔn)為L(zhǎng)VCMOS 1.2 V。如果采用普通FPGA來連接MIPI CSI-2接口,一般需要兩對(duì)IO來分別處理高速模式和低功耗模式,而采用Lattice最新推出的CrossLink器件,則可以將其與CrossLink的MIPI專用IO直接相連接。
由于MIPI CSI-2是一種高速串行差分接口,發(fā)送端與接收端之間的不同信號(hào)線的長(zhǎng)度要盡可能地相等。然而,即使PCB嚴(yán)格地按照等長(zhǎng)差分線設(shè)計(jì),也難以保證不同信號(hào)線上的信號(hào)在同一時(shí)刻到達(dá)接收端[5]。因此,接收端需要對(duì)接收到的串行數(shù)據(jù)進(jìn)行對(duì)齊操作。如圖5所示,CrossLink對(duì)MIPI CSI-2串行輸入依次進(jìn)行了字節(jié)對(duì)齊操作和通道對(duì)齊操作,圖中的B8是MIPI CSI-2協(xié)議中的同步識(shí)別碼,表示每次傳輸?shù)臄?shù)據(jù)包的開頭。
如圖1所示,MIPI D-PHY CSI-2接收模塊將對(duì)齊后的數(shù)據(jù)經(jīng)過跨時(shí)鐘域FIFO輸出至?xí)r序控制模塊和字節(jié)到像素轉(zhuǎn)換模塊。字節(jié)到像素轉(zhuǎn)換模塊將索尼IMX214攝像頭輸出的10位Bayer格式(即RAW10)的字節(jié)數(shù)據(jù)轉(zhuǎn)換為10位并行的像素?cái)?shù)據(jù)后輸出。
2.2 ECP5圖像處理模塊設(shè)計(jì)
由于直接接收到的圖像數(shù)據(jù)均值很?。ū憩F(xiàn)為圖像很暗),且可能會(huì)存在極個(gè)別像素為壞點(diǎn)的情況,因此,ECP5對(duì)接收自CrossLink的像素?cái)?shù)據(jù)首先進(jìn)行了線性對(duì)比度展寬(又稱分段線性映射)、白平衡調(diào)整和壞點(diǎn)去除處理。
如圖6所示,Bayer格式的圖像數(shù)據(jù)中每一個(gè)像素僅僅包括了光譜的一部分,因此必須通過插值來得到每個(gè)像素的RGB值。本設(shè)計(jì)中采用了常見的鄰域插值算法來實(shí)現(xiàn)Bayer格式到RGB格式的轉(zhuǎn)換。
為了適配顯示器的分辨率,本設(shè)計(jì)還在ECP5中實(shí)現(xiàn)了圖像縮放模塊,可將1080p(1 920×1 080)轉(zhuǎn)化為任意分辨率(如1 280×720、2 048×1 536等)。圖像縮放算法的核心就是插值算法,常見的插值算法有最近鄰插值法、9點(diǎn)插值法、雙線性插值法和雙立方插值法等。其中最近鄰插值法和9點(diǎn)插值法相對(duì)簡(jiǎn)單,但是效果也較為一般,如果縮放比例過大會(huì)導(dǎo)致嚴(yán)重的馬賽克或者失真現(xiàn)象。雙立方算法最為復(fù)雜,效果也最好,但是會(huì)耗費(fèi)較多的FPGA邏輯資源。綜合效果和資源兩方面,本設(shè)計(jì)采用的是雙線性插值,該算法的基本原理如下:
假設(shè)某個(gè)目標(biāo)像素地址對(duì)應(yīng)的源像素地址的浮點(diǎn)坐標(biāo)為P(i+u,j+v),其中i和j為浮點(diǎn)坐標(biāo)的整數(shù)部分,u和v為浮點(diǎn)坐標(biāo)的小數(shù)部分。如圖7所示,則該像素的值F(i+u,j+v)可由原圖像中坐標(biāo)為Q11(i,j)、Q21(i+1,j)、Q12(i,j+1)和Q22(i+1,j+1)的四個(gè)像素值確定:
圖像倒置和幀率轉(zhuǎn)換需要至少緩存兩幀的圖像像素值,而ECP5中的嵌入式塊RAM(Embedded Block RAM,EBR)資源不足以緩存下這么多的數(shù)據(jù),因此需要借助外部的DDR3 SDRAM存儲(chǔ)。圖像倒置和幀率轉(zhuǎn)換的功能框圖如圖8所示,數(shù)據(jù)先通過寫入FIFO,完成跨時(shí)鐘域轉(zhuǎn)換,然后借助Lattice的DDR3 SDRAM控制器IP完成對(duì)開發(fā)板上的兩個(gè)Micron DDR3 SDRAM顆粒的讀寫,最后通過讀取FIFO輸出數(shù)據(jù)。此外,還可以通過配置信號(hào)使能或者禁止這兩個(gè)功能,以及修改相關(guān)的參數(shù)等。幀率轉(zhuǎn)換模塊可以將每秒30幀的圖像轉(zhuǎn)換為每秒60幀,或者將每秒60幀轉(zhuǎn)換為每秒30幀。
飽和度調(diào)整模塊可以對(duì)像素的RGB值同時(shí)進(jìn)行調(diào)整,可以只對(duì)其中的一個(gè)或者多個(gè)進(jìn)行調(diào)整。其基本原理如式(2)所示,對(duì)RGB值分別乘以某一個(gè)系數(shù),然后再減去某個(gè)值,從而到達(dá)對(duì)特定色彩鮮艷度的調(diào)整。
由于在某些顯示器中,電流與電壓并不是一個(gè)線性的關(guān)系,這會(huì)導(dǎo)致暗區(qū)的像素要比實(shí)際情況更暗,而亮區(qū)要比實(shí)際情況更亮。為了能夠較好地還原實(shí)際的圖像,設(shè)計(jì)中還實(shí)現(xiàn)了伽馬校正(Gamma Correction)的功能。伽馬校正的基本原理如式(3)所示,其中Po表示校正之后的值,Pi為輸入的像素值,γ為伽馬系數(shù)值。
為了便于在FPGA中實(shí)現(xiàn),可以對(duì)式(3)稍作處理。如式(4)所示,其中b表示像素值的位寬。
3 系統(tǒng)驗(yàn)證與結(jié)果分析
為了驗(yàn)證系統(tǒng)的功能,將索尼IMX214配置為1 920×1 080,60 Hz,RAW10格式輸出。通過Lattice Diamond中的Reveal工具采集ECP5中的相關(guān)輸入輸出信號(hào)波形圖。由于MIPI CSI-2輸入信號(hào)屬于專用IO信號(hào),無法直接使用Reveal采集,因此借助Active HDL軟件對(duì)CrossLink中的設(shè)計(jì)進(jìn)行仿真,以獲得相關(guān)信號(hào)波形。并通過禁止(或者使能)相關(guān)模塊功能,對(duì)比輸出圖像的效果。
3.1 CrossLink相關(guān)信號(hào)波形圖
CrossLink的仿真波形圖如圖9所示,其中csi_clk_p為MIPI CSI-2輸入時(shí)鐘信號(hào),為連續(xù)模式(Continuous Mode)。csi_d0_p、csi_d1_p、csi_d2_p和csi_d3_p為MIPI CSI-2的四個(gè)數(shù)據(jù)輸入通道(Data Lane)。fv為幀有效信號(hào),lv為行有效信號(hào),pixdata為 RAW10格式的像素?cái)?shù)據(jù)輸出。
3.2 ECP5相關(guān)信號(hào)波形圖
ECP5的Reveal采集波形圖如圖10所示,其中CSI2_sens_fv為CrossLink輸出的幀有效信號(hào),CSI2_sens_lv為行有效信號(hào),CSI2_sens_data為RAW10格式的像素?cái)?shù)據(jù)。vsync和hsync分別為幀同步信號(hào)和行同步信號(hào),data_enable為數(shù)據(jù)有效信號(hào)。pix_red、pix_green和pix_blue分別為輸出的像素的RGB值信號(hào)。
3.3 圖像處理效果對(duì)比圖
圖像處理效果對(duì)比圖如圖11所示,為了保證顯示效果,在測(cè)試過程中,Bayer轉(zhuǎn)RGB模塊和Gamma校正模塊一直處于使能的狀態(tài)。其中圖11(a)為原圖,即未使用白平衡、線性對(duì)比度展寬、圖像縮放與倒置、飽和度調(diào)整等模塊;圖11(b)為僅使用白平衡和線性對(duì)比度展寬模塊所獲得的圖像;圖11(c)為使用了飽和度調(diào)整之后的圖像;圖11(d)為使用了圖像縮放與倒置之后的圖像。
通過對(duì)比,可以發(fā)現(xiàn)IMX214直接輸出的像素信號(hào)值很小,因此顯示的畫面很暗。經(jīng)過線性對(duì)比度展寬等模塊的處理后,圖像又顯得過亮,且色彩不夠鮮艷。再經(jīng)過飽和度調(diào)整模塊處理后,圖像取得了較好的色彩效果。最后,圖像倒置模塊也成功地對(duì)圖像完成了倒置的操作。
4 結(jié)論
本文設(shè)計(jì)并基于Lattice FPGA實(shí)現(xiàn)了一個(gè)實(shí)時(shí)的高清圖像采集與處理系統(tǒng)。其最高可采集1080p60的實(shí)時(shí)圖像,并完成一系列的實(shí)時(shí)圖像處理功能。由于采用了模塊化的設(shè)計(jì)思想,使得其具有良好的可擴(kuò)展性和可裁剪性。基于本設(shè)計(jì),稍加改動(dòng)還可以完成例如邊緣檢測(cè)、圖像分割與拼接等常規(guī)的圖像處理功能。表明本系統(tǒng)具有良好的靈活性與較高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] MIPI Alliance,Inc.MIPI alliance specification for camera serial interface 2(CSI-2)[Z].2009.
[2] Lattice Semiconductor.CrossLink family data sheet[Z].2018.
[3] Lattice Semiconductor. Sil9136-3/Sil1136 HDMI deep color transmitter data sheet[Z].2018.
[4] MIPI Alliance,Inc.MIPI alliance specification for D-PHY[Z].2009.
[5] 李凱.MIPI CSI/DSI簡(jiǎn)介及信號(hào)和協(xié)議測(cè)試方法[J].國(guó)外電子測(cè)量技術(shù),2012,31(3):11-15.
作者信息:
李先友1,趙曙光1,段永成1,王建強(qiáng)2
(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海201620;2.上汽大眾汽車有限公司,上海201805)