汽車(chē)在給人們生活帶來(lái)便利的同時(shí)也帶來(lái)了交通事故。其中超速行駛是造成交通事故的重要隱患之一。據(jù)研究表明,目前針對(duì)車(chē)輛超速行駛情況的道路抓拍系統(tǒng)中所使用的圖像傳感器大多為小面陣器件,普遍為100萬(wàn)~200萬(wàn)像素,從而導(dǎo)致抓拍圖像的像素比較低、能夠同時(shí)抓拍的車(chē)道數(shù)較少等等問(wèn)題。面對(duì)這一系列問(wèn)題,大面陣的圖像傳感器便逐漸成了人們關(guān)注的熱點(diǎn)。在設(shè)計(jì)過(guò)程中,分析了具有500萬(wàn)像素的CMOS圖像傳感器MT9P401的工作模式,選用QuartusⅡ做為開(kāi)發(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)生,矩陣控制器通過(guò)串行接口操作。
1.2 電子曝光方式
MT9P401圖像傳感器有兩種電子曝光方式,分別對(duì)應(yīng)兩種不同的快門(mén)模式。
(1)電子卷簾快門(mén)(Electronic Rolling Shutter):對(duì)任一像素,在曝光開(kāi)始時(shí)將其清零,等待曝光時(shí)間過(guò)后,將信號(hào)值讀出。數(shù)據(jù)的讀出是串行的,所以清零、曝光、讀出也只能逐行順序進(jìn)行,通常是從上至下,和機(jī)械的焦平面快門(mén)非常像。此曝光方式的特點(diǎn)是每個(gè)像素曝光時(shí)長(zhǎng)相同,但曝光時(shí)間點(diǎn)不同。
(2)全局快門(mén)(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ī)械快門(mén)實(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)過(guò)一個(gè)像素時(shí)鐘周期,都有一個(gè)12 bit的像素?cái)?shù)據(jù)通過(guò)數(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的工作原理是通過(guò)負(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)讀寫(xiě)操作。本設(shè)計(jì)選用Altera公司生產(chǎn)的EP2C8T144C8作為MT9P401圖像傳感器的外部控制器,其有足夠的邏輯容量、PLL和I/O數(shù)量。通過(guò)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板布線過(guò)程中盡量避免過(guò)孔,采用差分對(duì)設(shè)計(jì)走線,增加PCB電源/地平面的層數(shù),等等,使設(shè)計(jì)整體的性能達(dá)到最優(yōu)狀態(tài)。
2.2 電路軟件設(shè)計(jì)
根據(jù)具體應(yīng)用環(huán)境,選用MT9P401的電子卷簾快門(mén)模式作為圖像采樣模式。為了采集到連續(xù)的幀有效信號(hào)(Frame_Valid)和行有效信號(hào)(Line_Valid),通過(guò)I2C總線對(duì)MT9P401內(nèi)部的(11)H和(30)H兩個(gè)寄存器分別進(jìn)行設(shè)置,其余內(nèi)部寄存器保持默認(rèn)值。整個(gè)程序采用Verilog HDL語(yǔ)言編寫(xiě),采用自頂向下的設(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分頻得到,通過(guò)設(shè)計(jì)時(shí)鐘計(jì)數(shù)器的方式來(lái)編寫(xiě)時(shí)鐘分頻程序。CMOS圖像傳感器的外部輸入時(shí)鐘EXTCLK需要較高的穩(wěn)定性,為了產(chǎn)生合理的時(shí)鐘信號(hào),利用Altera的IP工具,在QuartusⅡ軟件中通過(guò)MegaWizard設(shè)計(jì)一個(gè)PLL倍頻時(shí)鐘,使其輸出頻率為100 MHz,滿足CMOS圖像傳感器的外部輸入時(shí)鐘要求。
I2C總線控制模塊是程序設(shè)計(jì)的核心模塊,主要完成控制I2C總線上主從設(shè)備的起始、讀寫(xiě)、停止等狀態(tài)的轉(zhuǎn)換。首先對(duì)EP2C8T144C8的內(nèi)部寄存器進(jìn)行初始化,此時(shí)如果寫(xiě)使能信號(hào)(wr_enable)為高,則EP2C8T144C8向MT9P401發(fā)送從器件寫(xiě)地址(BA)H,收到響應(yīng)位后發(fā)送需要進(jìn)行寫(xiě)操作的MT9P401的內(nèi)部寄存器地址,收到響應(yīng)位后繼續(xù)發(fā)送需要寫(xiě)入寄存器的數(shù)據(jù)。若寫(xiě)使能信號(hào)(wr_enable)為低,則開(kāi)始對(duì)MT9P401的內(nèi)部寄存器進(jìn)行讀操作。其程序流程如圖2所示。#p#分頁(yè)標(biāo)題#e#
3 電路仿真與實(shí)現(xiàn)
本設(shè)計(jì)選用Altera公司的QuartusⅡ6.0軟件工具進(jìn)行開(kāi)發(fā)。通過(guò)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í)通過(guò)I2C的串行數(shù)據(jù)線SDA依次對(duì)MT9P401內(nèi)部的(11)H和(30)H兩個(gè)寄存器進(jìn)行配置,配置過(guò)程遵循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í)序要求,說(shuō)明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à)值。
轉(zhuǎn)載請(qǐng)注明出處。