《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于DSP的實時紅外熱成像系統的數據交換及實時顯示

基于DSP的實時紅外熱成像系統的數據交換及實時顯示

2009-04-24
作者:張曉飛 袁祥輝

??? 摘? 要: 在以PC機和DSP數字信號處理板構成的實時紅外熱成像系統原理的基礎上,闡述了主機通過PCI口與DSP實現數據交換及在Windows下實現實時圖像顯示的技術。由于通過PCI口數據交換速度快,在數據顯示時采用直接寫屏和翻頁技術,系統可達到理想圖像實時顯示效果。?

??? 關鍵詞: 紅外圖像? 實時性? DSP

?

??? 隨著科學技術的高速發展,紅外熱像儀在軍事、科研、工農業生產、醫療衛生等領域的應用越來越廣泛。由于紅外焦平面固有的非均勻性,在紅外圖像處理過程中,必須對每幀中的每個像元進行非均性的校正處理,才能達到較好的效果。因此紅外圖像實時處理的數據量很大,如256×256的一個紅外焦平面面陣,像元數為64K,如果每個像元用12bit表示,每秒顯示24幀圖像,則每秒傳輸的數據量高達2.25MByte;如果要進行校正運算,計算量更大。目前國內的紅外熱成像系統大多采用計算機進行數據采集,用軟件實現非均勻性校正。由于軟件處理速度慢,很難實現實時成像,只能對單幀圖像進行處理。?

??? 本文介紹采用PC機和基于DSP的數字信號處理板(數字板)構成的主從式成像系統。由于非均勻性校正的典型算法是乘累加,在一般計算機上處理速度比較慢。DSP具有高速數據處理能力,采用DSP進行圖像處理的運算,通過計算機進行系統的控制和數據的顯示,正好發揮軟硬件的特長,從而提高了系統的運算速度。?

1 系統組成及基本原理?

??? 一個完整的紅外成像系統不但要具備圖像信號的采集功能,還要能對圖像進行實時顯示,且要完成圖像信號的分析及處理算法(如非均勻性校正等)。通常這些算法的運算量大,再加上要滿足實時顯示的要求,因此采用高速DSP芯片作為數據核心處理單元。另外,要求系統滿足通用性的同時,針對不同的應用和不斷出現的新處理方法,還要求系統便于功能的改進和擴展。為此,我們以PC機為主機,以TI公司的DSP(TMS320C6201)為輔助機作為數字信號處理板的核心[1~2],設計出紅外圖像處理系統。圖1是基于DSP的實時紅外熱成像系統的原理圖。?

?

?

1.1 TMS320C6201的優點[3]?

??? TMS320C6201是TMS320C6x系列中的高速定點數字處理芯片,是TI公司二十世紀90年代后期的最新一代DSP產品。每秒最大處理能力為1600MIPS,具有特殊的VelociTI結構獨特的指令集,從而保證了它強大的運算能力、高度的并行性和良好的靈活性。同時其外圍設備包括DMA控制器、主機接口(HPI)、中斷選擇器,能夠很方便快速地與外圍設備進行數據交換。?

1.2 系統組成原理?

??? 系統由模擬信號板、數字信號處理板,PC機三部分構成。模擬信號板用于進行信號提取,包括IRFPA、驅動信號源、前置放大器。IRFPA由信號驅動源驅動,根據外部紅外光線的感應強度,輸出窗形波的模擬信號,經前置放大器放大后與數字信號處理板相連。?

??? 數字信號處理板由數據采集和數據處理兩部分組成。數據采集部分以一片FPGA構成控制器,用于控制整個處理板的時間同步和選擇存儲器及圖像預處理等。數據處理部分包括一片DSP,一片雙口RAM和兩片RAM(SRAM和SBSRAM,分別用于靜態數據和動態數據的存儲)。在圖像采集中,模擬信號進入A/D轉換器之后,由FPGA提供采樣控制,并將轉換后的數字信號存入雙口RAM,它為DSP提供數據。校正的參數放在主程序中,用以對圖像進行校正,同時主程序還要進行其它運算,以便生成DSP處理后的圖像。DRAM和SBSRAM為DSP在進行數據處理過程中提供存儲空間。經過處理之后的數據可通過PCI接口與主機交換數據。?

??? 數字板通過PCI卡與計算機相連,由于PCI總線具有高速數據交換的優點(120MByte/S),足以滿足數據實時處理的要求。數據通過DSP的HPI口,經由PCI口與PC機相連。PC機讀取數字板上任意存儲器上的數據,再由計算機實現實時顯示。DSP的運行程序由PC機通過PCI口加載到DSP上運行。?

2 數據的交換及Windows下數據實時顯示?

??? 在主從式結構系統中,主機與從機的數據交換及數據的顯示是十分關鍵的環節,下面將重點講述其實現方法。本系統的Windows程序是在C++ Builder下開發的。

