《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的MT9P401圖像傳感器驅(qū)動(dòng)設(shè)計(jì)
基于FPGA的MT9P401圖像傳感器驅(qū)動(dòng)設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第6期
張 帆,馮桂蘭,,田維堅(jiān)
(中國(guó)計(jì)量學(xué)院 光學(xué)與電子科技學(xué)院,,浙江 杭州310018)
摘要: 針對(duì)目前道路抓拍相機(jī)分辨率低的現(xiàn)狀,,提出一種基于FPGA的大面陣CMOS圖像傳感器驅(qū)動(dòng)設(shè)計(jì),。設(shè)計(jì)采用Micron公司的CMOS圖像傳感器MT9P401,,以Altera公司生產(chǎn)的EP2C8T144C8為硬件平臺(tái),,將Verilog HDL編寫的I2C總線模塊嵌入FPGA內(nèi)部實(shí)現(xiàn)對(duì)CMOS圖像傳感器參數(shù)的設(shè)置,。軟件仿真和實(shí)驗(yàn)結(jié)果表明驅(qū)動(dòng)設(shè)計(jì)合理,,CMOS圖像傳感器在驅(qū)動(dòng)時(shí)序的作用下,進(jìn)入正常工作狀態(tài),。
中圖分類號(hào): TP212.1
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)06-0062-03
Design of driving for MT9P401 image sensor based on FPGA
Zhang Fan,,F(xiàn)eng Guilan,Tian Weijian
College of Optical and Electronic Technology, China Institute of Metrogy,,Hangzhou 310018,,China
Abstract: Aiming at the condition that the capture camera has low resolution,one design of driving circuit for large resolution CMOS image sensor based on FPGA is proposed. The CMOS image sensor MT9P401 produced by Micron was adopted in the design.The EP2C8T144C8 produced by Altera was adopted for the hardware platform. The I2C bus module written by Verilog HDL was embeded in the FPGA to achieve the setting of CMOS image sensor's parameters. It is can be seen from the software simulation and experimental results that the design of driver is reasonable and the CMOS image sensor can work normally under the control of the driving time.
Key words : FPGA;MT9P401,;CMOS image sensor,;I2C bus


    汽車在給人們生活帶來(lái)便利的同時(shí)也帶來(lái)了交通事故。其中超速行駛是造成交通事故的重要隱患之一,。據(jù)研究表明,,目前針對(duì)車輛超速行駛情況的道路抓拍系統(tǒng)中所使用的圖像傳感器大多為小面陣器件,普遍為100萬(wàn)~200萬(wàn)像素,從而導(dǎo)致抓拍圖像的像素比較低,、能夠同時(shí)抓拍的車道數(shù)較少等等問題,。面對(duì)這一系列問題,大面陣的圖像傳感器便逐漸成了人們關(guān)注的熱點(diǎn),。在設(shè)計(jì)過程中,,分析了具有500萬(wàn)像素的CMOS圖像傳感器MT9P401的工作模式,選用QuartusⅡ做為開發(fā)工具,使用Verilog HDL語(yǔ)言對(duì)驅(qū)動(dòng)電路設(shè)計(jì)方案進(jìn)行了硬件描述,,并對(duì)所設(shè)計(jì)的驅(qū)動(dòng)時(shí)序進(jìn)行仿真和驗(yàn)證,。
1 MT9P401圖像傳感器介紹
1.1 主要特點(diǎn)

    MT9P401是Micron公司的一款具有500萬(wàn)像素的CMOS圖像傳感器。該芯片的主要特點(diǎn)有:圖像分辨率為2 592 H×1 944 V,,像元尺寸為5.7 mm×4.28 mm,,最大傳輸速率為96 Mb/s,相應(yīng)的采樣速率為14 f/s,,動(dòng)態(tài)范圍為70.1 dB,。
    MT9P401圖像傳感器將像素矩陣,、串行接口、陣列控制器,、A/D轉(zhuǎn)換電路等集成在一起,。當(dāng)MT9P401的像素矩陣受到光照時(shí),由于光電效應(yīng)使光信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),,由此產(chǎn)生的模擬信號(hào)傳送至內(nèi)部A/D轉(zhuǎn)換器,,輸出相應(yīng)的數(shù)字信號(hào)??刂葡袼鼐仃嚨男盘?hào)由矩陣控制器產(chǎn)生,,矩陣控制器通過串行接口操作。
