《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于DM642的高分辨率紅外熱像儀設(shè)計(jì)與實(shí)現(xiàn)
基于DM642的高分辨率紅外熱像儀設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2011年第4期
劉 波1,2,3,房 斌1,張世勇3,吳 華4,青紅宏5
1.重慶大學(xué) 計(jì)算機(jī)學(xué)院,重慶400044; 2.電子商務(wù)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶400067; 3.重慶工商大學(xué) 計(jì)算機(jī)科學(xué)與信息工程學(xué)院,重慶400067; 4.重慶大學(xué) 通信工程學(xué)院,重慶400044; 5.重慶工商大學(xué) 商務(wù)策劃學(xué)院,重慶400067
摘要: 提出了一種基于DM642處理器和DSP/BIOS操作系統(tǒng)的紅外熱像儀設(shè)計(jì)方案。通過(guò)PHOTON640紅外探測(cè)器機(jī)芯實(shí)現(xiàn)熱輻射到電信號(hào)的轉(zhuǎn)換,轉(zhuǎn)換后的信號(hào)通過(guò)FPGA采集并調(diào)整時(shí)序后直接輸出到DSP的采集VP口。DM642對(duì)原始數(shù)據(jù)進(jìn)行校正、測(cè)溫等處理后通過(guò)網(wǎng)絡(luò)輸出未壓縮的高分辨率紅外圖像,同時(shí)通過(guò)顯示VP口輸出紅外模擬視頻。
中圖分類號(hào): TP334
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)04-0033-04
Design and implementation of high resolution thermal infrared camera based on DM642
Liu Bo1,2,3,F(xiàn)ang Bin1,Zhang Shiyong3,Wu Hua4,Qing Honghong5
1.College of Computer Science, Chongqing University,Chongqing 400044,China; 2.Chongqing Key Laboratory of Electronic Commerce,Chongqing 400067,China; 3.School of Computer Science and Information Engineering,Chongqing Technology and Business University, Chongqing 400067,China; 4.College of Communications Engineering, Chongqing University,Chongqing 400044,China; 5.College of Strategical Planning,Chongqing Technology and Business University,Chongqing 400067,China
Abstract: A design scheme of thermal infrared camera based on DM642 and DSP/BIOS is presented.Firstly,The conversion of thermal radiation to electrical signal with the utilization of PHOTON 640 is achieved.Then the converted signal is collected through the FPGA and transmitted to VP1 of DM642.Finally,infrared data was processed with nonuniformity correction and send to the host computer to display through the EMAC interface of DM642.
Key words : thermal infrared camera;high resolution;BIOS operating system;DM642


    紅外成像技術(shù)早期在軍事領(lǐng)域有著廣泛的應(yīng)用[1],隨著非制冷紅外熱成像技術(shù)的生產(chǎn)成本大幅度降低以及紅外成像和測(cè)溫具有非接觸、無(wú)損等特點(diǎn),該產(chǎn)品的應(yīng)用目前已延伸到了電力、消防、工業(yè)、醫(yī)療、安防等各個(gè)領(lǐng)域。
    常見(jiàn)的熱像儀都是以FPGA、DSP、ARM為核心實(shí)現(xiàn),其中以FPGA為核心的嵌入系統(tǒng)[2]具有并行處理和實(shí)時(shí)性強(qiáng)的優(yōu)點(diǎn),只是FPGA在任務(wù)調(diào)度、網(wǎng)絡(luò)協(xié)議等功能設(shè)計(jì)上處理起來(lái)較為復(fù)雜。以ARM為核心的嵌入系統(tǒng)[3]能夠輕松實(shí)現(xiàn)多任務(wù)調(diào)度、移植各種復(fù)雜的網(wǎng)絡(luò)協(xié)議及實(shí)現(xiàn)多種IO接口,但ARM的處理器架構(gòu)在實(shí)時(shí)性和高吞吐量上能力較差。
    為實(shí)現(xiàn)更高性價(jià)比,滿足紅外圖像數(shù)據(jù)處理和傳輸要求,本文提出以TI公司的DM642處理器為核心設(shè)計(jì)紅外熱像儀。從硬件上看,該處理器主頻能夠工作在600 MHz以上,并且片內(nèi)具有多總線、多處理器單元,具有多種IO總線和多通道EDMA,加上片內(nèi)自帶的VP口、EMIF接口和EMAC控制器,能夠無(wú)縫連接外部設(shè)備,如FPGA、SDRAM、FLASH、網(wǎng)絡(luò)物理層芯片等。同時(shí)為了降低設(shè)計(jì)復(fù)雜性和更好地利用處理器硬件資源,TI公司還針對(duì)6000系列的高性能DSP處理器,提供BIOS操作系統(tǒng)、DDK驅(qū)動(dòng)開(kāi)發(fā)包、NDK網(wǎng)絡(luò)協(xié)議棧開(kāi)發(fā)包以及RF5程序框架等。利用DM642和TI達(dá)芬奇多核系列DSP處理器的軟硬件通用性,基于DM642設(shè)計(jì)的嵌入系統(tǒng)還可以很方便地移植到性能更強(qiáng)的達(dá)芬奇平臺(tái)。
