1 圖像處理系統(tǒng)發(fā)展現(xiàn)狀
在計(jì)算機(jī)信息處理及應(yīng)用中,圖像信息處理以及處理結(jié)果的應(yīng)用占有十分重要的地位。圖像處理的發(fā)展依賴于處理器芯片(包括單片機(jī)、DSP等)技術(shù)的應(yīng)用和發(fā)展,以及大容量、價(jià)格低廉的存儲(chǔ)器的出現(xiàn)。圖像處理系統(tǒng)雖然由機(jī)箱式大體積結(jié)構(gòu)發(fā)展為插卡式小型化結(jié)構(gòu),但是由于圖像處理存在大量的數(shù)據(jù)信息,在實(shí)時(shí)性和容量上一般不能滿足多數(shù)需要實(shí)時(shí)處理的場(chǎng)合。這主要體現(xiàn)在如下2個(gè)方面。
1.1 實(shí)時(shí)性要求
圖像處理系統(tǒng)有很多種實(shí)現(xiàn)方法,比如在通用計(jì)算機(jī)上用軟件實(shí)現(xiàn)、用單片機(jī)實(shí)現(xiàn)、利用特殊用途的DSP芯片來(lái)實(shí)現(xiàn)等。但這些實(shí)現(xiàn)方法都有著缺點(diǎn),例如軟件實(shí)現(xiàn)速度太慢,不能用于實(shí)時(shí)系統(tǒng);單片機(jī)采用的是馮·諾依曼總線結(jié)構(gòu),而且乘法運(yùn)算速度太慢;如果用特殊用途的DSP芯片又缺乏靈活性,而且開發(fā)工具不是很完善。
在本系統(tǒng)中,圖像處理系統(tǒng)是在通用計(jì)算機(jī)上加入DSP加速卡來(lái)實(shí)現(xiàn)。利用DSP芯片的高速處理特性完成大部分的圖像處理工作,計(jì)算機(jī)只是作為輔助操作和存儲(chǔ)系統(tǒng)。這種方法發(fā)揮了DSP的高速性能又具有相當(dāng)大的靈活性的特點(diǎn),開發(fā)工具比較完善。
實(shí)現(xiàn)實(shí)時(shí)性要求還必須有足夠的傳輸速度,PCI總線速度最高可達(dá)132MB/s,這是其他總線無(wú)法比擬的速度,如ISA總線速度只有5MB/s。
1.2 小型化要求
現(xiàn)今圖像處理應(yīng)用越來(lái)越趨于小型化系統(tǒng),趨向于把整個(gè)處理系統(tǒng)集成在一個(gè)小"黑盒子"里面,甚至于一塊電路板上。這就要求圖像處理系統(tǒng)具有高速度、高集成度的處理芯片來(lái)完成原本需要許多部件合作完成的任務(wù)。DSP的中央處理器特性使得可以把眾多的功能集于一身,并通過(guò)外部擴(kuò)展來(lái)實(shí)現(xiàn)復(fù)雜的功能,實(shí)現(xiàn)系統(tǒng)的小型化。
另外,視頻數(shù)據(jù)一個(gè)很大的特點(diǎn)就是大容量性,這是與音頻數(shù)據(jù)最大的區(qū)別之一。對(duì)于大容量數(shù)據(jù)的實(shí)時(shí)處理不但需要高速的CPU,還需要能擴(kuò)展的大容量存儲(chǔ)空間。在通用計(jì)算機(jī)上用軟件實(shí)現(xiàn)時(shí),其存儲(chǔ)空間由計(jì)算機(jī)的存儲(chǔ)空間決定,其擴(kuò)展性能受到了限制;同時(shí)單片機(jī)的擴(kuò)展空間有限。它們都無(wú)法滿足視頻數(shù)據(jù)的大容量要求。
本文正是著眼于實(shí)時(shí)性和小型化要求這兩方面問(wèn)題,設(shè)計(jì)了用DSP加速卡實(shí)現(xiàn)的圖像采集系統(tǒng)。利用DSP芯片的高速處理特性完成大部分的圖像處理工作,上位機(jī)只完成輔助操作和存儲(chǔ)系統(tǒng)。這種方法發(fā)揮了DSP的高速性能又具有相當(dāng)大的靈活性,而且開發(fā)工具比較完善。另外,PCI總線速度最高可達(dá)528MB/s(66MHz、64位),這是其他總線無(wú)法比擬的速度。系統(tǒng)中C6000系列中DSP的可擴(kuò)展存儲(chǔ)空間高達(dá)1GB,這完全可以滿足一般圖像處理系統(tǒng)的需要。
2 DSP圖像處理系統(tǒng)結(jié)構(gòu)
本系統(tǒng)采用TI公司C6000系列DSP中的TMS320C6211作為系統(tǒng)的CPU。圖像數(shù)據(jù)通過(guò)視頻頭輸入模擬圖像信號(hào),這些信號(hào)經(jīng)過(guò)視頻解碼芯片進(jìn)行A/D轉(zhuǎn)換為數(shù)字信號(hào),經(jīng)FIFO輸入DSP進(jìn)行圖像的增強(qiáng)、分割、特征提取和數(shù)據(jù)壓縮等,然后輸出信號(hào)經(jīng)PCI解碼芯片轉(zhuǎn)換為符合PCI總線規(guī)范的標(biāo)準(zhǔn)信號(hào),通過(guò)PCI總線接口傳到上位機(jī)。
本系統(tǒng)設(shè)計(jì)目的是用于智能樓宇的管理,主要實(shí)現(xiàn)對(duì)樓宇一些重要參數(shù)的實(shí)時(shí)檢測(cè)功能等。當(dāng)然可以用于其他的監(jiān)控系統(tǒng),其硬件系統(tǒng)基本一致,不同的在于軟件功能的區(qū)別。系統(tǒng)結(jié)構(gòu)圖如圖1。
[img=450,164]http://www.e-works.net.cn/ewk2004/fileupload/images/127465331654062500.gif[/img]
從圖1可以看出,整個(gè)系統(tǒng)可分為3個(gè)模塊: DSP圖像處理模塊,視頻解碼模塊,PCI總線模塊。下面分別介紹這3個(gè)模塊的實(shí)現(xiàn)過(guò)程和功能。
2.1 DSP圖像處理模塊
本系統(tǒng)選用TI公司的C6000系列DSP之中的TMS320C611作為本系統(tǒng)的CPU。C6000是TI公司發(fā)布的面向視頻處理領(lǐng)域的新款高速數(shù)字處理芯片,適用于移動(dòng)通信基站、圖像監(jiān)控、雷達(dá)系統(tǒng)等需要高速度和高度智能化的應(yīng)用領(lǐng)域。存儲(chǔ)空間選用現(xiàn)代公司的2片HY57V651620B作為運(yùn)行過(guò)程中的存儲(chǔ)器(SDRAM)和AMD公司的AM29LV800B 作為啟動(dòng)時(shí)候需加載程序和參數(shù)的存儲(chǔ)器(FLASH)。其結(jié)構(gòu)如圖2所示。圖中的HPI(Host Port Interface)為主機(jī)口;EMIF(External Memory Interface)為外部存儲(chǔ)器接口,兼容同步/異步方式。
[img=450,226]http://www.e-works.net.cn/ewk2004/fileupload/images/127465331850781250.gif[/img]
(1) TMS320C6211處理器特性及完成功能
TMS320C6211處理器由3個(gè)主要部分組成:CPU內(nèi)核、外設(shè)和存儲(chǔ)器。它的高速性能主要體現(xiàn)在如下幾個(gè)方面:① TMS320C6211的存儲(chǔ)空間最大擴(kuò)展可以達(dá)到512MB,這完全可以滿足各種圖像處理系統(tǒng)所需的內(nèi)存空間,而且其最高時(shí)鐘可達(dá)167MHz,峰值性能可達(dá)1600MIPS(百萬(wàn)條指令/秒)、2400MOPS(百萬(wàn)次操作/秒)。② 并行處理結(jié)構(gòu)。TMS320C6211芯片內(nèi)有8個(gè)并行處理單元,分為相同的兩組,并行結(jié)構(gòu)突破傳統(tǒng)設(shè)計(jì)使得芯片具有很高的性能。③ 芯片體系采用VelociTI結(jié)構(gòu)。VelociTI是一種高性能的甚長(zhǎng)指令字(VLIW)結(jié)構(gòu),單指令字字長(zhǎng)為32bit,8個(gè)指令組成一個(gè)指令包,總字長(zhǎng)為256bit,即每秒鐘可以執(zhí)行8條指令,同時(shí)芯片內(nèi)部設(shè)置了專門的指令分配模塊,可以將每個(gè)256bits的指令包同時(shí)分配到8個(gè)處理單元,并由8個(gè)單元同時(shí)執(zhí)行。④ 采用流水線操作實(shí)現(xiàn)高速度、高效率。TMS320C6211只有在流水線充分發(fā)揮作用的情況下,才能達(dá)到最高的MIPS。C6211的流水線分為3個(gè)階段:指令讀入、解碼和執(zhí)行,總共11級(jí)。
DSP完成的功能主要是對(duì)從FIFO讀入的數(shù)據(jù)進(jìn)行處理,包括依照程序進(jìn)行識(shí)別、特征提取以參數(shù)檢測(cè)等。當(dāng)視頻頭采集速度為每秒25幀圖像時(shí),它留給DSP處理的時(shí)間最多為每幀40ms,如果考慮系統(tǒng)中一定的延時(shí)以及處理后圖像的存儲(chǔ)時(shí)間,那么DSP處理一幅圖像時(shí)間不能超過(guò)30ms,按照C6211的處理速度,在30ms內(nèi)可以處理36M條指令。DSP讀出FIFO中的行數(shù)據(jù)并存入SDRAM,一幀圖像有576行,在最后一行時(shí)會(huì)收到幀中斷,這時(shí)SDRAM中的圖像數(shù)據(jù)總共有1440×576=810KB。讓C6211用36M條指令的時(shí)間處理810K的數(shù)據(jù)是綽綽有余。
(2) SDRAM存儲(chǔ)器
HY57V651620B是現(xiàn)代公司發(fā)布的128Mb SDRAM,支持分頁(yè)尋址,訪問(wèn)速度為7.5ns,與DSP系統(tǒng)同步工作,但因?yàn)镈SP工作在150MHz,故系統(tǒng)中SDRAM工作在DSP時(shí)鐘的一半或者2/3,即75MHz或者100MHz。當(dāng)工作在100MHz時(shí)候,SDRAM在時(shí)序上需要一些特殊的控制,不是簡(jiǎn)單的與DSP同步。SDRAM主要在系統(tǒng)運(yùn)行過(guò)程中存儲(chǔ)臨時(shí)數(shù)據(jù)和處理結(jié)果。系統(tǒng)中共有256Mb的存儲(chǔ)空間,其消耗情況視啟動(dòng)程序和圖像處理程序的大小而定。
(3) FLASH存儲(chǔ)器
AM29LV800B是AMD公司發(fā)布的8Mb FLASH芯片,同樣支持分頁(yè)尋址,工作在異步方式。啟動(dòng)程序固化在FLASH芯片中。當(dāng)系統(tǒng)加電啟動(dòng)時(shí),F(xiàn)LASH中的程序下載到DSP的SDRAM中運(yùn)行。FLASH具有在線重寫入功能,這對(duì)系統(tǒng)啟動(dòng)程序的修改和升級(jí)都帶來(lái)了很大的方便。
2.2 視頻解碼模塊
本系統(tǒng)視頻A/D采用的是Philips公司的SAA7111A作為視頻解碼芯片,SAA7111A可以提供四路模擬視頻輸入,具有兩個(gè)模擬處理通道,支持四路CVBS模擬信號(hào)或二路Y/C模擬信號(hào)或(2×CVBS和1×Y/C)。SAA7111A對(duì)視頻頭輸入的標(biāo)準(zhǔn)PAL格式的模擬圖像信號(hào)進(jìn)行A/D轉(zhuǎn)換,然后輸出符合CCIR601建議格式的4:2:2的16位YUV數(shù)據(jù)到FIFO,其中亮度信號(hào)Y為8位、色度信號(hào)Cr和Cb合為8位數(shù)據(jù)。FIFO采用的是IDT公司的IDT72V215LB芯片,深度為512×18。按照CCIR601標(biāo)準(zhǔn),YUV圖像分辨率為720×576,那么按行輸出時(shí),SAA7111A輸出數(shù)據(jù)流大小為:720×16=1440bit。因?yàn)镈SP通過(guò)32位的SBSRAM接口與FIFO通信,故YUV數(shù)據(jù)寫入FIFO時(shí)需要在FIFO之間實(shí)現(xiàn)乒乓切換,這時(shí)一行720×16的數(shù)據(jù)在兩片F(xiàn)IFO中存儲(chǔ)變?yōu)?60×32。
2.3 PCI通信模塊
PCI(Peripheral Component Interconnect,外圍組件接口)它既可以作為中間層的總線也可以作為周邊總線系統(tǒng)使用。與其他普通總線規(guī)范相對(duì)照,PCI總線為高速I/O設(shè)備提供了更好的支持,比如可以很好的支持圖像適配器、網(wǎng)絡(luò)接口控制器、磁盤控制器等?,F(xiàn)行的標(biāo)準(zhǔn)允許在33MHz下使用64根數(shù)據(jù)線,傳輸速率可達(dá)2.12Gbps。并且PCI總線支持線性突發(fā)的數(shù)據(jù)傳輸模式,可確??偩€不斷滿載數(shù)據(jù),因此能有效利用總線帶寬。另外,PCI總線還具有低延時(shí)的隨機(jī)存取特性,對(duì)從總線上的主控寄存器到從屬寄存器的寫延時(shí)為60ns。
PCI總線規(guī)范吸引人的地方不僅是其高速度,更在于它適應(yīng)了現(xiàn)代I/O設(shè)備對(duì)系統(tǒng)的要求,對(duì)PCI擴(kuò)展卡及器件能進(jìn)行全自動(dòng)配置,并且只需很少的接口邏輯就可以實(shí)現(xiàn)并支持其他總線系統(tǒng)。
TMS320C6211的HPI口不支持PCI總線的無(wú)縫接口。本系統(tǒng)中采用TI公司的PCI2040來(lái)實(shí)現(xiàn)DSP的HPI與PCI總線的連接。DSP處理后的數(shù)據(jù)經(jīng)HPI口輸出到PCI2040進(jìn)行解碼,然后輸出到PCI總線上。其邏輯結(jié)構(gòu)圖如圖3所示。
[img=450,350]http://www.e-works.net.cn/ewk2004/fileupload/images/127465332136093750.gif[/img]
PCI2040是TI公司設(shè)計(jì)的專門用來(lái)完成C5000系列和C6000系列DSP和PCI總線進(jìn)行接口的專用芯片。PCI2040符合PCI局部總線2.2規(guī)范,能夠方便的實(shí)現(xiàn)PCI總線與TMS320C54X或TMS320C6X DSP的HPI斷口的無(wú)縫連接。PCI2040可以兼容3.3V和5V,以適應(yīng)不同的PCI總線電壓。PCI2040與C6211之間不需要進(jìn)行信號(hào)的電平轉(zhuǎn)換,也不需要額外的控制邏輯電路,因此接口電路十分簡(jiǎn)單。
在本系統(tǒng)中,PCI2040上存在2種電壓:5V和3.3V,其中3.3V是HPI口電壓,而5V是PCI總線電壓。PCI2040在啟動(dòng)時(shí)需要對(duì)其PCI總線寄存器和HPI寄存器參數(shù)進(jìn)行預(yù)加載。系統(tǒng)中PCI解碼模塊包括一塊配置ROM——AT24C08A,屬于EEPROM型ROM,便于對(duì)配置參數(shù)的修改和升級(jí)。當(dāng)系統(tǒng)啟動(dòng)時(shí),存儲(chǔ)在AT24C08A的數(shù)據(jù)被下載到PCI2040的寄存器中并進(jìn)行配置。
圖中/HINT[3:0]、/HCS[3:0]、HRDY[3:0]、HRST[3:0]分別與4片DSP中的相應(yīng)信號(hào)相連,即PCI2040可以同時(shí)與4片DSP接口。
3 PCI總線驅(qū)動(dòng)實(shí)現(xiàn)方法
在系統(tǒng)軟件方面,基于PCI總線的圖像處理系統(tǒng)面臨的難點(diǎn)頗多,其中難度最大的是PCI驅(qū)動(dòng)問(wèn)題。
為闡明如何在Windows操作系統(tǒng)下實(shí)現(xiàn)PCI總線的驅(qū)動(dòng),還需了解PCI設(shè)備的配置空間系統(tǒng)。PCI設(shè)備有3種物理存儲(chǔ)空間:配置空間、存儲(chǔ)器空間和I/O空間。配置空間是長(zhǎng)度為256字節(jié)的一段連續(xù)空間,空間的定義如圖4。在配置空間中只讀空間有設(shè)備標(biāo)識(shí)、供應(yīng)商代碼、修改版本、分類代碼以及頭標(biāo)類型。其中供應(yīng)商代碼用來(lái)標(biāo)識(shí)設(shè)備供應(yīng)商的代碼;設(shè)備標(biāo)識(shí)用來(lái)標(biāo)識(shí)某一特殊的設(shè)備;修改版本標(biāo)識(shí)設(shè)備的版本號(hào);分類代碼用來(lái)標(biāo)識(shí)設(shè)備的種類;而頭標(biāo)類型用來(lái)標(biāo)識(shí)頭類型以及是否為多功能設(shè)備。除供應(yīng)商代碼之外,其他字段的值由供應(yīng)商分配?;刂芳拇嫫髯钪匾墓δ苁欠峙銹CI設(shè)備的系統(tǒng)地址空間。在基地址寄存器中bit0(最低位)用來(lái)標(biāo)識(shí)存儲(chǔ)器空間還是I/O地址空間,基地址寄存器映射到存儲(chǔ)器空間時(shí)bit0為“0”,映射到I/O地址空間時(shí)bit0為“1”。
3.1 Windows環(huán)境下驅(qū)動(dòng)程序
驅(qū)動(dòng)程序可以理解為一系列控制硬件設(shè)備的函數(shù)。在Windows操作系統(tǒng)中,封裝驅(qū)動(dòng)程序的方法是制作一個(gè)DLL或VxD。當(dāng)硬件是非標(biāo)準(zhǔn)設(shè)備時(shí),必須針對(duì)特定的硬件來(lái)設(shè)計(jì)Windows環(huán)境下的設(shè)備驅(qū)動(dòng)程序。
在DOS操作系統(tǒng),對(duì)于一個(gè)應(yīng)用程序而言它總認(rèn)為自己是唯一運(yùn)行的程序,因此應(yīng)用程序可以直接訪問(wèn)硬件,獨(dú)占所有的系統(tǒng)內(nèi)存以及系統(tǒng)運(yùn)行時(shí)間,當(dāng)然也就不需要設(shè)備驅(qū)動(dòng)程序。但到了Windows操作系統(tǒng),系統(tǒng)中同時(shí)可能有若干個(gè)應(yīng)用程序在運(yùn)行,這就使得系統(tǒng)不可能讓它隨意的直接訪問(wèn)硬件,否則就會(huì)引起應(yīng)用程序訪問(wèn)沖突而導(dǎo)致系統(tǒng)崩潰。為解決這一問(wèn)題,人們提出將系統(tǒng)的資源虛擬化,讓應(yīng)用程序運(yùn)行在一個(gè)虛擬定環(huán)境中的虛擬機(jī)(VM)上,而管理程序和驅(qū)動(dòng)程序運(yùn)行在實(shí)際機(jī)器上(Ring0級(jí)),由它們來(lái)處理針對(duì)硬件的操作。虛擬資源是硬件(甚至軟件)資源的仿真,當(dāng)系統(tǒng)虛擬了所有或者幾乎所有的程序可以訪問(wèn)的資源時(shí),它就創(chuàng)造了一個(gè)“虛擬機(jī)”(VM)。Windows虛擬機(jī)完全透明的仿真了以下資源和性能:
(1) 可訪問(wèn)的內(nèi)存空間
(2) I/O操作
(3) 中斷操作
(4) 外圍設(shè)備(顯示器、鍵盤等)
如此以來(lái),Windows應(yīng)用程序在Ring3級(jí)(最低級(jí))的保護(hù)模式上運(yùn)行,不能直接訪問(wèn)硬件,執(zhí)行一個(gè)對(duì)硬件的操作就會(huì)引起一個(gè)異常事件,此時(shí)處理器切換到Ring0級(jí),并且將控制權(quán)交給相應(yīng)當(dāng)控制器。所有Windows應(yīng)用程序分享一個(gè)系統(tǒng)虛擬機(jī)。
Windows主要根據(jù)頁(yè)錯(cuò)誤機(jī)制實(shí)現(xiàn)對(duì)存儲(chǔ)器映射設(shè)備訪問(wèn)的虛擬化。要捕獲對(duì)某個(gè)設(shè)備內(nèi)存的訪問(wèn),設(shè)備VxD驅(qū)動(dòng)程序會(huì)將頁(yè)表中對(duì)應(yīng)于相應(yīng)當(dāng)內(nèi)存頁(yè)標(biāo)注為“不可用”。當(dāng)在虛擬環(huán)境中運(yùn)行的程序試圖訪問(wèn)這個(gè)頁(yè)時(shí),會(huì)產(chǎn)生一個(gè)錯(cuò)誤。VM的異常處理器會(huì)調(diào)用已注冊(cè)的設(shè)備VxD驅(qū)動(dòng)程序的頁(yè)錯(cuò)誤處理器進(jìn)行相關(guān)處理,即當(dāng)VM訪問(wèn)該端口時(shí)產(chǎn)生異常時(shí)進(jìn)入該硬件的回調(diào)處理器,由我們自己編寫的函數(shù)進(jìn)行處理。
3.2 各種驅(qū)動(dòng)程序比較
常見的驅(qū)動(dòng)程序包括三種:VxD,KMD和WDM。
(1) VxD:虛擬設(shè)備驅(qū)動(dòng)程序,是系統(tǒng)用于各種硬件資源識(shí)別、管理、維護(hù)運(yùn)作的擴(kuò)展。VxD和VMM一起維持著系統(tǒng)的運(yùn)作。VxD運(yùn)作組Intel系列CPU保護(hù)模式下的Ring0,擁有對(duì)硬件的最高控制權(quán)。
(2) KMD,Kernel Mode Driver。它是WindowsNT下提出的管理、維護(hù)硬件運(yùn)作的驅(qū)動(dòng)程序模式。該Driver運(yùn)行于WindowsNT的Kernel模式下(類似于Ring0)。但一個(gè)KMD的運(yùn)行環(huán)境在不同的時(shí)候是根本不同的,Driver收到設(shè)備請(qǐng)求時(shí)的運(yùn)行環(huán)境很可能和設(shè)備請(qǐng)求實(shí)際操作的運(yùn)行環(huán)境根本不同,因此在WindowsNT下Driver的運(yùn)作受到WindowsNT本身的很多限制。
(3) WDM,Win32 Driver Model。它可以和Windows2000兼容,MS力推的全新的驅(qū)動(dòng)程序模式,它實(shí)際也可以理解為一個(gè)即插即用的KMD。WMD代碼很長(zhǎng),Windows98對(duì)WDM支持有限,因此WMD難以一時(shí)取代VxD。
3.3 PCI2040驅(qū)動(dòng)程序開發(fā)
PCI2040不是標(biāo)準(zhǔn)的硬件設(shè)備,因此必須自己編寫PCI2040的硬件安裝信息文件和驅(qū)動(dòng)程序。PCI2040配置空間如附表:
[img=321,273]http://www.e-works.net.cn/ewk2004/fileupload/images/127465332311562500.gif[/img]
其中設(shè)備ID用以標(biāo)識(shí)特定的設(shè)備,具體的代碼由供應(yīng)商來(lái)分派;供應(yīng)商ID用以表明設(shè)備的制造者,這二者是識(shí)別PCI設(shè)備的唯一標(biāo)識(shí)。對(duì)于PCI2040來(lái)說(shuō),當(dāng)讀Vendor-device ID時(shí),返回值為AC60104C。
(1) 設(shè)備信息安裝文件
設(shè)備信息安裝文件(.INF)包含了驅(qū)動(dòng)程序的名稱、驅(qū)動(dòng)程序應(yīng)該復(fù)制到的目錄,以及在驅(qū)動(dòng)程序安裝時(shí)必須生成和修改的注冊(cè)表入口。
在編寫INF文件時(shí),可以使用了VtoolsD開發(fā)包中的INF Editor工具,以下是我所編寫的PCI2040安裝信息文件。
[Version]
Signature=$CHICAGO$
Class=PCI Bridge file://設(shè)備類型為PCI橋設(shè)備
Provider=%String0% file://供應(yīng)商的名稱
[ClassInstall]
[DestinationDirs]
DefaultDestDir=11 file://將驅(qū)動(dòng)程序安裝在
file://C:WindowsSystem目錄下
[Manufacturer]
%String1%=SECTION_0
[SECTION_0]
%String2%=sevenstar,PCIVEN_104C&DEV_AC60
[sevenstar]
CopyFiles=CopyFiles_sevenstar
AddReg=AddReg_sevenstar
[CopyFiles_sevenstar]
DSP_PCI_Bridge.vxd file://驅(qū)動(dòng)程序的名稱為
file://DSP_PCI_Bridge.vxd
[AddReg_sevenstar]
HKR,,DevLoader,0, DSP_PCI_Bridge.vxd file://在注 file://冊(cè)表中添加相關(guān)信息
[sevenstar_LogConfig]
ConfigPriority=NORMAL
IRQConfig=3,7,9,10,15 file://指定PCI2040可 file://選的中斷口
[ControlFlags]
[SourceDisksNames]
1=pci2040驅(qū)動(dòng)盤,,0000-0000
[SourceDisksFiles]
DSP_PCI_Bridge.vxd=1
[Strings]
String0="Texas Instruments"
String1="TI"
String2=“PCI橋接”
(2) VxD的創(chuàng)建
Windows支持靜態(tài)安裝和動(dòng)態(tài)安裝VxD,前者是在Windows初始化時(shí)安裝VxD并一直保存在Windows中,后者是在一個(gè)應(yīng)用程序或其他VxD的控制下安裝和卸載。靜態(tài)安裝的VxD始終占用著一定的內(nèi)存資源以及中斷口,若不是一直運(yùn)行,則導(dǎo)致了資源浪費(fèi)。
在使用QuickVxD開發(fā)VxD只需在Dynamically Loadable選項(xiàng)中打勾就行了,其中Device Name是指我們的VxD的設(shè)備名,每個(gè)VxD都有設(shè)備名這兒是指PCI2040芯片,Device ID是用來(lái)標(biāo)識(shí)設(shè)備,只有當(dāng)該VxD需要提供對(duì)其他VxD的調(diào)用入口時(shí)才用,且不能任意取應(yīng)該由Microsoft公司提供,一般情況直接用UNDEFINED_DEVICE_ID就行了,Device Initialization Order確定Windows對(duì)VxD的安裝順序,比如你想要你的VxD先于VDD初始化就應(yīng)該設(shè)置為VDD_INIT_ORDER-1,一般情況也使用默認(rèn)值。
4 結(jié)束語(yǔ)
圖像處理系統(tǒng)實(shí)現(xiàn)的關(guān)鍵在于如何對(duì)大容量的信息進(jìn)行暫存、壓縮和傳輸?shù)葐?wèn)題進(jìn)行處理。本系統(tǒng)的實(shí)現(xiàn)很好的解決了這三個(gè)難題。在圖像信息暫存方面充分利用了DSP存儲(chǔ)空間的可擴(kuò)展性,保證了系統(tǒng)可暫存的信息量足夠大;信息壓縮是DSP的最擅長(zhǎng)做的事情,可以在很短的時(shí)間內(nèi)完成大量的信息壓縮工作;PCI總線的引入保證了信息在足夠的帶寬下進(jìn)行快速傳輸。