1.2 電子曝光方式
    MT9P401圖像傳感器有兩種電子曝光方式,,分別對(duì)應(yīng)兩種不同的快門模式,。
    (1)電子卷簾快門(Electronic Rolling Shutter):對(duì)任一像素,在曝光開始時(shí)將其清零,,等待曝光時(shí)間過后,,將信號(hào)值讀出。數(shù)據(jù)的讀出是串行的,,所以清零,、曝光、讀出也只能逐行順序進(jìn)行,,通常是從上至下,,和機(jī)械的焦平面快門非常像。此曝光方式的特點(diǎn)是每個(gè)像素曝光時(shí)長(zhǎng)相同,,但曝光時(shí)間點(diǎn)不同,。
    (2)全局快門(Global Shutter/Snapshot Shutter):每個(gè)像素點(diǎn)增加了采樣保持單元,在指定時(shí)間內(nèi)對(duì)數(shù)據(jù)進(jìn)行采樣,,然后順序讀出,,這樣雖然后讀出的像素仍然進(jìn)行曝光,但存儲(chǔ)在采樣保持單元中的數(shù)據(jù)卻并未改變,。因圖像的積分時(shí)間相等,,所以每個(gè)像素點(diǎn)在同一瞬間曝光。此曝光方式的特點(diǎn)是能同時(shí)復(fù)位所有像素,,但曝光時(shí)長(zhǎng)不同,,可用機(jī)械快門實(shí)現(xiàn)同時(shí)結(jié)束曝光。
1.3 像素?cái)?shù)據(jù)讀出時(shí)序分析
    MT9P401圖像傳感器共有256個(gè)內(nèi)部寄存器,,內(nèi)部寄存器的設(shè)置決定了MT9P401的工作狀態(tài),。MT9P401與外部控制器的通信依靠I2C總線[1],在I2C總線協(xié)議下輸出每一幀圖像數(shù)據(jù),。默認(rèn)情況下,,MT9P401的像素時(shí)鐘與外部輸入時(shí)鐘同步,,MT9P401一幀圖像的像素包括1 944行和2 592列,每經(jīng)過一個(gè)像素時(shí)鐘周期,,都有一個(gè)12 bit的像素?cái)?shù)據(jù)通過數(shù)據(jù)輸出引腳輸出,,幀有效信號(hào)(Frame_Valid)的周期為70 ms,行有效信號(hào)(Line_Valid)的周期為35 μs,。當(dāng)幀有效信號(hào)(Frame_Valid)和行有效信號(hào)(Line_Valid)均為高電平時(shí),輸出像素?cái)?shù)據(jù),。當(dāng)幀有效信號(hào)(Frame_Valid)為低電平時(shí),,出現(xiàn)垂直消隱。當(dāng)行有效信號(hào)(Line_Valid)為低電平時(shí),,出現(xiàn)水平消隱,。像素?cái)?shù)據(jù)讀出時(shí)序如圖1所示。

 

 

