本系統(tǒng)使用微型計(jì)算機(jī)仿真電視圖像處理系統(tǒng)來對(duì)圖像進(jìn)行處理,使用PCI插卡電路,實(shí)現(xiàn)圖像數(shù)據(jù)采集數(shù)據(jù)的實(shí)時(shí)采集和發(fā)送。 PCI總線的發(fā)展,打破了傳統(tǒng)微型計(jì)算機(jī)數(shù)據(jù)傳送的瓶頸,傳統(tǒng)微型計(jì)算機(jī)總線的最大缺點(diǎn)是傳輸
速率太低,不能實(shí)現(xiàn)圖像數(shù)據(jù)的實(shí)時(shí)傳輸,更不能滿足圖像處理系統(tǒng)和大型應(yīng)用程序的要求。PCI總線作為一種同步,且獨(dú)立于處理器的32位局部總線,其最高工作頻率為33 MHz,數(shù)據(jù)傳輸峰值吞吐率可達(dá)132Mb/s。因而用PCI總線傳送1場(chǎng)(256×256×32位數(shù)據(jù))信號(hào)的時(shí)間不大于20 ms。由于電視信號(hào)存在空間和時(shí)間上的冗余,如對(duì)信號(hào)進(jìn)行壓縮,則傳送一場(chǎng)信號(hào)所需的時(shí)間將會(huì)更短。因此,在仿真系統(tǒng)中,利用PCI總線將數(shù)據(jù)圖像信息直接傳輸?shù)较到y(tǒng)內(nèi)存中,對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸、存儲(chǔ)和處理是可能的。
1 系統(tǒng)的結(jié)構(gòu)與功能
由于采用了微型計(jì)算機(jī)作為數(shù)據(jù)處理系統(tǒng),因而可使硬件電路設(shè)計(jì)的工作量大大降低,仿真系統(tǒng)僅需要設(shè)計(jì)一PCI插卡,就可實(shí)現(xiàn)圖像數(shù)據(jù)的適時(shí)采集和處理。系統(tǒng)的原理框圖如圖1所示。
采用PCI總線視頻處理卡對(duì)圖像進(jìn)行預(yù)處理和視頻A/D轉(zhuǎn)換,再通過PCI總線將數(shù)字圖像信息寫入計(jì)算機(jī)系統(tǒng)內(nèi)存,使用高級(jí)語言編程,實(shí)現(xiàn)數(shù)字圖像的預(yù)處理、分割、目標(biāo)圖像處理、匹配等算法。
2 PCI總線視頻信號(hào)處理卡
PCI總線視頻處理卡由模擬視頻信號(hào)處理、視頻信號(hào)A/D轉(zhuǎn)換、PCI總線數(shù)據(jù)采集和信號(hào)傳輸?shù)炔糠纸M成。
2.1 視頻處理和視頻A/D轉(zhuǎn)換
視頻信號(hào)經(jīng)過電纜傳輸后有一定的衰減并且迭加上噪聲信號(hào),對(duì)A/D轉(zhuǎn)換前的原始視頻信號(hào)進(jìn)行放大和濾波處理,可以有效增強(qiáng)視頻信息,降低噪聲干擾。視頻A/D轉(zhuǎn)換芯片可供選擇的種類比較多,如SAA7111,BT218等。
2.2 PCI總線數(shù)據(jù)采集和信號(hào)傳輸
PCI總線是成組數(shù)據(jù)的瘁發(fā)傳輸,每組數(shù)據(jù)是由一個(gè)地址信號(hào)和一系列的數(shù)據(jù)信號(hào)組成,PCI總線采用地址和數(shù)據(jù)復(fù)用結(jié)構(gòu),大大減少了信號(hào)數(shù)量,但PCI總線規(guī)范仍然十分復(fù)雜,其接口的實(shí)現(xiàn)比傳統(tǒng)ISA、EISA總線困難,連接到PCI總線上的設(shè)備可分為主控設(shè)備和目標(biāo)設(shè)備兩類,目標(biāo)設(shè)備最少需要47個(gè)信號(hào),主控設(shè)備最少需要49個(gè)信號(hào),其中包括數(shù)據(jù)/地址復(fù)用總線、接口控制線、仲裁、總線命令、系統(tǒng)線等。在設(shè)計(jì)中,可采用以下兩種方案實(shí)現(xiàn)PCI總線的接口設(shè)計(jì):
2.2.1 采用可編程邏輯器件實(shí)現(xiàn)PCI接口設(shè)計(jì)
目前幾乎所有的可編程邏輯器件廠商均有用于微型計(jì)算機(jī)接口的典型的PLD產(chǎn)品。多數(shù)廠家還提供用VHDL、Verilog、AHDL編制的PCI總線接口核心設(shè)計(jì)模塊。利用這些模塊可編程邏輯器件可以實(shí)現(xiàn)簡(jiǎn)單的PCI總線接口設(shè)計(jì)。由于可編程邏輯器件自身的特點(diǎn),設(shè)計(jì)人員實(shí)現(xiàn)PCI接口設(shè)計(jì)時(shí)有更多的思維想象空間。
雖然使用可編程邏輯器件設(shè)計(jì)PCI接口具有靈活的特點(diǎn),但在設(shè)計(jì)中仍存在以下需要關(guān)注的問題:
(1)PCI具有順從性的特點(diǎn),幾乎所有包含高性能數(shù)據(jù)和控制路徑中的邏輯都需要1個(gè)PCI系統(tǒng)時(shí)間的拷貝,這與PCI苛刻的負(fù)載要求相矛盾。另外,在完成某些功能如數(shù)據(jù)突發(fā)傳送時(shí),往往需要很多時(shí)鐘負(fù)載,而時(shí)鐘上升沿到輸出有效時(shí)間必須小于11 ns,這進(jìn)一步加重時(shí)鐘扇出問題。
(2)PCI規(guī)范對(duì)傳輸數(shù)據(jù)的7 ns建立時(shí)間要求苛刻,有時(shí)在設(shè)計(jì)中要使用模擬延遲來解決。
(3)任何完善的PCI接口器件都必須提供PCI配置空間,實(shí)現(xiàn)PCI規(guī)定功能需要完成邏輯校驗(yàn)、地址譯碼、實(shí)現(xiàn)配置所需的各類寄存器等基本要求,選用的可編程器件對(duì)其邏輯門的容量有較大的要求。
此外,在使用可編程邏輯器件設(shè)計(jì)插卡電路時(shí)還需加入FIFO、用戶寄存器、后端設(shè)備接口等電路,在一定程度上增大了電路設(shè)計(jì)的難度。
2.2.2 選用PCI總線控制器專用芯片
采用專用芯片放置在插卡電路與PCI總線之間,提供傳遞數(shù)據(jù)和控制信號(hào)。如PLX公司開發(fā)的PLX9080和PLX9054系列芯片,AMCC公司的S59xx系列等。AMCC公司的S5933是一種功能強(qiáng)、使用靈活的PCI總線控制器接口芯片,采用160PQFP和208TQFP 兩種封裝形式,符合PCI局部總線規(guī)范,即可作為PCI總線目標(biāo)設(shè)備(Slave),實(shí)現(xiàn)基本的傳送要求,也可作為PCI總線主控設(shè)備(Master)訪問其他總線設(shè)備。原理框圖如圖2所示。
S5933提供了3種物理總線接口:PCI總線接口、ADD-ON總線接口及外部配置存儲(chǔ)器(BIOS-ROM)接口,數(shù)據(jù)傳輸可以在PCI總線與 ADD-ON總線之間或與外部配置存儲(chǔ)器之間進(jìn)行。PCI總線與ADD-ON總線之間的傳輸可以使用3種通道:信箱寄存器通道、FIFO通道和PASS- THRU通道。
(1)信箱寄存器通道。S5933的信箱寄存器(MAILBOXES)提供雙向數(shù)據(jù)通路,主要用于多路/分路器與AD-DON總線之間傳輸命令和狀態(tài)信息,并可基于指定MAILBOX事件,可在PCI總線或ADD-ON總線產(chǎn)生中斷。
(2)FIFO通道。FIFO通道主要包括2個(gè)32×8FIFO,分別實(shí)現(xiàn)從PCI到ADD-ON和ADD-0N到PCI的數(shù)據(jù)傳輸。這2個(gè)FIFO均支持PCI總線主設(shè)
備操作,支持突發(fā)傳輸。
(3)PASS-THRU通道。PASS-THRU傳輸通道為PCI總線提供一種寄存的訪問端口,通過握手協(xié)議訪問ADD-ON上的資源。PASS-THRU通道只能作為目標(biāo)設(shè)備,支持突發(fā)傳輸。
比較以上2種實(shí)現(xiàn)PCI接口的方案可知,用可編程邏輯器件能夠較靈活地實(shí)現(xiàn)所需要的功能。針對(duì)本系統(tǒng)PCI接口電路設(shè)計(jì),并非要實(shí)現(xiàn)PCI規(guī)范中的所有功能,用可編程邏輯器件也可以提供解決問題的方案。但為了達(dá)到PCI指標(biāo)的苛刻要求,需要做大量的邏輯驗(yàn)證和時(shí)序分析工作,采用S5933等PCI專用芯片,可以比較容易地實(shí)現(xiàn)PCI接口設(shè)計(jì),大大縮短研制周期。
3 計(jì)算機(jī)數(shù)據(jù)處理
為了實(shí)現(xiàn)仿真功能,還需要開發(fā)相關(guān)的圖像處理和控制接口軟件。Windows下的驅(qū)動(dòng)程序包括硬件的驅(qū)動(dòng)程序和文件系統(tǒng)等非物理設(shè)備的虛擬設(shè)備驅(qū)動(dòng)程序。由于Windows操作系統(tǒng)為了保證系統(tǒng)的安全性、穩(wěn)定性和可移植性,對(duì)應(yīng)用程序訪問硬件資源加以限制,因此無論采用可編程邏輯器件或者使用專用接口芯片實(shí)現(xiàn)PCI接口設(shè)計(jì),都需要開發(fā)相關(guān)設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)計(jì)算機(jī)軟件對(duì)PCI硬件設(shè)備的訪問。
3.1 設(shè)備驅(qū)動(dòng)程序的開發(fā)
開發(fā)設(shè)備驅(qū)動(dòng)程序有多種開發(fā)工具可以選擇。主要包括:微軟的軟件包(device drtver K6t,ddK);Numega公司的VtoolsS;KRF-Tech公司的WinDriver。
在開發(fā)設(shè)備驅(qū)動(dòng)程序之前首先要對(duì)硬件設(shè)備特性、總線結(jié)構(gòu)、中斷設(shè)置、數(shù)據(jù)傳輸機(jī)制及設(shè)備內(nèi)存等進(jìn)行分析。驅(qū)動(dòng)程序要完成的基本功能包括設(shè)備的初始化、對(duì)端口的讀寫操作、中斷的設(shè)置、響應(yīng)和調(diào)用以及對(duì)內(nèi)存的直接讀寫等。
3.2 仿真系統(tǒng)驅(qū)動(dòng)程序的開發(fā)
使用微軟公司功能強(qiáng)大的VC++高級(jí)編程語言編寫圖像處理軟件。在計(jì)算機(jī)系統(tǒng)內(nèi)存中開辟一段空間,存儲(chǔ)通過PCI總線傳輸?shù)臄?shù)字圖像信息和受控系統(tǒng)反饋量,使用VC++編程實(shí)現(xiàn)計(jì)算機(jī)內(nèi)存的讀寫操作,憑借計(jì)算機(jī)高速運(yùn)算功能,實(shí)現(xiàn)圖像的數(shù)字濾波、直方圖統(tǒng)計(jì)、二值化處理、邊緣檢測(cè)、目標(biāo)特征選擇等圖像處理算法,并將采集到的圖像、反饋量和處理過的圖像、反饋量顯示到計(jì)算機(jī)監(jiān)視器上,設(shè)計(jì)人員可以直接獲得圖像處理中間過程的各種數(shù)據(jù),通過對(duì)圖像處理中間過程的監(jiān)控,設(shè)計(jì)人員可以較方便發(fā)現(xiàn)不同圖像處理算法的優(yōu)缺點(diǎn),從而進(jìn)行各種圖像處理算法的優(yōu)化改進(jìn)。
4 結(jié)語
采用本文方法設(shè)計(jì)的電視圖像仿真系統(tǒng)已在某武器系統(tǒng)對(duì)目標(biāo)的紅外圖像識(shí)別、處理和控制的研制中獲得成功運(yùn)用。本系統(tǒng)充分利用PCI總線的高速特性和微型計(jì)算機(jī)的數(shù)據(jù)處理自由度大,靈活可靠的特點(diǎn),有效地解決了電視圖像的實(shí)時(shí)采集、傳輸、存儲(chǔ)和實(shí)時(shí)處理等問題,同時(shí)為設(shè)計(jì)人員的技術(shù)儲(chǔ)備和系統(tǒng)前期設(shè)計(jì)提供幫助,具有很強(qiáng)的應(yīng)用價(jià)值。