《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于DSP和USB2.0的高速偏振圖像采集處理系統(tǒng)

基于DSP和USB2.0的高速偏振圖像采集處理系統(tǒng)

2009-03-02
作者:張偉偉,薛模根,袁魏華

??? 摘? 要: 論述了基于DSP和USB2.0接口的高速偏振圖像采集處理系統(tǒng)的設(shè)計(jì),詳細(xì)介紹了偏振圖像采集處理的實(shí)現(xiàn)方法和原理。利用TMS320VC5509和USB2.0接口芯片,實(shí)現(xiàn)了偏振圖像的高速采集與處理,完成了圖像的壓縮傳輸。?

??? 關(guān)鍵詞: DSP;USB;偏振圖像采集與處理;圖像壓縮?

?

??? DSP芯片憑借其強(qiáng)大的功能、越來越快的速度以及很高的性價比,被廣泛用于通信、雷達(dá)、生物醫(yī)學(xué)、機(jī)器人、控制、精密機(jī)械、語音和圖像處理等領(lǐng)域[1]。USB接口的熱插拔、速度快(速度高達(dá)480Mb/s)和外設(shè)容量大(理論上可掛接127個設(shè)備)以及便攜等特性,使其成為PC機(jī)的外圍設(shè)備擴(kuò)展中應(yīng)用日益廣泛的接口標(biāo)準(zhǔn)[2]?;贒SP強(qiáng)大的數(shù)字信號處理功能和USB接口便攜、高速和易于擴(kuò)展的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了基于TMS320VC5509和USB芯片的一套多功能高速偏振圖像采集處理系統(tǒng),利用圖像壓縮算法實(shí)現(xiàn)了偏振圖像的高速采集。該系統(tǒng)的DSP主要負(fù)責(zé)數(shù)據(jù)的采集和偏振圖像的合成壓縮處理,采集到的圖像數(shù)據(jù)通過USB口傳到PC主機(jī)上進(jìn)行顯示、計(jì)算和分析等。?

1 系統(tǒng)的硬件設(shè)計(jì)?

1.1 系統(tǒng)的總體結(jié)構(gòu)?

??? 器件選擇方面,本系統(tǒng)在滿足系統(tǒng)要求的前提下,應(yīng)盡可能減少系統(tǒng)資源的冗余,提高系統(tǒng)的集成度。所以本系統(tǒng)的數(shù)據(jù)源是即得的數(shù)字信號,忽略了由模擬信號經(jīng)采集、量化編碼得到數(shù)字信號的過程。?

??? 整個偏振圖像采集處理系統(tǒng)的硬件部分包括偏振圖像的采集、存儲、合成壓縮和傳輸四部分。圖1是高速偏振圖像采集系統(tǒng)的原理框圖。?

?

?

??? 由于每幅偏振圖像達(dá)到1024×1024×8bit,所以在采集端選用了Cypress公司的CY7C68013作為偏振圖像采集端。采集到偏振圖像后存入SDRAM,圖像壓縮算法壓縮后通過DSP自帶的USB接口傳送到上位機(jī)。?

1.2 系統(tǒng)的主要組成部分?

1.2.1 DSP處理模塊?

??? 本系統(tǒng)的DSP芯片主要負(fù)責(zé)偏振圖像的采集與處理。選擇DSP處理器時主要考慮其運(yùn)算速度、總線寬度和性價比。系統(tǒng)進(jìn)行實(shí)時圖像采集與處理,要求較高的運(yùn)算速度,所以選用了TI公司的TMS320VC5509。TMS320VC5509的CPU的主時鐘能夠工作在144MHz,利用雙累加器和算術(shù)邏輯單元,每個周期能執(zhí)行一條指令或并行的兩條指令,具有高達(dá)288MIPS的處理能力。TMS320VC5509啟動模式可選,上電后執(zhí)行駐留在低地址空間的BOOTLOADER,然后根據(jù)4個中斷輸入信號的狀態(tài)判斷啟動模式,可以從RAM、ROM或串行口啟動[3]。本系統(tǒng)選擇從FlashROM加載方式。DSP將采集到的圖像數(shù)據(jù)進(jìn)行偏振圖像的合成壓縮后通過有線或者無線的方式傳輸出去。?

1.2.2 USB接口模塊?

