孫佳哲 王磊
摘要:對(duì)基于Davinci技術(shù)的TMS320DM368處理器為核心的高清數(shù)碼顯微鏡進(jìn)行了研究。提出了基于TMS320DM368的高清數(shù)碼顯微鏡的設(shè)計(jì)方案,解決了高清數(shù)碼顯微鏡的攜帶不便、體積大、高清和昂貴等問(wèn)題。該高清數(shù)碼顯微鏡充分利用了TMS320DM368強(qiáng)大的多媒體處理功能,對(duì)外接口齊全,功能完善,體積小巧,集成度高。該處理器擁有DSP和ARM兩個(gè)內(nèi)核,提高了顯微鏡的圖像處理能力。
關(guān)鍵詞:數(shù)碼顯微鏡;DSP;ARM;TMS320DM368;Davinci
中圖分類號(hào):TH742文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)23-5709-03
隨著多媒體技術(shù)的飛速發(fā)展,人們對(duì)于嵌入式圖像采集和處理系統(tǒng)的要求越來(lái)越高。高像數(shù)、圖像清晰的數(shù)碼顯微鏡產(chǎn)生了。高清數(shù)字顯微鏡可以代替人眼觀察,從而克服人眼由于長(zhǎng)時(shí)間的觀察后的疲勞還可以便于后續(xù)的圖像處理和存儲(chǔ)。高質(zhì)量的圖像處理和低成本是可攜帶數(shù)碼顯微鏡最為重要的部分。通過(guò)高清數(shù)碼顯微鏡可以實(shí)現(xiàn)對(duì)顯微鏡監(jiān)測(cè)對(duì)象實(shí)時(shí)、遠(yuǎn)距離監(jiān)測(cè),并且監(jiān)測(cè)圖像或者視頻信息還可以永久的保存下來(lái),進(jìn)一步對(duì)圖像分析、處理。
早年,數(shù)碼顯微鏡已經(jīng)被廣泛使用,但是它的分辨率比較低,質(zhì)量也不是很理想。在該文中,提出了一個(gè)基于TMS320DM368的數(shù)碼顯微鏡系統(tǒng),TMS320DM368芯片是以ARM926EJ-STM為核,擁有兩個(gè)視頻圖像協(xié)處理器(HDVICP和MJCP),廣泛運(yùn)用于圖像和視頻的系統(tǒng)。該文結(jié)合了ARM和DSP兩個(gè)部分,將圖像處理模塊和控制模塊結(jié)合起來(lái),目的是為了得到一個(gè)高質(zhì)量而且能降低費(fèi)用的顯微鏡。因?yàn)榈统杀?,高集成度和?dòng)態(tài)范圍寬的優(yōu)勢(shì),所以我們選用CMOS作為這種成像系統(tǒng)中的光學(xué)成像傳感器。
整個(gè)系統(tǒng)尺寸小、集成度高、功能強(qiáng)并且通信方式多樣常見,所以在實(shí)用性和推廣性上都有著一定的優(yōu)勢(shì)。
1高清數(shù)碼顯微鏡系統(tǒng)架構(gòu)
傳統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的整體框圖如圖1所示。從中我們可以看出首先通過(guò)顯微鏡觀察樣片或標(biāo)本,將樣片或標(biāo)本成像于CMOS圖像傳感器的像面上,然后通過(guò)CMOS圖像傳感器采樣捕捉圖像直接將模擬圖像信號(hào)輸出為數(shù)字圖像信息,并利用USB2.0接口直接輸入到計(jì)算機(jī)中進(jìn)行存儲(chǔ)和顯示,并在計(jì)算機(jī)中進(jìn)行各種相應(yīng)的分析處理。[1]
圖1傳統(tǒng)數(shù)碼顯微鏡系統(tǒng)原理框圖
該文所涉及的數(shù)碼顯微鏡是以TMS320DM368為核心,用圖像傳感器作為圖像采集設(shè)備來(lái)實(shí)時(shí)采集高清的數(shù)字圖像數(shù)據(jù),采集的數(shù)據(jù)可以利用BNC端口作為模擬視頻信號(hào)在顯示器上顯示,并通過(guò)H.264壓縮編碼視頻,同時(shí)將結(jié)果實(shí)時(shí)地通過(guò)網(wǎng)絡(luò)接口傳輸?shù)竭h(yuǎn)程的客戶端。用戶可以利用客戶端軟件,通過(guò)IP地址定位數(shù)碼顯微鏡,實(shí)時(shí)監(jiān)視遠(yuǎn)程監(jiān)控錄像畫面,并能通過(guò)網(wǎng)絡(luò)向數(shù)碼顯微鏡發(fā)送控制指令。
根據(jù)上圖的高清數(shù)碼顯微鏡結(jié)構(gòu),整個(gè)高清數(shù)碼顯微鏡可以分為核心處理模塊;網(wǎng)絡(luò)傳輸模塊;外設(shè)模塊;存儲(chǔ)模塊;信號(hào)采集;電源模塊。該文主要對(duì)核心處理模塊和存儲(chǔ)模塊進(jìn)行介紹。
2硬件設(shè)計(jì)
2.1核心處理模塊
TMS320DM368是基于DaVinci的系統(tǒng)結(jié)構(gòu),其主要特點(diǎn)是ARM和DSP的完美融合。利用ARM擅長(zhǎng)任務(wù)協(xié)調(diào)的特點(diǎn),處理各種控制程序。作為系統(tǒng)核心,調(diào)度整個(gè)高清數(shù)字顯微鏡的運(yùn)行;然后將所有高復(fù)雜度的圖像處理算法和圖像識(shí)別算法全部交由計(jì)算能力強(qiáng)大的DSP部分完成。
DSP即數(shù)字信號(hào)處理器,其主要特點(diǎn)就是能夠進(jìn)行大量的乘加運(yùn)算,擁有高速計(jì)算能力,并且DSP的數(shù)據(jù)和程序分離存儲(chǔ),這樣充分利用了所有線寬,進(jìn)一步加速了DSP的處理速度;而ARM處理器盡管沒(méi)有DSP那么迅速的圖像處理速度,但是ARM支持實(shí)時(shí)的操作系統(tǒng),擁有全性能的MMU,支持Windows CE、Linux、Palm OS等嵌入式操作系統(tǒng),擅長(zhǎng)于嵌入式程序之間的線程調(diào)度和任務(wù)管理,所以ARM被用來(lái)負(fù)責(zé)系統(tǒng)通訊、數(shù)字顯微鏡整體控制和進(jìn)程管理等任務(wù)。
TMS320DM368中的ARM子系統(tǒng)采用一個(gè)ARM926EJ-S內(nèi)核和一個(gè)MJCP協(xié)處理器的設(shè)計(jì),擁有32KB內(nèi)部RAM和16KB的ROM、中斷控制器、鎖相環(huán)(PLL)控制器、電源管理模塊等。ARM子系統(tǒng)管理和協(xié)調(diào)芯片內(nèi)其他功能模塊的工作。整個(gè)ARM子系統(tǒng)采用流水線的工作方式執(zhí)行系統(tǒng)控制任務(wù),例如系統(tǒng)的初始化、參數(shù)配置、電源管理和用戶功能等。ARM較大的程序存儲(chǔ)量和迅速的任務(wù)切換能力,使得它適合復(fù)雜的、多線程的任務(wù)調(diào)控。ARM子系統(tǒng)包含兩種工作狀態(tài):ARM(32-bit)模式和Thumb(16-bit)模式。
ARM的中斷控制器(ARM INTC)支持64個(gè)中斷通道(16個(gè)為外部中斷),包括了快速中斷請(qǐng)求(FIQ)和中斷請(qǐng)求(IRQ),并且為各種中斷加入了優(yōu)先級(jí)設(shè)計(jì),其中FIQ兩個(gè)層級(jí),IRQ擁有六個(gè)層級(jí)。整個(gè)控制器通過(guò)中斷入口表配置中斷優(yōu)先級(jí),這樣可以減少中斷處理時(shí)間。
兩者之間的通訊方式如圖3所示,可以很清楚的看到ARM可以訪問(wèn)DSP的片內(nèi)存儲(chǔ)器,包括L2RAM和L1P/D,DSP也可以訪問(wèn)ARM的片內(nèi)存儲(chǔ)器,并且ARM和DSP共享DDR2和AEMIF,其中AEMIF是指異步的外接存儲(chǔ)器接口(Asynchronous External Memory Interface)。因此通常情況下ARM只需要將處理數(shù)據(jù)的地址指針傳遞給DSP,而不需要大量的數(shù)據(jù)傳輸。系統(tǒng)中的DSP和ARM通過(guò)2個(gè)內(nèi)核相互中斷實(shí)現(xiàn)通信,ARM使用DSP的4個(gè)通用中斷和1個(gè)不可屏蔽中斷來(lái)控制DSP;而DSP通過(guò)兩個(gè)中斷來(lái)中斷ARM。DSP的電源、時(shí)鐘、復(fù)位都是由ARM進(jìn)行控制[2]。
2.2存儲(chǔ)模塊
整個(gè)存儲(chǔ)模塊使FLASH和SDRAM兩種存儲(chǔ)方式。SDRAM是一種同步動(dòng)態(tài)隨機(jī)儲(chǔ)存器[3],存儲(chǔ)速度遠(yuǎn)遠(yuǎn)高于FLASH存儲(chǔ)器,但是數(shù)據(jù)無(wú)法掉電保持。而FLASH是掉電后還能保持的存儲(chǔ)器,可以多次擦寫和再編,主要用于內(nèi)核和文件系統(tǒng)的存儲(chǔ)。
在TMS320DM368上有兩個(gè)外部存儲(chǔ)器的接口(External Memory Interface,EMIF)[4]。一個(gè)是同步外部?jī)?chǔ)存器接口,能夠使用DD RII存儲(chǔ)器。另外一個(gè)是異步的外部存儲(chǔ)器,適合低速的存儲(chǔ)器,這里的設(shè)計(jì)中我們選擇的是NAND FLASH,選擇NAND的原因是存儲(chǔ)量大、價(jià)格便宜。
Flash使用K9F5608D0C,為32M*8bit的Flash,總?cè)萘?56M,使用8位總線與TMS320DM368連接。該款芯片價(jià)格較低,而且TI公司也提供的內(nèi)核中也包含了FLASH通用的驅(qū)動(dòng)軟件,免去了驅(qū)動(dòng)移植的步驟,所以我們選用該芯片[5]。
SDRAM K4T1G164QA作為高清數(shù)碼顯微鏡的主要存儲(chǔ)設(shè)備,存儲(chǔ)容量1GB,使用16位數(shù)據(jù)線,14位地址線和3根塊選擇信號(hào)線線與DM368所提供的專門的DDR2控制接口連接(DDR2/mDDR Memory Controller)[6],工作電壓1.8V,主要用于臨時(shí)存儲(chǔ)因延時(shí)堆積的圖像和運(yùn)行的程序保存。
3軟件設(shè)計(jì)
軟件應(yīng)用方面包括了三個(gè)部分:輸入/輸出接口層,信號(hào)處理層和應(yīng)用處理層。
輸入/輸出接口層,針對(duì)DaVinci外設(shè)模塊的驅(qū)動(dòng)程序,負(fù)責(zé)圖像、視頻等信號(hào)數(shù)據(jù)的采集與播放;信號(hào)處理層主要是運(yùn)行于DSP端,負(fù)責(zé)對(duì)采集進(jìn)來(lái)的圖像數(shù)據(jù)、視頻數(shù)據(jù)進(jìn)行編碼工作,主要由硬件加速器,視頻協(xié)處理器來(lái)完成;運(yùn)行于ARM端的應(yīng)用處理層與DSP端進(jìn)行通信時(shí),通過(guò)Codec Engine的VISA(Video, Image, Speech,Audio) API來(lái)調(diào)用DSP側(cè)的算法,而與外設(shè)進(jìn)行通信時(shí),通過(guò)頂層軟件管理來(lái)對(duì)數(shù)據(jù)流進(jìn)行操作,如存儲(chǔ)、網(wǎng)絡(luò)流媒體傳輸、web服務(wù)器等。ARM應(yīng)用程序調(diào)用Codec Engine的VISA API,來(lái)完成圖像數(shù)據(jù)和視頻數(shù)據(jù)的編碼工作。
4實(shí)驗(yàn)結(jié)果
根據(jù)該文所研究的系統(tǒng)設(shè)計(jì),如圖4可見完成的數(shù)碼顯微鏡目鏡。所設(shè)計(jì)的系統(tǒng)包含了一個(gè)傳感器模塊和一個(gè)TMS320DM368的實(shí)時(shí)圖像采集主板。圖5展示了實(shí)驗(yàn)時(shí)所拍攝的圖像。
5總結(jié)
數(shù)字顯微鏡目鏡的關(guān)鍵問(wèn)題是圖像的高品質(zhì)采集和顯示。然而,大多數(shù)研究集中在基于PC的圖像采集和處理系統(tǒng)。在該文中,提出了一個(gè)基于TMS320DM368的高清晰數(shù)字顯微鏡的設(shè)計(jì),可廣泛用于工業(yè)產(chǎn)品的檢測(cè)或顯微鏡圖像觀察。在此文中運(yùn)用了DaVinci系統(tǒng),它很好的將ARM和DSP融合運(yùn)用。圖像傳感器使用了CMOS芯片MT9P031,它是一個(gè)1/2.5 inch的CMOS芯片。
該文將傳感器和控制器集成到一個(gè)尺寸較小的嵌入式系統(tǒng)中,以獨(dú)立完成圖像采集、數(shù)據(jù)存儲(chǔ)和圖像顯示功能,由此研制出嵌入式便攜高清數(shù)碼顯微鏡。通過(guò)高速采集處理,可使百萬(wàn)像素圖像的實(shí)時(shí)顯示幀率達(dá)到30 f/s甚至更高,從而滿足實(shí)時(shí)性的要求。在接下去的研究中將優(yōu)化圖像處理算法,計(jì)劃使用分布式的圖像處理方式降低一半的圖像處理時(shí)間,這一方案的可行性還在研究當(dāng)中。接著,集成進(jìn)電池模塊、大容量硬盤模塊和無(wú)線網(wǎng)絡(luò)模塊,硬盤和無(wú)線網(wǎng)絡(luò)模塊都可以通過(guò)USB接口進(jìn)行擴(kuò)展。
參考文獻(xiàn):
[1]司騫.數(shù)碼顯微鏡圖像采集處理系統(tǒng)的研制[D].天津:天津大學(xué)精密儀器與光電子工程學(xué)院,2006.
[2]劉仁杰,司建敏,鄒建成.基于達(dá)芬奇平臺(tái)的數(shù)字水印檢測(cè)器原理及設(shè)計(jì)[J].北方工業(yè)大學(xué)學(xué)報(bào),2010,22(1):8-12.
[3] Synchronous dynamic random access memory[EB/OL].http://en.wikipedia.org/wiki/Synchronous_dynamic_random_access_memory.
[4] TI Incorporated. TMS320DM368 Digital Media System-on-Chip[EB/OL].2011, http://focus.ti.com/docs/prod/folders/print/tms320dm368. html.
[5] TI Incorporated. TMS320DM36x Digital Media System-on-Chip(DMSoC)Asynchronous External Memory Interface(EMIF)[EB/OL].2009, http://focus.ti.com/list/pdf/SPRUFll.
[6] Texas Instruments Incorporated. TMS320DM36x Digital Media System-on-Chip (DMSoC) DDR2/mDDR Memory Controller. http://focus. ti.com/lit/ug/sprufi2/sprufi2.pdf, Mar.2009.