1 設(shè)計(jì)總體框架
    總體設(shè)計(jì)如圖1所示。首先紅外探測(cè)器把熱輻射轉(zhuǎn)換為電信號(hào)數(shù)據(jù);其次FPGA接收探測(cè)器串行輸出的數(shù)據(jù)并調(diào)整時(shí)序后加入行同步和場(chǎng)同步信號(hào)形成RAW格式的熱圖數(shù)據(jù),這種RAW格式的數(shù)據(jù)可以直接通過(guò)DM642的采集VP口輸入到DSP中。當(dāng)VP口采集到一幀以后就會(huì)給DM642產(chǎn)生輸入中斷,此時(shí)DM642就可以對(duì)熱圖數(shù)據(jù)進(jìn)行非均勻性校正[4]、直方圖均衡、溫度計(jì)算,模擬視頻生成、數(shù)字視頻網(wǎng)絡(luò)傳輸?shù)忍幚?。由于選用的是處理性能強(qiáng)的DM642,結(jié)合TI公司的BIOS操作系統(tǒng)及DDK、NDK、RF5等開(kāi)發(fā)軟件包,因此本設(shè)計(jì)可以選用價(jià)格較為低廉的FPGA芯片進(jìn)行數(shù)據(jù)采集的時(shí)序處理,如EP1C6T144C8,從而把復(fù)雜的數(shù)據(jù)處理和傳輸?shù)裙δ芊诺紻M642芯片中,提高系統(tǒng)的穩(wěn)定性和靈活性。


2 硬件設(shè)計(jì)
2.1 紅外探測(cè)器接口電路

    紅外探測(cè)器選用FILR公司的Photon 640機(jī)芯,該探測(cè)器實(shí)現(xiàn)熱輻射到電信號(hào)的轉(zhuǎn)換。機(jī)芯內(nèi)置非制冷氧化釩(VOx)焦平面陣列,像素分辨率達(dá)到640×480,提供8 bit或14 bit的串行低電壓差分信號(hào)LVDS(Low Voltage Differential Signaling)圖像輸出,并且可以方便地通過(guò)串口進(jìn)行配置。由圖2所示,機(jī)芯提供8根引腳輸出,其中數(shù)據(jù)時(shí)鐘PH_DCLK+和PH_DCLK-、幀同步時(shí)鐘PH_FSYNC+和PH_FSYNC-、數(shù)據(jù)輸出PH_DATA+和PH_DATA-,均為L(zhǎng)VDS信號(hào)格式,通過(guò)DS90LV032A芯片轉(zhuǎn)換為3 V CMOS信號(hào),轉(zhuǎn)換后的數(shù)據(jù)信號(hào)和時(shí)鐘信號(hào)輸出到FPGA中對(duì)應(yīng)引腳。TXD_PHOTON和RXD_PHOTON為串口發(fā)送和接收引腳,通過(guò)MAX3232CD芯片轉(zhuǎn)換為TTL信號(hào)后連接到DM642對(duì)應(yīng)的引腳上。