??? 由于USB協(xié)議非常復(fù)雜,開發(fā)者不可能在底層基礎(chǔ)上進(jìn)行開發(fā)。系統(tǒng)選用CYPRESS公司的帶單片機(jī)內(nèi)核的EZ-USB FX2系列的CY7C68013。該芯片遵從USB2.0規(guī)范(480Mb/s),將8051單片機(jī)內(nèi)核、智能USB接口引擎、USB收發(fā)模塊、存儲器、串行口等集成,從而減少芯片接口時序。CY7C68013有兩種接口方式,設(shè)計(jì)采用的是外部主控制器(VC33),就像對普通的FIFO一樣對FX2的多層緩沖FIFO進(jìn)行讀寫。?

??? DSP與USB接口原理圖如圖2所示。USB接口芯片CY7C68013由3.3V供電,XTALIN、XTALOUT連接無源晶振,晶振選擇24MHz。DPLUS、DMINUS為USB差分?jǐn)?shù)據(jù)傳輸線。EA是外部程序存儲器和片上程序存儲器選擇輸入控制位,1表示選擇外部程序存儲器方式,0表示選擇片上程序存儲器方式。PAO/INTO#選擇INTO#工作方式,其中斷級別最高。當(dāng)FIFO全滿造成數(shù)據(jù)溢出導(dǎo)致數(shù)據(jù)采集發(fā)生嚴(yán)重錯誤時,該中斷請求發(fā)生,系統(tǒng)通知數(shù)據(jù)溢出錯誤,并停止數(shù)據(jù)采集。RESET#為USB接口芯片復(fù)位輸入。?

?

?

1.2.3 數(shù)據(jù)存儲模塊?

??? 在緩沖器件的選擇上,可以使用雙端口器件(如FIFO、雙口RAM等)、SDRAM等方法。首先考慮采用雙端口器件,原因是雙端口器件在軟硬件設(shè)計(jì)上很容易實(shí)現(xiàn),但由于原始偏振圖像太大,遠(yuǎn)遠(yuǎn)超過現(xiàn)有技術(shù)條件下所能制造出的雙端口器件的最大容量,因此雙端口器件不適用于該設(shè)計(jì)。其次考慮SDRAM,原因是它擁有足夠的存儲深度,且價格便宜,便于采購,適合本模塊的需要。?

??? 在實(shí)時圖像數(shù)字處理器中,采用SDRAM存儲圖像數(shù)據(jù)有兩個優(yōu)點(diǎn):一是速度高,由于同步存儲,存取時間可達(dá)6ns~7ns;二是單片容量大,有利于減少直觀圖像處理系統(tǒng)的體積。?

??? 由于TMS320VC5509只支持16bit的數(shù)據(jù)寬度,因此需要將DSP的BE1、BE0分別和SDRAM的DQMH、DQML對接,實(shí)現(xiàn)DSP和MT48LC4M16A2的無縫連接。其A10管腳對應(yīng)precharge,因此和DSP的SDA10相連,CKE需要用一個上拉電阻拉為高電平。在采用CE0、CE1片選空間合并使用,只將CE0與SDRAM的片選信號連接,在CE0的空間寄存器中,存儲器類型MTYPE=011b。DSP與SDRAM的連接圖如圖3所示。?

?

?

2 系統(tǒng)的軟件設(shè)計(jì)?

??? 系統(tǒng)的軟件設(shè)計(jì)包括DSP圖像采集和處理程序設(shè)計(jì)、Firmware固件設(shè)計(jì)、驅(qū)動程序和上層應(yīng)用程序的設(shè)計(jì)。系統(tǒng)流程圖如圖4所示。?

2.1 Firmware固件設(shè)計(jì)?

??? Cypress公司針對其EZ-USB FX2系列的USB芯片給出了一個Firmware庫和Firmware框架,均是用KeilC51開發(fā)的。Firmware庫提供了一些常量、數(shù)據(jù)結(jié)構(gòu)、宏、函數(shù)來簡化對芯片的使用。用戶只需要在源程序中包含fx2.h、fx2 regs.h和fx2 sdly.h,并把Ezusb.lib和USBJmpTb.OBJ添加到項(xiàng)目中即可。Firmware框架實(shí)現(xiàn)了初始化芯片、處理USB標(biāo)準(zhǔn)設(shè)備請求以及掛起下的電源管理功能。該框架不需添加任何代碼,編譯后產(chǎn)生的.HEX文件下載到芯片就能與主機(jī)進(jìn)行基本的USB通信,只是不能完成用戶特定的任務(wù)。對于用戶而言,主要的工作就是選擇適當(dāng)?shù)膫鬏敺绞?添加需要使用的端點(diǎn)(Endpoint),在主要關(guān)心的TD_Init()、TD_Poll()等函數(shù)中添加初始化代碼和完成特定的功能代碼即可。由于系統(tǒng)要求的實(shí)時性較高,且對采集到的數(shù)據(jù)的正確性有嚴(yán)格要求,故采用了具有出錯重傳機(jī)制的BULK塊傳輸模式和自動打包(AUTO IN=1),以提高數(shù)據(jù)傳輸?shù)乃俣?SUP>[5]。由于代碼相對簡單就不作特殊說明。?

