汽車在給人們生活帶來便利的同時也帶來了交通事故。其中超速行駛是造成交通事故的重要隱患之一。據(jù)研究表明,目前針對車輛超速行駛情況的道路抓拍系統(tǒng)中所使用的圖像傳感器大多為小面陣器件,普遍為100萬~200萬像素,從而導致抓拍圖像的像素比較低、能夠同時抓拍的車道數(shù)較少等等問題。面對這一系列問題,大面陣的圖像傳感器便逐漸成了人們關(guān)注的熱點。在設(shè)計過程中,分析了具有500萬像素的CMOS圖像傳感器MT9P401的工作模式,選用QuartusⅡ做為開發(fā)工具,使用Verilog HDL語言對驅(qū)動電路設(shè)計方案進行了硬件描述,并對所設(shè)計的驅(qū)動時序進行仿真和驗證。
1 MT9P401圖像傳感器介紹
1.1 主要特點
MT9P401是Micron公司的一款具有500萬像素的CMOS圖像傳感器。該芯片的主要特點有:圖像分辨率為2 592 H×1 944 V,像元尺寸為5.7 mm×4.28 mm,最大傳輸速率為96 Mb/s,相應(yīng)的采樣速率為14 f/s,動態(tài)范圍為70.1 dB。
MT9P401圖像傳感器將像素矩陣、串行接口、陣列控制器、A/D轉(zhuǎn)換電路等集成在一起。當MT9P401的像素矩陣受到光照時,由于光電效應(yīng)使光信號轉(zhuǎn)變?yōu)殡娦盘枺纱水a(chǎn)生的模擬信號傳送至內(nèi)部A/D轉(zhuǎn)換器,輸出相應(yīng)的數(shù)字信號??刂葡袼鼐仃嚨男盘栍删仃嚳刂破鳟a(chǎn)生,矩陣控制器通過串行接口操作。
1.2 電子曝光方式
MT9P401圖像傳感器有兩種電子曝光方式,分別對應(yīng)兩種不同的快門模式。
(1)電子卷簾快門(Electronic Rolling Shutter):對任一像素,在曝光開始時將其清零,等待曝光時間過后,將信號值讀出。數(shù)據(jù)的讀出是串行的,所以清零、曝光、讀出也只能逐行順序進行,通常是從上至下,和機械的焦平面快門非常像。此曝光方式的特點是每個像素曝光時長相同,但曝光時間點不同。
(2)全局快門(Global Shutter/Snapshot Shutter):每個像素點增加了采樣保持單元,在指定時間內(nèi)對數(shù)據(jù)進行采樣,然后順序讀出,這樣雖然后讀出的像素仍然進行曝光,但存儲在采樣保持單元中的數(shù)據(jù)卻并未改變。因圖像的積分時間相等,所以每個像素點在同一瞬間曝光。此曝光方式的特點是能同時復(fù)位所有像素,但曝光時長不同,可用機械快門實現(xiàn)同時結(jié)束曝光。
1.3 像素數(shù)據(jù)讀出時序分析
MT9P401圖像傳感器共有256個內(nèi)部寄存器,內(nèi)部寄存器的設(shè)置決定了MT9P401的工作狀態(tài)。MT9P401與外部控制器的通信依靠I2C總線[1],在I2C總線協(xié)議下輸出每一幀圖像數(shù)據(jù)。默認情況下,MT9P401的像素時鐘與外部輸入時鐘同步,MT9P401一幀圖像的像素包括1 944行和2 592列,每經(jīng)過一個像素時鐘周期,都有一個12 bit的像素數(shù)據(jù)通過數(shù)據(jù)輸出引腳輸出,幀有效信號(Frame_Valid)的周期為70 ms,行有效信號(Line_Valid)的周期為35 μs。當幀有效信號(Frame_Valid)和行有效信號(Line_Valid)均為高電平時,輸出像素數(shù)據(jù)。當幀有效信號(Frame_Valid)為低電平時,出現(xiàn)垂直消隱。當行有效信號(Line_Valid)為低電平時,出現(xiàn)水平消隱。像素數(shù)據(jù)讀出時序如圖1所示。
2 電路設(shè)計
2.1 電路硬件設(shè)計
電路硬件由電源模塊、時鐘模塊、CMOS圖像傳感器與FPGA通信模塊構(gòu)成。
(1)電源模塊
CMOS圖像傳感器部分按照MT9P401數(shù)據(jù)手冊上的要求應(yīng)提供5種電源,分別為:+1.8 V的數(shù)字電源VDD、+2.8 V的IO口驅(qū)動電源VDDIO、+2.8 V的模擬電源VAA、+2.8 V的成像核心電源VDDPIX、+2.8 V的鎖相環(huán)電源VDDPLL。FPGA部分按照EP2C8T144C8數(shù)據(jù)手冊要求提供3種電源,分別為+1.2 V的數(shù)字電源VDD、+3.3 V的IO口驅(qū)動電源VDDIO、+1.2 V的模擬電源VAA。
由于CMOS圖像傳感器的供電電源需要有較高的紋波抑制和噪聲,同時輸出壓降要低,結(jié)合設(shè)計低成本、低功耗等因素,在電源部分選擇TI公司的單端輸出LDO[2](TPS77001、TPS79003)作為供電模塊。LDO的工作原理是通過負反饋調(diào)整輸出電流使輸出電壓保持不變。LDO是一個降壓型的DC/DC轉(zhuǎn)換器,因此Vin>Vout,它的工作效率可以用式(1)表示:
LDO的工作效率一般在60%~75%之間,產(chǎn)生的靜態(tài)電流較小。
(2)時鐘模塊
時鐘是整個電路中最重要、最特殊的信號,電路中各器件的動作基本在時鐘的跳變沿上進行,這就對系統(tǒng)時鐘信號的時延差要求非常小,否則容易造成時序邏輯狀態(tài)的錯誤。因而在電路設(shè)計中保持時鐘信號的穩(wěn)定性有著非常重要的意義。在本設(shè)計中,F(xiàn)PGA的控制時鐘由外部50 MHz的有源晶振提供。為了防止振蕩器干擾電源,在有源晶振旁加上104去耦電容。CMOS圖像傳感器的外部輸入時鐘EXTCLK需要100 MHz,其由FPGA中的PLL[3]倍頻得到。
(3)CMOS圖像傳感器與FPGA通信模塊
MT9P401圖像傳感器的內(nèi)部寄存器決定了圖像傳感器的工作狀態(tài),在圖像傳感器復(fù)位后,需要對這些內(nèi)部寄存器進行配置,從而需要選用合理的外部控制器對其內(nèi)部寄存器進行相關(guān)讀寫操作。本設(shè)計選用Altera公司生產(chǎn)的EP2C8T144C8作為MT9P401圖像傳感器的外部控制器,其有足夠的邏輯容量、PLL和I/O數(shù)量。通過EP2C8T144C8對MT9P401的內(nèi)部寄存器進行設(shè)置,配置方式采用串行模式,通信協(xié)議采用I2C總線傳輸協(xié)議,從而驅(qū)動出MT9P401的幀有效信號(Frame_Valid)和行有效信號(Line_Valid)。
除此之外,考慮到數(shù)字系統(tǒng)設(shè)計中的信號完整性(Signal Integrity,SI)、電源完整性(Power Integrity,PI)和電磁完整性(Electromagnetic Integrity,EMI),在PCB板布線過程中盡量避免過孔,采用差分對設(shè)計走線,增加PCB電源/地平面的層數(shù),等等,使設(shè)計整體的性能達到最優(yōu)狀態(tài)。
2.2 電路軟件設(shè)計
根據(jù)具體應(yīng)用環(huán)境,選用MT9P401的電子卷簾快門模式作為圖像采樣模式。為了采集到連續(xù)的幀有效信號(Frame_Valid)和行有效信號(Line_Valid),通過I2C總線對MT9P401內(nèi)部的(11)H和(30)H兩個寄存器分別進行設(shè)置,其余內(nèi)部寄存器保持默認值。整個程序采用Verilog HDL語言編寫,采用自頂向下的設(shè)計方法,根據(jù)MT9P401的驅(qū)動時序分析劃分功能模塊,將各個輸入輸出信號分配給相應(yīng)功能模塊,并對各功能模塊進行Verilog HDL設(shè)計輸入以及仿真。各功能模塊的功能都實現(xiàn)后,再完成頂層的Verilog HDL設(shè)計輸入以及仿真。整個程序主要包括時鐘產(chǎn)生模塊和I2C總線控制模塊[4]兩部分。
時鐘產(chǎn)生模塊主要提供I2C總線的串行時鐘SCL和CMOS圖像傳感器的外部輸入時鐘EXTCLK。由于I2C總線協(xié)議一般有3種速度模式:正常速度模式100 kb/s、快速模式400 kb/s、高速模式3.5 Mb/s[5]。設(shè)計中采用速度模式為500 kb/s,F(xiàn)PGA的外部輸入時鐘為50 MHz,所以I2C總線的串行時鐘SCL需由FPGA分頻得到,通過設(shè)計時鐘計數(shù)器的方式來編寫時鐘分頻程序。CMOS圖像傳感器的外部輸入時鐘EXTCLK需要較高的穩(wěn)定性,為了產(chǎn)生合理的時鐘信號,利用Altera的IP工具,在QuartusⅡ軟件中通過MegaWizard設(shè)計一個PLL倍頻時鐘,使其輸出頻率為100 MHz,滿足CMOS圖像傳感器的外部輸入時鐘要求。
I2C總線控制模塊是程序設(shè)計的核心模塊,主要完成控制I2C總線上主從設(shè)備的起始、讀寫、停止等狀態(tài)的轉(zhuǎn)換。首先對EP2C8T144C8的內(nèi)部寄存器進行初始化,此時如果寫使能信號(wr_enable)為高,則EP2C8T144C8向MT9P401發(fā)送從器件寫地址(BA)H,收到響應(yīng)位后發(fā)送需要進行寫操作的MT9P401的內(nèi)部寄存器地址,收到響應(yīng)位后繼續(xù)發(fā)送需要寫入寄存器的數(shù)據(jù)。若寫使能信號(wr_enable)為低,則開始對MT9P401的內(nèi)部寄存器進行讀操作。其程序流程如圖2所示。#p#分頁標題#e#
3 電路仿真與實現(xiàn)
本設(shè)計選用Altera公司的QuartusⅡ6.0軟件工具進行開發(fā)。通過QuartusⅡ6.0建立系統(tǒng)工程文件,根據(jù)設(shè)計要求設(shè)置文件類型和參數(shù),在工程文件下建立各個功能模塊的Verilog HDL文件,再對整體進行編譯、綜合和仿真,然后下載配置到EP2C8T144C8中進行板級調(diào)試[6]。
如圖3所示,I2C總線控制仿真時序一共包含兩個輸入端和三個輸出端的波形狀況。其中EP2C8T144C8的控制時鐘CLK為50 MHz,MT9P401的輸入時鐘EXTCLK為100 MHz,復(fù)位信號RST為高電平,I2C的串行時鐘SCL為500 kHz。同時通過I2C的串行數(shù)據(jù)線SDA依次對MT9P401內(nèi)部的(11)H和(30)H兩個寄存器進行配置,配置過程遵循I2C總線傳輸協(xié)議。
對EP2C8T144C8下載配置完成后,用示波器探頭測量MT9P401的幀有效信號(Frame_Valid)和行有效信號(Line_Valid)輸出引腳,查看輸出波形,如圖4和圖5所示。從圖中可以看到有連續(xù)的幀有效信號和行有效信號輸出,而且?guī)行盘柕闹芷诩s為70 ms,行有效信號的周期約為35 μs,符合MT9P401的驅(qū)動時序要求,說明FPGA完成了對MT9P401的驅(qū)動設(shè)置。
實測數(shù)據(jù)證明I2C總線控制時序設(shè)計正確,MT9P401圖像傳感器在I2C總線控制作用下,工作狀態(tài)正常,能夠輸出有效的數(shù)據(jù)信號。同時結(jié)合復(fù)雜可編程邏輯器件使設(shè)計的驅(qū)動電路具有集成度高、功耗低、速度快、接口方便等優(yōu)點,為基于大面陣CMOS圖像傳感器的抓拍相機系統(tǒng)的研究提供了可能性。另外FPGA的可編程性和Verilog HDL編程語言的可移植性,使得該設(shè)計具有更加廣范的應(yīng)用價值。
轉(zhuǎn)載請注明出處。