2.2 FPGA的接口設(shè)計(jì)
    FPGA采用Altera Cyclone系列的EP1C6T144C8,包含5 980個(gè)邏輯單元,價(jià)格低廉、處理性能適中。主要實(shí)現(xiàn)以下功能接口:(1)紅外探測(cè)器接口。根據(jù)機(jī)芯輸出的時(shí)鐘信號(hào)和幀同步信號(hào)把熱圖數(shù)據(jù)采集到FPGA,并且為了和DM642的VP采集口的RAW格式數(shù)據(jù)一致,還需要在采集的熱圖數(shù)據(jù)中添加行同步和幀同步信號(hào)。(2)ADV7179編碼器配置和時(shí)鐘接口。為了降低DM642 I2C控制的復(fù)雜度,對(duì)編碼器的配置和初始化通過(guò)FPGA完成,并且為了顯示PAL格式的紅外模擬視頻,編碼器還需要一個(gè)27 MHz的時(shí)鐘信號(hào),該信號(hào)也是通過(guò)FPGA的PLL模塊產(chǎn)生。(3)DM642接口。分別包括:16 bit的數(shù)據(jù)接口,輸入用VP1,因此需要和VP1的DATA[9:2]以及 DATA[19:12]連接;采集使能接口 VP1CTL0;采集時(shí)鐘接口VP1CLK0。具體如圖3所示,H為行同步,V為幀同步,F(xiàn)PGA在VP1CTL0為高電平時(shí)輸出一行數(shù)據(jù),數(shù)據(jù)的采集時(shí)鐘為VP1CLK0。

2.3 DM642的接口設(shè)計(jì)
    DM642作為系統(tǒng)設(shè)計(jì)的核心,其主要接口如圖4所示,主要包括:(1)通過(guò)EMIF總線對(duì)SDRAM和FLASH進(jìn)行數(shù)據(jù)讀寫。FLASH主要保存程序代碼、與熱像儀相關(guān)的配置和測(cè)溫系數(shù)等數(shù)據(jù);SDRAM是程序運(yùn)行中需要用到的外部存儲(chǔ)器,由于基于BIOS操作系統(tǒng)的代碼量都較大,無(wú)法把程序和數(shù)據(jù)都加載到DM642的L2緩存中,因此必須合理使用SDRAM,并且將其配置為L(zhǎng)2的外部CACHE,通過(guò)EDMA通道和L2對(duì)應(yīng)一致。(2)編碼器接口。ADV7179的時(shí)鐘信號(hào)和初始化由FPGA提供,但編碼器的輸入數(shù)據(jù)由DM642通過(guò)VP0提供,數(shù)據(jù)格式是8位寬的BT.656格式,內(nèi)嵌同步信號(hào),因此這里不再需要提供額外的行同步和幀同步信息。(3)FPGA接口。這部分在介紹FPGA接口設(shè)計(jì)時(shí)已經(jīng)提到,DM642需要把VP1配置為RAW格式的采集模式,采集寬度為16位,采集時(shí)鐘和采集使能信號(hào)都由FPGA提供。(4)EMAC接口。DM642內(nèi)嵌EMAC控制器,并且在片內(nèi)由EDMA通道及通過(guò)專用的EMAC數(shù)據(jù)線和外部物理層芯片LXT971ALC連接,這種架構(gòu)設(shè)計(jì)正是DM642網(wǎng)絡(luò)通信性能優(yōu)異的保證,具體的測(cè)試結(jié)果在實(shí)驗(yàn)與總結(jié)部分給出。EMAC控制器還可以通過(guò)MDIO接口對(duì)LXT971ALC芯片進(jìn)行配置,獲取以太網(wǎng)連接狀態(tài)信息等。(5)I2C接口,該接口主要用來(lái)配置探測(cè)器,使得探測(cè)器工作在合適的模式,并且獲取相關(guān)的配置信息,如探測(cè)器內(nèi)部溫度、控制快門校正等。

3 軟件設(shè)計(jì)
    基于DM642的軟件設(shè)計(jì)有兩種主要方式,其中之一是類似單片機(jī)的程序設(shè)計(jì)方法,主程序是一個(gè)死循環(huán),通過(guò)中斷和定時(shí)器來(lái)實(shí)現(xiàn)各個(gè)任務(wù)的控制。這種方式在程序較大、任務(wù)較多并且任務(wù)間需要同步和通信時(shí)不太適合,難以發(fā)揮出處理器的性能。因此本文采用TI公司針對(duì)C6000芯片的BIOS操作系統(tǒng)來(lái)進(jìn)行軟件設(shè)計(jì),采用多線程技術(shù),對(duì)硬件的訪問(wèn)都通過(guò)BIOS架構(gòu)的Mini-Driver方式,這就保證了系統(tǒng)的穩(wěn)定性和可靠性。
