基于DM642的高分辨率紅外熱像儀設(shè)計與實現(xiàn)
紅外成像技術(shù)早期在軍事領(lǐng)域有著廣泛的應(yīng)用[1],隨著非制冷紅外熱成像技術(shù)的生產(chǎn)成本大幅度降低以及紅外成像和測溫具有非接觸、無損等特點,該產(chǎn)品的應(yīng)用目前已延伸到了電力、消防、工業(yè)、醫(yī)療、安防等各個領(lǐng)域。
常見的熱像儀都是以FPGA、DSP、ARM為核心實現(xiàn),其中以FPGA為核心的嵌入系統(tǒng)[2]具有并行處理和實時性強的優(yōu)點,只是FPGA在任務(wù)調(diào)度、網(wǎng)絡(luò)協(xié)議等功能設(shè)計上處理起來較為復(fù)雜。以ARM為核心的嵌入系統(tǒng)[3]能夠輕松實現(xiàn)多任務(wù)調(diào)度、移植各種復(fù)雜的網(wǎng)絡(luò)協(xié)議及實現(xiàn)多種IO接口,但ARM的處理器架構(gòu)在實時性和高吞吐量上能力較差。
為實現(xiàn)更高性價比,滿足紅外圖像數(shù)據(jù)處理和傳輸要求,本文提出以TI公司的DM642處理器為核心設(shè)計紅外熱像儀。從硬件上看,該處理器主頻能夠工作在600 MHz以上,并且片內(nèi)具有多總線、多處理器單元,具有多種IO總線和多通道EDMA,加上片內(nèi)自帶的VP口、EMIF接口和EMAC控制器,能夠無縫連接外部設(shè)備,如FPGA、SDRAM、FLASH、網(wǎng)絡(luò)物理層芯片等。同時為了降低設(shè)計復(fù)雜性和更好地利用處理器硬件資源,TI公司還針對6000系列的高性能DSP處理器,提供BIOS操作系統(tǒng)、DDK驅(qū)動開發(fā)包、NDK網(wǎng)絡(luò)協(xié)議棧開發(fā)包以及RF5程序框架等。利用DM642和TI達芬奇多核系列DSP處理器的軟硬件通用性,基于DM642設(shè)計的嵌入系統(tǒng)還可以很方便地移植到性能更強的達芬奇平臺。
1 設(shè)計總體框架
總體設(shè)計如圖1所示。首先紅外探測器把熱輻射轉(zhuǎn)換為電信號數(shù)據(jù);其次FPGA接收探測器串行輸出的數(shù)據(jù)并調(diào)整時序后加入行同步和場同步信號形成RAW格式的熱圖數(shù)據(jù),這種RAW格式的數(shù)據(jù)可以直接通過DM642的采集VP口輸入到DSP中。當VP口采集到一幀以后就會給DM642產(chǎn)生輸入中斷,此時DM642就可以對熱圖數(shù)據(jù)進行非均勻性校正[4]、直方圖均衡、溫度計算,模擬視頻生成、數(shù)字視頻網(wǎng)絡(luò)傳輸?shù)忍幚?。由于選用的是處理性能強的DM642,結(jié)合TI公司的BIOS操作系統(tǒng)及DDK、NDK、RF5等開發(fā)軟件包,因此本設(shè)計可以選用價格較為低廉的FPGA芯片進行數(shù)據(jù)采集的時序處理,如EP1C6T144C8,從而把復(fù)雜的數(shù)據(jù)處理和傳輸?shù)裙δ芊诺紻M642芯片中,提高系統(tǒng)的穩(wěn)定性和靈活性。
2 硬件設(shè)計
2.1 紅外探測器接口電路
紅外探測器選用FILR公司的Photon 640機芯,該探測器實現(xiàn)熱輻射到電信號的轉(zhuǎn)換。機芯內(nèi)置非制冷氧化釩(VOx)焦平面陣列,像素分辨率達到640×480,提供8 bit或14 bit的串行低電壓差分信號LVDS(Low Voltage Differential Signaling)圖像輸出,并且可以方便地通過串口進行配置。由圖2所示,機芯提供8根引腳輸出,其中數(shù)據(jù)時鐘PH_DCLK+和PH_DCLK-、幀同步時鐘PH_FSYNC+和PH_FSYNC-、數(shù)據(jù)輸出PH_DATA+和PH_DATA-,均為LVDS信號格式,通過DS90LV032A芯片轉(zhuǎn)換為3 V CMOS信號,轉(zhuǎn)換后的數(shù)據(jù)信號和時鐘信號輸出到FPGA中對應(yīng)引腳。TXD_PHOTON和RXD_PHOTON為串口發(fā)送和接收引腳,通過MAX3232CD芯片轉(zhuǎn)換為TTL信號后連接到DM642對應(yīng)的引腳上。
2.2 FPGA的接口設(shè)計
FPGA采用Altera Cyclone系列的EP1C6T144C8,包含5 980個邏輯單元,價格低廉、處理性能適中。主要實現(xiàn)以下功能接口:(1)紅外探測器接口。根據(jù)機芯輸出的時鐘信號和幀同步信號把熱圖數(shù)據(jù)采集到FPGA,并且為了和DM642的VP采集口的RAW格式數(shù)據(jù)一致,還需要在采集的熱圖數(shù)據(jù)中添加行同步和幀同步信號。(2)ADV7179編碼器配置和時鐘接口。為了降低DM642 I2C控制的復(fù)雜度,對編碼器的配置和初始化通過FPGA完成,并且為了顯示PAL格式的紅外模擬視頻,編碼器還需要一個27 MHz的時鐘信號,該信號也是通過FPGA的PLL模塊產(chǎn)生。(3)DM642接口。分別包括:16 bit的數(shù)據(jù)接口,輸入用VP1,因此需要和VP1的DATA[9:2]以及 DATA[19:12]連接;采集使能接口 VP1CTL0;采集時鐘接口VP1CLK0。具體如圖3所示,H為行同步,V為幀同步,F(xiàn)PGA在VP1CTL0為高電平時輸出一行數(shù)據(jù),數(shù)據(jù)的采集時鐘為VP1CLK0。
2.3 DM642的接口設(shè)計
DM642作為系統(tǒng)設(shè)計的核心,其主要接口如圖4所示,主要包括:(1)通過EMIF總線對SDRAM和FLASH進行數(shù)據(jù)讀寫。FLASH主要保存程序代碼、與熱像儀相關(guān)的配置和測溫系數(shù)等數(shù)據(jù);SDRAM是程序運行中需要用到的外部存儲器,由于基于BIOS操作系統(tǒng)的代碼量都較大,無法把程序和數(shù)據(jù)都加載到DM642的L2緩存中,因此必須合理使用SDRAM,并且將其配置為L2的外部CACHE,通過EDMA通道和L2對應(yīng)一致。(2)編碼器接口。ADV7179的時鐘信號和初始化由FPGA提供,但編碼器的輸入數(shù)據(jù)由DM642通過VP0提供,數(shù)據(jù)格式是8位寬的BT.656格式,內(nèi)嵌同步信號,因此這里不再需要提供額外的行同步和幀同步信息。(3)FPGA接口。這部分在介紹FPGA接口設(shè)計時已經(jīng)提到,DM642需要把VP1配置為RAW格式的采集模式,采集寬度為16位,采集時鐘和采集使能信號都由FPGA提供。(4)EMAC接口。DM642內(nèi)嵌EMAC控制器,并且在片內(nèi)由EDMA通道及通過專用的EMAC數(shù)據(jù)線和外部物理層芯片LXT971ALC連接,這種架構(gòu)設(shè)計正是DM642網(wǎng)絡(luò)通信性能優(yōu)異的保證,具體的測試結(jié)果在實驗與總結(jié)部分給出。EMAC控制器還可以通過MDIO接口對LXT971ALC芯片進行配置,獲取以太網(wǎng)連接狀態(tài)信息等。(5)I2C接口,該接口主要用來配置探測器,使得探測器工作在合適的模式,并且獲取相關(guān)的配置信息,如探測器內(nèi)部溫度、控制快門校正等。
評論