2.2 驅(qū)動程序及主機(jī)端應(yīng)用程序設(shè)計(jì)?

??? Cypress FX2開發(fā)包中提供了一個通用設(shè)備驅(qū)動程序ezusb.sys,可用于基于EZ-USB系列的芯片,且不需修改直接使用,完成基本的USB接口通信任務(wù)。開發(fā)USB設(shè)備驅(qū)動程序一般有兩種有效、快速的方法:一是根據(jù)芯片公司提供的通用設(shè)備驅(qū)動結(jié)合自己的要求,用DDK等工具修改通用驅(qū)動源碼以達(dá)到目的,例如將Cypress公司提供ezusb.sys驅(qū)動中一些不常用的讀取描述符的函數(shù)去掉,添加一些和本設(shè)計(jì)有關(guān)的函數(shù)等;二是利用第三方提供的驅(qū)動程序開發(fā)軟件如Windriver、DriverStudio等,生成USB 驅(qū)動程序基本框架,再添加一些具體函數(shù)實(shí)現(xiàn)設(shè)備功能。?

??? 主機(jī)端應(yīng)用程序主要實(shí)現(xiàn)從USB 接口芯片中讀取采樣和分析數(shù)據(jù)及發(fā)送一些設(shè)置參數(shù)和DA 數(shù)據(jù)。Cypress FX2開發(fā)包提供的EZ-USB通用驅(qū)動程序?yàn)橹鳈C(jī)端的用戶態(tài)應(yīng)用程序提供了USB 標(biāo)準(zhǔn)設(shè)備請求和數(shù)據(jù)傳輸?shù)慕涌?。所有用戶程序訪問EZ-USB通用驅(qū)動程序都是通過I/O Control調(diào)用的。用戶程序首先通過調(diào)用Win32函數(shù)CreateFile()得到設(shè)備驅(qū)動程序的句柄;然后調(diào)用Win32函數(shù)Device IOControl(),通過得到的句柄把I/O Control Code(IOCTL)和相關(guān)的輸入輸出緩沖區(qū)提交給驅(qū)動程序。EZ-USB通用驅(qū)動程序支持的IOCTLs和它們相應(yīng)的輸入輸出結(jié)構(gòu)都定義在開發(fā)包提供的頭文件ezusbsys.h中,用戶在使用時需要包含這個頭文件。?

2.3 系統(tǒng)的應(yīng)用程序設(shè)計(jì)?

??? 在完成硬件和軟件的綜合調(diào)試后,用偏振圖像采集處理模塊與偏振相機(jī)連接進(jìn)行了多次實(shí)驗(yàn),并對模塊的幾個重要指標(biāo)進(jìn)行了測試分析。?

??? 其中,偏振相機(jī)與偏振圖像采集處理模塊連接,構(gòu)成任務(wù)端部分??刂贫藙t用一臺P4計(jì)算機(jī)構(gòu)成。在實(shí)際應(yīng)用中,任務(wù)端與控制端之間的通信方式視具體運(yùn)用環(huán)境而定,既可通過無線方式進(jìn)行通信,也可通過有線方式進(jìn)行通信。而在實(shí)驗(yàn)測試條件下,主要目的是為了檢驗(yàn)?zāi)K工作性能。因此,用簡便可靠的有線通信代替無線通信。為與偏振圖像采集處理模接口保持一致,并保證較高的傳輸速率,有線通信采用了USB通信方式。在控制端,運(yùn)行的是人機(jī)交互控制程序。?

2.4 偏振圖像的壓縮傳輸?