3.1 驅(qū)動(dòng)程序
    對(duì)硬件的訪問(wèn)都封裝成對(duì)應(yīng)的驅(qū)動(dòng)模塊,并且需要用到TI的DDK和NDK開(kāi)放包,主要包括:(1)對(duì)VP1和VP0的驅(qū)動(dòng)設(shè)計(jì),在DDK中TI為了降低設(shè)計(jì)難度,已經(jīng)針對(duì)VP口提供了常用的編碼器和解碼器的驅(qū)動(dòng)模塊,如TVP5146 和TVP5150等,因此可以在現(xiàn)有的VPORT.lib庫(kù)上進(jìn)行修改。具體來(lái)說(shuō)就是把頭文件中的VPORTCAP_Params和VPORTDIS_Params結(jié)構(gòu)中位寬定義字段修改為需要的位寬格式,然后把編碼器和解碼器的OPEN、CLOSE、CTRL函數(shù)中參數(shù)和實(shí)際用到的編碼器和解碼器對(duì)應(yīng)修改即可。修改完后需要重新編譯VPORT工程,把編譯得到的VPORT.lib文件保存到新工程目錄下調(diào)用。(2)TI已經(jīng)在NDK中提供了TCP/IP協(xié)議棧的支持,但NDK要在自己設(shè)計(jì)的板子上運(yùn)行,還需要在用戶板級(jí)驅(qū)動(dòng)包中添加對(duì)EMAC和MDIO的初始化操作。這里在BIOS的全局初始化函數(shù)中首先對(duì)物理層芯片進(jìn)行復(fù)位,然后實(shí)現(xiàn)兩個(gè)回調(diào)函數(shù)_getConfig和_linkStatus,分別實(shí)現(xiàn)對(duì)MAC地址配置和以太網(wǎng)鏈路狀態(tài)信息的讀取。
3.2 主程序設(shè)計(jì)
    主程序流程如圖5所示。首先進(jìn)行硬件初始化,包括CACHE、VP口、EMAC、I2C、EDMA、中斷等;然后啟動(dòng)網(wǎng)絡(luò)監(jiān)聽(tīng)任務(wù)和熱圖采集任務(wù);最后啟動(dòng)數(shù)據(jù)處理任務(wù)和視頻顯示任務(wù)。各個(gè)任務(wù)的功能如下:(1)在熱圖采集任務(wù)中采集到一幀完整的640×480×16 bit的紅外圖像原始數(shù)據(jù)并通過(guò)雙緩沖模式通過(guò)EDMA把數(shù)據(jù)保存在SDRAM中,然后通過(guò)TI提供的RF5框架中的SCOM通信模塊,把地址指針和同步信號(hào)發(fā)送到數(shù)據(jù)處理任務(wù)。(2)數(shù)據(jù)處理任務(wù)把原始紅外數(shù)據(jù)進(jìn)行非均勻性校正、直方圖均衡、溫度計(jì)算等處理,并且同時(shí)生成具有字符疊加后的模擬視頻數(shù)據(jù);然后數(shù)據(jù)處理任務(wù)把模擬視頻數(shù)據(jù)通過(guò)SCOM通信模塊發(fā)送到視頻顯示任務(wù),通過(guò)ADV7179得到PAL格式的模擬紅外視頻。如果熱像傳輸任務(wù)已經(jīng)啟動(dòng),數(shù)據(jù)處理任務(wù)還需要把處理后的熱圖數(shù)據(jù)發(fā)送到熱像傳輸任務(wù)。(3)熱像傳輸任務(wù)和命令收發(fā)任務(wù)都是基于NDK提供的網(wǎng)絡(luò)通信,首先是初始化TCP SOCKET連接并監(jiān)聽(tīng),當(dāng)接收到網(wǎng)絡(luò)來(lái)的連接請(qǐng)求并通過(guò)鑒權(quán)后,再啟動(dòng)對(duì)應(yīng)傳輸和命令收發(fā)任務(wù)。其中熱像傳輸任務(wù)的輸入數(shù)據(jù)是來(lái)自數(shù)據(jù)處理任務(wù),然后通過(guò)TCP協(xié)議發(fā)送到PC計(jì)算機(jī)進(jìn)行顯示、存儲(chǔ)和進(jìn)一步處理。命令收發(fā)任務(wù)接收網(wǎng)絡(luò)傳來(lái)的命令信息,包括對(duì)探測(cè)器的配置、對(duì)熱像儀定標(biāo)數(shù)據(jù)的配置,以及通過(guò)該任務(wù)對(duì)FLASH進(jìn)行讀寫,實(shí)現(xiàn)熱像儀在線軟件更新功能。

    這種基于BIOS操作系統(tǒng)的多線程、多任務(wù)處理方式,充分利用了DM642的高效和并行處理能力,能在保證紅外熱像網(wǎng)絡(luò)傳輸不受干擾的情況下,同時(shí)對(duì)機(jī)芯進(jìn)行有效的命令配置。并且在有多個(gè)PC的上位機(jī)程序同時(shí)通過(guò)網(wǎng)絡(luò)連接熱像儀時(shí),只需要額外啟動(dòng)對(duì)應(yīng)的熱像傳輸線程即可。