2.1 數據的交換?

2.1.1 實時性?

??? 根據人眼的視覺特點,數字圖像成像系統每秒鐘至少要讀取和處理合成24幀圖像(假設對于256×256的面陣圖像,采用灰度表示每個像元的圖像信號,則每幀讀取的數據為:256×256×8bit=64KByte),則進行實時數據處理時要求每秒處理數據:256×256×8bit×24幀=1.5Mbyte,并將它顯示出來,圖像才不失連續性。這樣就要求相鄰兩幀連續采樣的圖像數據的讀取及合成時間間隔不能過大,因此必須滿足“數據讀取時間≤幀間隔”。主機通過PCI口對DSP芯片進行訪問,采用PCI總線可以保證高速的數據交換。為了實現顯示的實時性,則要求數據讀取的間隔越小越好。?

2.1.2 PCI卡的驅動問題?

??? 在Windows開發環境下,C++ Builder不能直接訪問PCI設備,需借助其它軟件實現。KRFTech公司主推產品WinDriver是進行PCI接口程序開發的首選驅動程序開發工具。用戶要訪問PCI口上的數字信號處理卡,一般來說有兩種途徑[4]:一是直接訪問,即用C++ Builder直接訪問PCI設備的接口函數(這種方法需要相關軟件支持);二是間接訪問,即用C++ Builder調用其它語言(如匯編或C/C++等)編寫的底層驅動模塊(一般封裝成動態鏈接庫DLL形式)實現。本系統采用調用動態鏈接庫的方法。?

2.1.3 從DSP讀取數據的過程?

??? 本系統對于PCI卡的底層驅動程序封裝成動態鏈接庫(evm6X.dll),其頭文件為evm6xdll.h,以便其它函數十分方便地調用。在調用動態鏈接庫(DLL)時,首先要聲明DLL,然后就可以像調用C++函數一樣使用動態鏈接庫中的函數了。C++ Builder允許調用其它語言編寫的動態鏈接庫,而用戶一般不知道其它函數是用何種語言編程,因此應該注意函數標識符和參數傳遞,以便解決調用的約定問題。?

??? 用C++ Builder 編寫的PC機讀取數字板數據的模塊化程序如下:?

??? #include ″evm6xdll.h″?

??? HANDLE ???? hBd=NULL;?? ??? // 板子句柄?

??? Short?????? iBd= 0;?? ????? // 板號?

??? BOOL??????? bExcl=1;??????? // 獨占打開=TRUE?

??? LPVOID????? hHpi = NULL;??? // HPI 接口句柄?

??? short ????? iMp;??????????? //Map 選擇器=MAP0?

??? EVM6XDLL_BOOT_MODE? mode= HPI_BOOT_MAP0;?// DSP 啟動方式?

??? EVM6XDLL_CLOCK_MODE???? ??? clkMode;?

??? EVM6XDLL_ENDIAN_MODE??????? ednMode;?

??? ULONG ulDW[1024*16];??????? //定義數據緩存?

??? void? ReadWordFromMem( LPVOID hHpi, ULONG ulDataAddr, ULONG ulDataWord,ULONG lLength, ULONG *ulDW)?

??? {?? ?

??????? hBd = evm6x_open( iBd, bExcl ); //打開板卡?

??????? evm6x_reset_board(hBd); ? //對目標進行reset?

??????? evm6x_set_board_config(hBd,clkMode,ednMode,0xff);//對目標板進行初始化配置?

??????? mode = iMp ? HPI_BOOT : HPI_BOOT_MAP0;?//設置啟動方式?

??????? evm6x_reset_dsp(hBd,mode);????? //復位DSP?

??????? hHpi = evm6x_hpi_open(hBd); //建立從主機到hpi的連接?

??????? if(!evm6x_hpi_read( hHpi, ulDW, &ulLength, ulDataAddr))//從DSP讀取數據?

??????? {ShowMessage(″內存讀時發生錯誤!″); }?//系統復位操作?

??? evm6x_hpi_close(hHpi);?

??? evm6x_unreset_dsp(hBd);?

??? evm6x_close(hBd);?

??? }?

??? 由于PCI口數據交換快速度(可高達120Mbyte/s),且能方便地讀取數字板上內存的數據實現數據交換,因此,通過PCI口實現PC機與數字板數據的交換便于實時系統的實現。?

2.2 數據的實時顯示?

??? 通過PCI口讀取的數據為每幀中單個像元的亮度值,因而要在Windows下實現實時顯示,不但要解決顏色配置問題,而且要求圖像實時顯示速度快,因此本系統在Windows下采用寫屏技術實現圖像的顯示。?

2.2.1 顏色控制?