??? 由于系統(tǒng)的需要,在模塊得到原始圖像后要進(jìn)行合成處理,合成處理就是通過已得到的數(shù)學(xué)公式將三幅原始偏振光強(qiáng)度圖像信號合成為另外五路圖像信號:強(qiáng)度圖像信號I、偏振度圖像信號P、偏振角圖像信號A、Q圖、U圖。?

??? 對合成處理后得到的偏振圖像要分別進(jìn)行有損壓縮和無損壓縮,以增強(qiáng)模塊的工作效率,如圖5所示。

?

?

??? 在有損壓縮算法的選取上,選擇了目前較為常用的JPEG算法。JPEG算法的實(shí)現(xiàn)通常有三種方式[6],即普通PC機(jī)上的純軟件實(shí)現(xiàn)法,基于DSP數(shù)字信號處理器件的實(shí)現(xiàn)法和基本可編程邏輯器件的專用集成電路實(shí)現(xiàn)法。其中,基于PC機(jī)的純軟件實(shí)現(xiàn)法不適用于小型化的軍用裝備,基于可編程邏輯器件的專用集成電路實(shí)現(xiàn)法具有更好的實(shí)時性和更高的運(yùn)行效率,但程序復(fù)雜?;贒SP的實(shí)現(xiàn)方式,由于DSP具有較高的運(yùn)行效率且算法實(shí)現(xiàn)相對簡單。本文就是利用基于DSP的實(shí)現(xiàn)方式實(shí)現(xiàn)了JPEG壓縮算法,達(dá)到了偏振圖像的壓縮要求。?

??? 對于合成處理后得到的偏振度圖像和偏振角圖像,必須采用無信息丟失的無損壓縮,力求增強(qiáng)模塊的工作效率,縮短模塊響應(yīng)時間。在無損壓縮算法上采用了現(xiàn)階段較為常用的LZW壓縮算法。其基本原理是[7]:LZW把每一個第一次出現(xiàn)的字符串用一個數(shù)值來編碼,在還原程序中再將這個數(shù)值還成原來的字符串。例如:用數(shù)值0x100代替字符串“abccddeee”,每當(dāng)出現(xiàn)該字符串時,都用0x100代替,這樣就起到了壓縮作用。至于0x100與字符串的對應(yīng)關(guān)系則是在壓縮過程中動態(tài)生成的,而且這種對應(yīng)關(guān)系隱含在壓縮數(shù)據(jù)中,隨著解壓縮的進(jìn)行,這張編碼表會從壓縮數(shù)據(jù)中逐步得到恢復(fù),后面的壓縮數(shù)據(jù)再根據(jù)前面數(shù)據(jù)產(chǎn)生的對應(yīng)關(guān)系產(chǎn)生更多的對應(yīng)關(guān)系,直到壓縮文件結(jié)束為止。?

??? 實(shí)驗(yàn)表明,PC機(jī)處理后的偏振度圖與系統(tǒng)處理后得到的偏振度圖。在不放大的情況下肉眼無法分辨壓縮圖像質(zhì)量與原圖的區(qū)別。?

??? 本文介紹了基于USB2.0 接口和DSP 的高速數(shù)據(jù)采集處理系統(tǒng)的系統(tǒng)構(gòu)成、硬件連接以及USB2. 0驅(qū)動程序和固件程序的開發(fā)以及模塊的圖像處理程序。經(jīng)實(shí)驗(yàn)驗(yàn)證,本系統(tǒng)運(yùn)行可靠,是一種比較好的高速偏振圖像采集與處理的解決方案。?

參考文獻(xiàn)?

[1] 王念旭.DSP基礎(chǔ)與應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2001.?

[2] 俞平,秦樹人.基于DSP和USB2.0高速數(shù)據(jù)采集處理系統(tǒng)[J].重慶大學(xué)學(xué)報,2005,(5).?

[3] Texas instruments Co.Using the TMS320VC5509 Bootloade.?

[4] 廖良斌.基于DSP和USB的圖像采集系統(tǒng)的研究[D].湖北:武漢理工大學(xué),2005.(6).?

[5] Cypress Semiconductor Corporation.Cypress USB 2.0 Mass Storage Device Driver for Windows.2003.?

[6] JPEG 2000 Part I Final Committee Draft Version 1.0. ISO/IEC,2000.?

[7] 王平.LZW無損壓縮算法的實(shí)現(xiàn)與研究[J].計(jì)算機(jī)工程,2002,(7).
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。