基于CPLD的圖像傳感器非均勻性校正
2. 1 硬件設計
目前,在非均勻性校正的硬件實(shí)現上,采用的都是1點(diǎn)或2點(diǎn)校正法. 電路由計數器、存儲器、A /D轉換器和D /A轉換器等器件組成 . 通常,只能針對某個(gè)特定型號的圖像傳感器進(jìn)行電路板制作,擴展性較差,而且,電路工作頻率較低. 采用這些器件很難實(shí)現多點(diǎn)實(shí)時(shí)校正.
為了實(shí)現非均勻性多點(diǎn)實(shí)時(shí)校正,筆者設計了基于復雜可編程邏輯器件(CPLD)的校正系統. 該系統以CPLD EPM7512AE為核心,包括輸入和輸出信號調理電路、高速A/D采樣單元、D/A轉換單元和FLASH存儲器等功能模塊. 系統結構如圖2所示.

圖2 校正系統結構圖
校正系統通過(guò)輸入信號調理單元將接收到的圖像傳感器視頻輸出信號進(jìn)行預處理,將信號調整到A/D轉換器(ADC) TLV5580的采樣電壓范圍內.系統控制核心CPLD接收圖像傳感器工作信號,根據視頻信號串行輸出的規律,產(chǎn)生控制TLV5580工作的時(shí)鐘信號和轉換數據輸出使能信號,從而控制TLV5580對經(jīng)過(guò)調理的視頻信號進(jìn)行采樣量化,并將量化后的數字信號實(shí)時(shí)讀入CPLD. 同時(shí), CPLD 從FLASH存儲器W29C040的相應單元中讀出斜率和偏置校正系數,實(shí)現式(4)描述的校正算法,完成對各個(gè)視頻信號的實(shí)時(shí)非均勻性校正.
CPLD還產(chǎn)生D/A轉換器(DAC) TL5632C工作時(shí)鐘信號,控制TL5632C將校正后的數字信號實(shí)時(shí)地轉換成模擬信號,并由輸出信號調理單元將該模擬信號調理為一個(gè)范圍合適的電壓信號作為校正系統的輸出(即經(jīng)過(guò)校正的視頻信號).
2. 2 CPLD設計思想
作為控制核心的CPLD是一種半定制器件,它最大的優(yōu)點(diǎn)就是采用編程的方式定制其具體實(shí)現的硬件電路,指定CPLD的硬件實(shí)現功能. 筆者主要采用硬件描述語(yǔ)言VHDL,并結合原理圖方式在MAX + PLUSⅡ集成開(kāi)發(fā)環(huán)境下進(jìn)行CPLD 功能的設計. 采用VHDL語(yǔ)言的設計方法,可實(shí)現器件的無(wú)關(guān)性,并且功能實(shí)現靈活、修改方便. CPLD的應用以及VHDL設計方法的使用為校正系統能靈活地適用于不同圖像傳感器的校正以及實(shí)現不同的校正算法提供了可能和保證.
根據系統校正功能要求及工作流程, CPLD 實(shí)現的功能主要包括:
1) 分頻器. 分頻器對晶振信號進(jìn)行分頻,產(chǎn)生校正系統協(xié)調工作的時(shí)鐘基準信號. 分頻器采用VHDL進(jìn)行設計,可以根據不同的晶振、不同的圖像傳感器工作頻率,靈活、方便地選擇不同的分頻數,產(chǎn)生合適的時(shí)鐘基準信號.
2) ADC控制信號發(fā)生模塊. 該模塊采用VHDL進(jìn)行設計,根據分頻器產(chǎn)生的時(shí)鐘基準信號和圖像傳感器的工作信號,產(chǎn)生能夠準確控制TLV5580工作的時(shí)鐘信號和轉換數據輸出使能信號,保證TLV5580實(shí)時(shí)、準確地采集經(jīng)過(guò)調理后的視頻輸出信號.
3) 地址發(fā)生器. 地址發(fā)生器產(chǎn)生讀取FLASH存儲器中斜率和偏置校正系數的地址信號. 由于每個(gè)光敏元在每個(gè)輻照度子區域有一組數據(一個(gè)斜率校正系數和一個(gè)偏置校正系數) ,為了方便讀取,將同一輻照度子區域的所有光敏元的校正系數按照在圖像傳感器中的相對位置順序存儲. 所以,同一光敏元在不同子區域下的數據地址,高位地址不同,低位地址則完全相同;同一子區域內不同光敏元的數據地址,則高位相同,低位不同. 因此,地址發(fā)生器由2部分構成:高位地址發(fā)生器和低位地址發(fā)生器.
高位地址發(fā)生器實(shí)質(zhì)上是一個(gè)比較器,確定當前圖像傳感器所測量的輻照度所處的子區域. 其設計思想是:將采集到的第1個(gè)光敏元的視頻信號和預先設定的對應于每段輻照度子區域的邊界值進(jìn)行比較,根據比較的結果產(chǎn)生相應的高位地址. 由于采用并行執行的指令來(lái)實(shí)現,能夠很好地滿(mǎn)足實(shí)時(shí)處理的要求.低位地址發(fā)生器根據視頻信號逐一串行輸出的特點(diǎn)以及TLV5580工作特點(diǎn)(每個(gè)工作時(shí)鐘采集1個(gè)光敏元的輸出信號)進(jìn)行設計,實(shí)質(zhì)上是一個(gè)計數器,只需對TLV5580工作時(shí)鐘信號進(jìn)行計數,就能產(chǎn)生相應的低位地址.
4) 校正模塊. 由乘法和加法2個(gè)子模塊構成,分別采用MAX + PLUS Ⅱ提供的功能單元LPM_MULT和LPM_ADD_SUB來(lái)實(shí)現. 校正模塊將采集到的視頻信號以及從FLASH存儲器讀取的相應校正系數按照式(4)進(jìn)行處理,實(shí)現圖像傳感器的實(shí)時(shí)非均勻性校正.
5) DAC控制信號發(fā)生模塊. 產(chǎn)生控制TL5632C工作的時(shí)鐘信號,指揮TL5632C實(shí)時(shí)地將校正后的數字視頻信號轉換為模擬信號.
由于非均勻性校正功能的實(shí)現對時(shí)序要求嚴格,在程序的設計中,一定要注意時(shí)序的合理性. 將程序編寫(xiě)出來(lái)后,首先進(jìn)行了仿真實(shí)驗,在得到期望的工作波形數據后,進(jìn)行邏輯綜合生成網(wǎng)絡(luò )表和下載文件,最后將程序文件下載到EPM7512AE中,以便進(jìn)行下一步對圖像傳感器非均勻性校正指標的測試.
3 實(shí)驗結果
筆者以重慶大學(xué)研制的CL512J型自?huà)呙韫怆姸O管陣列( SSPA)圖像傳感器作為對象,進(jìn)行6點(diǎn)非均勻性實(shí)時(shí)校正的實(shí)驗. CL512J是一種具有512個(gè)光敏元的線(xiàn)陣列圖像傳感器. 其工作波形如圖3所示,以起始脈沖S信號(低電平有效)表示每一次掃描輸出的開(kāi)始. 光敏元的視頻輸出電壓Uo 與時(shí)鐘信號CP同步,在CP的上升沿時(shí)刻開(kāi)始輸出,經(jīng)過(guò)短暫的上升時(shí)間后,穩定下來(lái);在CP為低電平時(shí),輸出變?yōu)?. 因此,將S和CP信號引入校正系統作為CPLD產(chǎn)生各種控制信號的基本依據.在實(shí)驗中, 首先通過(guò)數據采集卡和計算機, 將 CL512J 的校正系數計算出來(lái), 按指定地址保存在FLASH存儲器中.