??? 由于紅外圖像傳感器只能反映外界溫度的高低,因而在處理過程中,對焦平面的每個像元采用8bit(256灰度)來表示。而Windows下顏色表的顏色采用的是R、G、B即紅、綠、藍三基色,每種顏色都是從0到255。由這三種基色可構成屏幕上的各種顏色(即24位真彩色)。如果將每個像元的RGB值均設為所取得的像元亮度值,則得到的顏色為只有亮暗的灰度圖像(256級灰度);如果按照其256級灰度來進行偽彩色處理,則得到加偽彩色的圖像。為了使偽彩色圖像的顯示得到增強,可以只用256顏色表中的部分顏色來表示。通過選擇差異較大的顏色來表示熱圖像中被測目標的溫度范圍,即可得到增強圖像顯示效果的目的。?

2.2.2 實時顯示的實現?

??? 將數字板上所讀取的幀結束點標志(FLAG)用于實現幀同步控制,以保證每幀圖像的刷新以及圖像中間隔時間的延時。由于在Windows下不能像DOS那樣直接訪問視頻存儲器,因而系統采用DirectDraw技術[5],并利用Win32下提供的DirectDraw API函數來實現。Win32中的DirectDraw提供了對屏幕以及屏幕分辨率的控制而不需要操作SVGA芯片,可以實現極快的圖像顯示速度、線性內存和翻頁。DirectDraw還可對屏幕的分辨率及色彩模式進行配置。通過設置屏幕的主表面(前臺Buffer)和附屬表面(后臺Buffer),開啟兩幀圖像的視頻存儲空間。這樣可直接訪問視頻存儲器,將圖形數據極快地合成圖像代碼,提高顯示速度。同時,在圖像寫顯示時,首先將圖像寫到后臺,待幀標記來時,再將圖像傳到前臺(翻頁技術)。這種翻頁技術的使用,可以從視覺上形成整幀圖像的切換,而非單點的切換,從而達到平滑的實時圖像顯示的視覺效果,同時還可以延緩讀數的時間,實現實時處理。圖2是圖像實時顯示處理流程圖。?

?

?

3 實驗結果?

??? 圖3是系統通過PCI口實現讀數和實時顯示而獲得的128×128面陣256級灰度的圖像。實驗表明,該系統可以獲得理想的平滑圖像實時顯示結果,且圖像清晰,結果較為理想。?

?

?

??? 理論分析與實驗研究表明,本文介紹的基于DSP的紅外熱成像系統,由于采用PC機的PCI口實現數據交換,具有高速的數據交換能力;通過對數據進行實時顯示處理,能實現圖像的灰度和偽彩色處理;采用Windows下的DirectDraw技術,可直接訪問視頻存儲器,實現圖像數據的直接寫屏和圖像的翻面技術;用幀結束點作為幀同步信號,可實現紅外圖像平滑的實時顯示,達到理想的圖像顯示視覺效果。?

參考文獻?

1 Paul Kruse, Randall Dodson etc. Infrared Imager Employing?160×120 Pixel Uncooled Bolometer Array. SPIE,1998;3436?

2 Zhang Xiaofei, Liu ChengKang,Yuan Xianhui. Infrared?Real-time Thermal System Based on DSP. SPAT,2001;7(2)?

3 TMS320C6000 Technical Brief. TI company, 1999?

4 姜萬波,徐 興.VB下實現PCI設備底層訪問的兩種方法.電子技術應用, 2001;27(2)?

5 Charlie Calvert et. C++ Builder 應用開發大全. 北京:清華大學出版社, 1999

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 精品综合久久久久久蜜月 | 99久久精品费精品国产一区二区 | 国内精品久久久久影院免费 | 亚洲人视频在线观看 | 牛人盗摄一区二区三区视频 | 亚洲国内精品自在线影视 | 亚洲成人影院在线 | 综合亚洲欧美日韩一区二区 | 韩国日本一级毛片免费视频 | 日韩一区二区三区在线 | 亚洲深夜视频 | 欧美特级另类xxx | 久久国产欧美日韩高清专区 | 免费播放aa在线视频成人 | 亚洲片在线观看 | 久久久久女人精品毛片 | 欧美高清一级啪啪毛片 | 九九re6精品视频在线观看 | 香蕉久久精品 | 性盈盈影院影院67194 | 国产一级一国产一级毛片 | 国产精品国产三级国产专区5o | 成人影院一区二区三区 | 日韩欧美成末人一区二区三区 | 日本在线观看www免费 | 亚洲国产天堂久久九九九 | 欧美特黄特色aaa大片免费看 | 老司机亚洲精品 | 黄色欧美网站 | 美女视频在线观看黄 | 亚洲欧美日本人成在线观看 | 欧美日韩不卡在线 | 国产片一级aaa毛片视频 | 国产精品国产三级在线高清观看 | 图片区偷拍区小说区 | 在线观看免费视频网站色 | 日韩不卡一级毛片免费 | 正在播真实出轨炮对白 | 国产精品日本一区二区在线播放 | 最新国产美女肝交视频播放 | 日韩经典一区 |