隨著(zhù)CMOS技術(shù)的發(fā)展,原來(lái)CMOS圖像傳感器比CCD噪聲大的特點(diǎn)得到大大改善,并且以其成本低、功耗低、單一工作電壓、集成AD轉換器、數字形式數據輸出、圖像大小可編程控制等優(yōu)點(diǎn),在攝像頭、微型數碼照相機、掃描儀、手機、可視電話(huà)、視頻會(huì )議等眾多領(lǐng)域應用。但要將CMOS的圖像采集到DSP芯片中的硬件設計成本較高,實(shí)現難度較大,F階段,比較多的方案是采用帶視頻控制器的DSP芯片,如TI6000系列中帶有3個(gè)VPO接口的 TMS320DM642和ADI公司帶PPI接口的Blackfin處理器。很多低價(jià)通用的DSP如TI55x系列和67x系列的DSP,與CMOS圖像傳感器都沒(méi)有直接接口,需要設計硬件電路。本文便是針對這種低價(jià)通用的DSP,提出的一種低成本的采集方案。 1 系統設計 由于大部分DSP都有與SDRAM、Flash、SRAM、FIFO等存儲器接口的EMIF接口,而沒(méi)有直接與CMOS/CCD固體圖像傳感器接口的控制器。所以采用CPLD作為圖像傳感器到FIFO以及FIFO到DSP的一個(gè)時(shí)序協(xié)調控制器。同時(shí)由于圖像傳感器的像素時(shí)鐘PIXCLK很高,最高可以達到 48MHz,固體圖像傳感器的圖像數據量大,而FIFO的容量有限,一般都是幾K、幾十K字節,對于高像素的圖像來(lái)說(shuō),FIFO只能充當線(xiàn)緩沖的作用,要作為幀緩沖,除非系統對速度要求很高,否則成本太高。由于采集到DSP中的圖像數據量很大,靠寫(xiě)文件的方式來(lái)驗證采集的數據非常慢,所以本系統采用 GPIO設計了一個(gè)SD卡的控制器,通過(guò)寫(xiě)BMP文件,對采集的圖像進(jìn)行驗證。系統設計框圖如圖1所示。 本系統設計的關(guān)鍵在于DSP采用何種方式去讀取FIFO中的圖像數據。很多方案中都是啟動(dòng)EDMA讀取FIFO中的圖像數據,當FIFO半滿(mǎn)時(shí)中斷DSP 啟動(dòng)EDMA讀取數據,這樣對FIFO讀時(shí)鐘的頻率要求很高,需要讀時(shí)鐘為寫(xiě)時(shí)鐘的2倍。但這種方案存在問(wèn)題,即FIFO時(shí)鐘的選擇問(wèn)題。EMIF口的在EDMA啟動(dòng)的過(guò)程中都是一些不穩定不規則的負脈沖信號,難以選擇作為FIFO的讀時(shí)鐘。這種采用EDMA的方案在TMS320DM642中可行,因為T(mén)MS320DM642能與FIFO無(wú)縫連接。 2 硬件設計 2.1 硬件電路圖 本系統硬件連接如圖2所示,所采用的圖像傳感器型號是MT9T001,它是一款主要針對數碼相機領(lǐng)域的CMOS圖像傳感器。與其他的CMOS圖像傳感器相比,MT9T001有以下明顯的特點(diǎn): (1)像素大小可以通過(guò)IIC接口改變相應寄存器進(jìn)行硬件裁剪。 (2)高的幀速,輸出為QXGA分辨率(2 048×1 536)時(shí),可以達到12f/s,而輸出為VGA分辨率(320×240)時(shí),有93f/s。 (3)高性能的低照度成像性能。 (4)具有AF對焦窗口的圖像輸出格式,如圖3所示,(2 048×512)時(shí),可以達到30f/s。 硬件設計主要體現在CPLD的邏輯上面。本系統采用ALTERA公司的CPLD芯片EPM240作為系統的邏輯控制器件,有80個(gè)I/O引腳和240個(gè)邏輯單元,資源足夠滿(mǎn)足各種方式的采集設計的需要。 DSP采用TI公司的TMS320C6711DSK板,TMS320C6711DSK有以下特點(diǎn): (1)板上留有2個(gè)80腳的接口,方便系統擴展; (2)EMIF接口有兩種時(shí)鐘模式可以選擇,時(shí)鐘頻率分別為150MHz和100MHz; (3)100MHz的16MB同步動(dòng)態(tài)存儲器(SDRAM); (4)直接提供1.8V和3.3V直流電源; (5)JTAG仿真器,可支持并口或外接X(jué)DS510支持; (6)1個(gè)并行接口,主機可通過(guò)該并口訪(fǎng)問(wèn)開(kāi)發(fā)板上的存儲器; (7)150MHz主頻,可執行900 MFLOPS浮點(diǎn)操作; (8)128KB的可編程Flash存儲器; (9)16位語(yǔ)音CODEC電路。 2.2 CPLD內部的邏輯 TMS320C6711的EMIF口連接異步存儲器的時(shí)序如圖4所示。 從時(shí)序圖可以看出, 在的上升沿便讀取一次數據,所以用這個(gè)引腳來(lái)作為讀取FIFO的時(shí)鐘最合適。如果用ECLKOUT讀取,需要在CPLD中設計計數器,很不方便,也不靈活。圖5為CPLD內部邏輯圖。 圖5 邏輯連接圖 3 軟件設計 3.1 圖像傳感器的配置 SCLK和SDATA兩條線(xiàn)構成了該串行總線(xiàn),SCLK為串行時(shí)鐘,SDATA為串行數據。兩條線(xiàn)通過(guò)1.5kΩ的電阻上拉到3.3V。在實(shí)際應用中,通過(guò)上拉1.3kΩ電阻,用TMS320VC6711(外擴一片EPM240實(shí)現)模擬總線(xiàn)時(shí)序,完全可以達到要求。其操作方法幾乎和IIC總線(xiàn)一樣,在速度和位數上稍微有一點(diǎn)差別,限于篇幅不再贅述。圖6為寫(xiě)時(shí)序圖,圖7為讀時(shí)序圖。 芯片內部集成了模擬處理電路(10bit A/D轉換器,放大器)、時(shí)鐘控制電路(反相,相位調節)、圖像大小調節、原點(diǎn)定位、白平衡調節、曝光調節、幀速率調節等眾多功能電路,所有這些控制都通過(guò)一個(gè)串行總線(xiàn)口進(jìn)行操作(SCLK和SDATA)。數據輸出則為10bit并行口,數據同步時(shí)鐘PIXCLK,行同步LINE_VALID和幀同步信號 FRAME_VALID。 在本系統設計中,由于在綠色通道增益最低的情況下采集到的圖像還是偏綠,所以對紅色和藍色通道的增益調大了少許。 3.2 系統的主體程序 視頻采集系統軟件需要完成CMOS圖像傳感器圖像數據的采集、轉換和圖像數據的存儲功能。 為了便于后期圖像處理和分析工作,采用了DSP BIOS的程序設計架構。BIOS上的程序總體設計流程圖如圖8所示。 中斷觸發(fā)源采用了EXT4,即外部中斷引腳中斷。而外部引腳連接的是行有效信號,這樣,每一行便觸發(fā)一次中斷,然后在中斷服務(wù)程序中通過(guò)讀取FIFO的數據到SDRAM中,完成一行數據的采集,通過(guò)行計數器來(lái)判斷一幀是否傳完。值得注意的是,本系統的軟件設計沒(méi)有采用兩級中斷來(lái)保證第一行讀到的圖像數據就是圖像本身的第一行,而是采用讀取行同步信號的上升沿來(lái)簡(jiǎn)化程序。 由于在TI公司的CCS3.1開(kāi)發(fā)環(huán)境下面寫(xiě)文件方式的速度太慢,所以采用DSP寫(xiě)SD卡的方法來(lái)保存圖像數據,采集到更加清晰的圖像,如圖9。 MT9T001圖像傳感器的靈敏度很高,在很低的照度下都能清晰成像。要調整好鏡頭的光圈以避免出現局部過(guò)曝光的現象。 雖然采用DSP的EMIF接口外加FIFO行緩沖器的方案沒(méi)有那些有專(zhuān)門(mén)視頻接口的DSP(如DM642)的VP0-VP3端口方便,但本方案具有成本上的優(yōu)勢;同時(shí)在浮點(diǎn)運算特別多的圖像算法中,本方案的算法效率要比DM642高。本方案對很多沒(méi)有視頻控制器的DSP具有通用性;另外,本方案擴展了一片 CPLD,可以對硬件控制進(jìn)行一些靈活的處理,如可以通過(guò)對HD信號靈活計數,控制閃光燈的點(diǎn)亮時(shí)間等。 實(shí)驗證明,本系統適合帶有EMIF接口的DSP系統,這種圖像采集接口還能很好地移植到其他基于DSP的圖像采集與處理系統中。 |