2 電路設(shè)計(jì)
2.1 電路硬件設(shè)計(jì)
    電路硬件由電源模塊,、時(shí)鐘模塊,、CMOS圖像傳感器與FPGA通信模塊構(gòu)成。
    (1)電源模塊
    CMOS圖像傳感器部分按照MT9P401數(shù)據(jù)手冊(cè)上的要求應(yīng)提供5種電源,,分別為:+1.8 V的數(shù)字電源VDD,、+2.8 V的IO口驅(qū)動(dòng)電源VDDIO、+2.8 V的模擬電源VAA,、+2.8 V的成像核心電源VDDPIX,、+2.8 V的鎖相環(huán)電源VDDPLL。FPGA部分按照EP2C8T144C8數(shù)據(jù)手冊(cè)要求提供3種電源,,分別為+1.2 V的數(shù)字電源VDD,、+3.3 V的IO口驅(qū)動(dòng)電源VDDIO、+1.2 V的模擬電源VAA,。
    由于CMOS圖像傳感器的供電電源需要有較高的紋波抑制和噪聲,,同時(shí)輸出壓降要低,結(jié)合設(shè)計(jì)低成本,、低功耗等因素,,在電源部分選擇TI公司的單端輸出LDO[2](TPS77001、TPS79003)作為供電模塊,。LDO的工作原理是通過負(fù)反饋調(diào)整輸出電流使輸出電壓保持不變,。LDO是一個(gè)降壓型的DC/DC轉(zhuǎn)換器,因此Vin>Vout,,它的工作效率可以用式(1)表示:
  
    LDO的工作效率一般在60%~75%之間,,產(chǎn)生的靜態(tài)電流較小。
    (2)時(shí)鐘模塊
    時(shí)鐘是整個(gè)電路中最重要,、最特殊的信號(hào),,電路中各器件的動(dòng)作基本在時(shí)鐘的跳變沿上進(jìn)行,,這就對(duì)系統(tǒng)時(shí)鐘信號(hào)的時(shí)延差要求非常小,否則容易造成時(shí)序邏輯狀態(tài)的錯(cuò)誤,。因而在電路設(shè)計(jì)中保持時(shí)鐘信號(hào)的穩(wěn)定性有著非常重要的意義,。在本設(shè)計(jì)中,F(xiàn)PGA的控制時(shí)鐘由外部50 MHz的有源晶振提供,。為了防止振蕩器干擾電源,,在有源晶振旁加上104去耦電容。CMOS圖像傳感器的外部輸入時(shí)鐘EXTCLK需要100 MHz,,其由FPGA中的PLL[3]倍頻得到,。
    (3)CMOS圖像傳感器與FPGA通信模塊
    MT9P401圖像傳感器的內(nèi)部寄存器決定了圖像傳感器的工作狀態(tài),在圖像傳感器復(fù)位后,,需要對(duì)這些內(nèi)部寄存器進(jìn)行配置,,從而需要選用合理的外部控制器對(duì)其內(nèi)部寄存器進(jìn)行相關(guān)讀寫操作。本設(shè)計(jì)選用Altera公司生產(chǎn)的EP2C8T144C8作為MT9P401圖像傳感器的外部控制器,,其有足夠的邏輯容量,、PLL和I/O數(shù)量。通過EP2C8T144C8對(duì)MT9P401的內(nèi)部寄存器進(jìn)行設(shè)置,,配置方式采用串行模式,,通信協(xié)議采用I2C總線傳輸協(xié)議,從而驅(qū)動(dòng)出MT9P401的幀有效信號(hào)(Frame_Valid)和行有效信號(hào)(Line_Valid),。
    除此之外,,考慮到數(shù)字系統(tǒng)設(shè)計(jì)中的信號(hào)完整性(Signal Integrity,SI),、電源完整性(Power Integrity,,PI)和電磁完整性(Electromagnetic Integrity,EMI),在PCB板布線過程中盡量避免過孔,,采用差分對(duì)設(shè)計(jì)走線,,增加PCB電源/地平面的層數(shù),等等,,使設(shè)計(jì)整體的性能達(dá)到最優(yōu)狀態(tài),。
2.2 電路軟件設(shè)計(jì)
    根據(jù)具體應(yīng)用環(huán)境,選用MT9P401的電子卷簾快門模式作為圖像采樣模式,。為了采集到連續(xù)的幀有效信號(hào)(Frame_Valid)和行有效信號(hào)(Line_Valid),,通過I2C總線對(duì)MT9P401內(nèi)部的(11)H和(30)H兩個(gè)寄存器分別進(jìn)行設(shè)置,其余內(nèi)部寄存器保持默認(rèn)值,。整個(gè)程序采用Verilog HDL語(yǔ)言編寫,,采用自頂向下的設(shè)計(jì)方法,根據(jù)MT9P401的驅(qū)動(dòng)時(shí)序分析劃分功能模塊,將各個(gè)輸入輸出信號(hào)分配給相應(yīng)功能模塊,,并對(duì)各功能模塊進(jìn)行Verilog HDL設(shè)計(jì)輸入以及仿真,。各功能模塊的功能都實(shí)現(xiàn)后,再完成頂層的Verilog HDL設(shè)計(jì)輸入以及仿真,。整個(gè)程序主要包括時(shí)鐘產(chǎn)生模塊和I2C總線控制模塊[4]兩部分,。
    時(shí)鐘產(chǎn)生模塊主要提供I2C總線的串行時(shí)鐘SCL和CMOS圖像傳感器的外部輸入時(shí)鐘EXTCLK。由于I2C總線協(xié)議一般有3種速度模式:正常速度模式100 kb/s,、快速模式400 kb/s,、高速模式3.5 Mb/s[5]。設(shè)計(jì)中采用速度模式為500 kb/s,,F(xiàn)PGA的外部輸入時(shí)鐘為50 MHz,,所以I2C總線的串行時(shí)鐘SCL需由FPGA分頻得到,通過設(shè)計(jì)時(shí)鐘計(jì)數(shù)器的方式來(lái)編寫時(shí)鐘分頻程序,。CMOS圖像傳感器的外部輸入時(shí)鐘EXTCLK需要較高的穩(wěn)定性,為了產(chǎn)生合理的時(shí)鐘信號(hào),,利用Altera的IP工具,,在QuartusⅡ軟件中通過MegaWizard設(shè)計(jì)一個(gè)PLL倍頻時(shí)鐘,使其輸出頻率為100 MHz,,滿足CMOS圖像傳感器的外部輸入時(shí)鐘要求,。
    I2C總線控制模塊是程序設(shè)計(jì)的核心模塊,主要完成控制I2C總線上主從設(shè)備的起始,、讀寫,、停止等狀態(tài)的轉(zhuǎn)換。首先對(duì)EP2C8T144C8的內(nèi)部寄存器進(jìn)行初始化,,此時(shí)如果寫使能信號(hào)(wr_enable)為高,,則EP2C8T144C8向MT9P401發(fā)送從器件寫地址(BA)H,收到響應(yīng)位后發(fā)送需要進(jìn)行寫操作的MT9P401的內(nèi)部寄存器地址,,收到響應(yīng)位后繼續(xù)發(fā)送需要寫入寄存器的數(shù)據(jù),。若寫使能信號(hào)(wr_enable)為低,則開始對(duì)MT9P401的內(nèi)部寄存器進(jìn)行讀操作,。其程序流程如圖2所示,。