4 實(shí)驗(yàn)與總結(jié)
    熱像儀網(wǎng)絡(luò)傳輸?shù)乃俣确浅V匾@是由于紅外圖像通常不希望進(jìn)行有損壓縮,而高分辨率的熱像儀對(duì)網(wǎng)絡(luò)帶寬要求較高。如FLIR公司的PHOTON640機(jī)芯的熱像數(shù)據(jù)輸出為9幀/s,每幀分辨率為640×480,每點(diǎn)14 bit。為了方便處理,在DM642和FPGA的處理中用16 bit存儲(chǔ)每點(diǎn)的數(shù)據(jù),這樣每秒在網(wǎng)絡(luò)中傳輸?shù)膸捴辽傩枰?2 Mb/s。
    為了測(cè)試DM642的傳輸速度并且和基于ARM9的設(shè)計(jì)方案進(jìn)行比較,在百兆局域網(wǎng)中通過(guò)PC和三種設(shè)計(jì)方案的熱像儀原理樣機(jī)直接連接,并用測(cè)試數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)傳輸,其中包括本文的設(shè)計(jì)方案,以及文獻(xiàn)[3]中提出的ARM9+DM9000和ARM9+AX88180。LXT971ALC是物理層芯片,這是由于DM642內(nèi)嵌EMAC控制器,實(shí)現(xiàn)網(wǎng)絡(luò)連接外部只需要物理層芯片即可。而ARM9沒(méi)有內(nèi)嵌EMAC控制器,只能通過(guò)外部通用地址和數(shù)據(jù)總線和外部MAC控制器連接,這里分別選用16位寬的百兆DM9000和32位寬的千兆AX88180 MAC控制器。測(cè)試結(jié)果如表1所示??梢?jiàn)由于處理器架構(gòu)限制,ARM9即使搭配32位寬的千兆MAC芯片,其傳輸速度才33 Mb/s,而DM642卻可以達(dá)到80 Mb/s,能夠?qū)崿F(xiàn)640×480這樣的高清晰度熱像儀無(wú)損網(wǎng)絡(luò)數(shù)據(jù)傳輸。

    基于DM642的嵌入式系統(tǒng)設(shè)計(jì)由于其軟硬件的靈活剪裁,并且能充分利用BIOS的多任務(wù)機(jī)制,非常適合高性能的嵌入式設(shè)備設(shè)計(jì)。本文設(shè)計(jì)的紅外熱像儀可以作為獨(dú)立的手持設(shè)備,也可以方便地通過(guò)網(wǎng)絡(luò)集成到現(xiàn)有系統(tǒng),因此已經(jīng)作為產(chǎn)品,批量地生產(chǎn)應(yīng)用在消防、醫(yī)療和邊防監(jiān)控中,并在甲型H1N1防疫工作中起到了關(guān)鍵作用。
參考文獻(xiàn)
[1] 彭煥良.紅外焦平面熱成像技術(shù)的發(fā)展[J].激光與紅外,2006,36(12):776-780.
[2] 劉國(guó)賀,李玉惠,李勃,等.基于FPGA的數(shù)字圖像水印實(shí)時(shí)嵌入系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010(3):27-30.
[3] 吳華,謝禮瑩,徐澤宇.基于ARM9的紅外熱像儀設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(16):234-236.
[4] 代少升.紅外焦平面陣列非均勻性非線性校正新方法[J].光電工程,2008,35(4):121-125.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。