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