3 電路仿真與實(shí)現(xiàn)
    本設(shè)計(jì)選用Altera公司的QuartusⅡ6.0軟件工具進(jìn)行開發(fā)。通過QuartusⅡ6.0建立系統(tǒng)工程文件,,根據(jù)設(shè)計(jì)要求設(shè)置文件類型和參數(shù),,在工程文件下建立各個(gè)功能模塊的Verilog HDL文件,再對(duì)整體進(jìn)行編譯,、綜合和仿真,,然后下載配置到EP2C8T144C8中進(jìn)行板級(jí)調(diào)試[6]。
    如圖3所示,I2C總線控制仿真時(shí)序一共包含兩個(gè)輸入端和三個(gè)輸出端的波形狀況,。其中EP2C8T144C8的控制時(shí)鐘CLK為50 MHz,,MT9P401的輸入時(shí)鐘EXTCLK為100 MHz,復(fù)位信號(hào)RST為高電平,,I2C的串行時(shí)鐘SCL為500 kHz,。同時(shí)通過I2C的串行數(shù)據(jù)線SDA依次對(duì)MT9P401內(nèi)部的(11)H和(30)H兩個(gè)寄存器進(jìn)行配置,配置過程遵循I2C總線傳輸協(xié)議,。

    對(duì)EP2C8T144C8下載配置完成后,,用示波器探頭測(cè)量MT9P401的幀有效信號(hào)(Frame_Valid)和行有效信號(hào)(Line_Valid)輸出引腳,查看輸出波形,,如圖4和圖5所示,。從圖中可以看到有連續(xù)的幀有效信號(hào)和行有效信號(hào)輸出,而且?guī)行盘?hào)的周期約為70 ms,,行有效信號(hào)的周期約為35 μs,,符合MT9P401的驅(qū)動(dòng)時(shí)序要求,說明FPGA完成了對(duì)MT9P401的驅(qū)動(dòng)設(shè)置,。

    實(shí)測(cè)數(shù)據(jù)證明I2C總線控制時(shí)序設(shè)計(jì)正確,,MT9P401圖像傳感器在I2C總線控制作用下,工作狀態(tài)正常,,能夠輸出有效的數(shù)據(jù)信號(hào),。同時(shí)結(jié)合復(fù)雜可編程邏輯器件使設(shè)計(jì)的驅(qū)動(dòng)電路具有集成度高、功耗低,、速度快,、接口方便等優(yōu)點(diǎn),為基于大面陣CMOS圖像傳感器的抓拍相機(jī)系統(tǒng)的研究提供了可能性,。另外FPGA的可編程性和Verilog HDL編程語(yǔ)言的可移植性,,使得該設(shè)計(jì)具有更加廣范的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)[M].北京:北京航空航天大學(xué)出版社,,2008.
[2] 程軍,,鄔小林,周民,,等.一種LDO線性穩(wěn)壓電路設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù),,2010(6):16-19.
[3] 梁九鵬,李永亮,,鄭佳.FPGA器件中PLL的設(shè)計(jì)應(yīng)用[J]. 無(wú)線電工程,,2007,37(9):62-64.
[4] BRUCE J W.Personal digital assistant(PDA)based I2C bus  analysis[J].IEEE Transactions on Consumer Electronics,,2003(11):1482-1485.
[5] 劉韜,,樓興華.FPGA數(shù)字系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航[M]. 北京:人民郵電出版社,,2005.
[6] 王誠(chéng),吳繼華,,范麗珍,,等.Altera FPGA/CPLD設(shè)計(jì)(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。