圖3 CL512J工作波形
然后, 在MAX + PLUS Ⅱ開(kāi)發(fā)環(huán)境下, 根據CL512J的具體情況(光敏元個(gè)數、工作頻率、視頻信號串行輸出的特點(diǎn)等) ,設計出相應的程序,經(jīng)過(guò)仿真驗證后,將程序文件下載到CPLD中.最后,將CL512J的視頻信號接入校正系統,并利用示波器觀(guān)察校正前后的視頻電壓波形. 圖4給出了一個(gè)實(shí)時(shí)校正的實(shí)驗結果,上面一條曲線(xiàn)是CL512J實(shí)際的視頻輸出信號,下面一條是經(jīng)過(guò)校正后的視頻信號. 校正前, 輸出信號最大值為2V, 最小值不足0. 8V,非均勻性超過(guò)40%. 校正后,電壓信號在2V附近變化,非均勻性約為2%. 由于TLV5580等器件的工作特點(diǎn),校正信號延遲約5個(gè)CP時(shí)鐘后輸出.

圖4 不均勻性校正實(shí)驗結果圖
4 結束語(yǔ)
設計的非均勻性校正算法以及硬件校正系統,能夠有效地實(shí)現圖像傳感器的多點(diǎn)實(shí)時(shí)非均勻性校正.采用CPLD作為核心構成的校正系統具有功耗低、抗干擾能力強、功能實(shí)現方便和擴展靈活等優(yōu)點(diǎn),能夠有效地適用于多種圖像傳感器的校正.但是,由于存在光電轉換曲線(xiàn)分段線(xiàn)性化誤差、A/D轉換器和D/A轉換器等器件轉換精度問(wèn)題以及實(shí)驗條件的限制等客觀(guān)原因,影響了圖像傳感器非均勻性校正效果的進(jìn)一步提高.
評論