本文介紹了一種基于PXI總線技術的SAR天線穩(wěn)定平臺測試模塊。該測試模塊是SAR天線平臺自動測試系統(tǒng)的主要子系統(tǒng),主要完成仿真轉臺位置信號解碼及輸出、平臺跟蹤誤差信號采集以及信號分析處理等功能。
PXI總線技術簡介
PXI總線技術是NI發(fā)布的一種全新的開放性、模塊化的儀器總線規(guī)范,是PCI總線在儀器領域的擴展。它將CompactPCI規(guī)范定義的PCI總線技術發(fā)展成適合于試驗、測量與數(shù)據采集場合應用的機械、電氣和軟件規(guī)范。PXI總線與臺式PCI規(guī)范具有完全相同的性能,是在PCI總線內核技術上增加了成熟的技術規(guī)范和要求形成的。它通過增加用于多板同步的觸發(fā)總線和參考時鐘、用于進行精確定時的星形觸發(fā)總線以及用于相鄰模塊間高速通訊的局部總線來滿足試驗和測量用戶的要求。PXI規(guī)范在CompactPCI機械規(guī)范中增加了環(huán)境測試和主動冷卻要求,以保證多廠商產品的互操作性和系統(tǒng)的易集成性。它定義Microsoft Windows NT 和Windows 95為其標準軟件框架,并要求所有的儀器模塊都必須帶有按VISA規(guī)范編寫的Win32設備驅動程序, 使PXI成為一種系統(tǒng)級規(guī)范,保證系統(tǒng)的易于集成與使用,從而進一步降低最終用戶的開發(fā)費用。
測試模塊的結構
作為基于Windows平臺的PXI總線測試卡,該儀器模塊包括PXI插卡和主機驅動程序軟件兩部分。PXI插卡負責測試數(shù)據的處理,主機驅動程序負責通信。
PXI插卡的結構
PXI插卡從功能上分為增量式編碼器解碼模塊、RS-232接口模塊、DSP主處理器以及PXI總線接口三部分,該測試卡的結構如圖1所示。增量式編碼器解碼模塊與422差分接收器配合,用于天線仿真轉臺兩軸位置數(shù)據的解碼;DSP主處理器完成測試數(shù)據的處理,PXI接口模塊主要完成PCI總線信號到本地總線的轉換接口;RS-232接口模塊接受PSD(光敏位置探測器)的串行輸出信號,PSD在測試系統(tǒng)中用于探測天線平臺的跟蹤仿真轉臺運動的誤差。
圖1 PXI插卡的結構
PSD串行輸出信號的讀取
測試系統(tǒng)采用PSD處理電路通過標準異步串口每5ms發(fā)送一幀數(shù)據,用TI TMS320VC5510作為主處理器,滿足了數(shù)據存儲空間的要求(內部有多達176KB RAM),但它只有用于同步通信的McBSP,不能直接實現(xiàn)異步串行通信,需要配合DSP的DMA通道通過軟件實現(xiàn)異步通信。將PSD發(fā)送的每一個字節(jié)作為一幀數(shù)據,以起始位的下降沿作為幀同步信號,采用過采樣的方法,將每一位(包括起始位)作為一個16位Word,停止位僅采8位WORD。將一個字節(jié)通過DMA通道緩沖到固定緩沖區(qū),當一幀數(shù)據(10個WORD)全部采完之后,發(fā)送DMA中斷通知DSP進行處理。對于串行通信普遍存在的開機錯位亂碼現(xiàn)象,通過對特殊位的判斷進行丟棄處理。
增量式編碼器解碼模塊設計
該測試模塊需要從天線平臺測試仿真轉臺接受平臺的位置信息,在各類運動控制系統(tǒng)中,常采用增量式光電編碼器作為反饋檢測元件,其輸出為相差90度的A、B兩相信號以及周期脈沖復位信號Z,A、B兩相信號相差的正負決定運動的正反方向,A、B兩相信號的脈沖輸出計數(shù)決定位置運動的大小,Z為過零復位脈沖。整個解碼邏輯設計如圖2所示,由于該測試系統(tǒng)采用的仿真轉臺的位置信息有方位、橫滾兩個方向,需要兩組解碼器分別解碼兩個方向的位置信息。
圖2 解碼邏輯設計
主處理器的工作流程
DSP是該測試卡的關鍵部件,擔負著數(shù)據處理、存儲、模擬慣導數(shù)據產生以及與上位機通信等任務。DSP以PSD發(fā)送數(shù)據為時間基準,接收到PSD每隔5ms發(fā)來的數(shù)據并存儲后,首先通過EMIF(Extern Memory Interface,外部存儲器接口)從增量式編碼器解碼模塊中讀取計數(shù)器的計數(shù)值,經比例運算轉換成兩個16位角度量后,存儲并通過EMIF接口發(fā)送給外部的慣導數(shù)據模擬模塊,轉換成慣導輸出的自整角機信號發(fā)送給穩(wěn)定平臺。為了保證連續(xù)記錄數(shù)據,數(shù)據存儲在DSP的DARAM(Dual -Access RAM,雙口RAM)中,并采用乒乓式的存儲(即有兩個存儲區(qū),當其中一個存儲區(qū)滿之后,通過PXI總線向上位機發(fā)中斷,然后開始向另一個存儲區(qū)寫入數(shù)據)。我們設定每個存儲區(qū)存儲1000組數(shù)據(每組包括電控轉臺方位、橫滾姿態(tài)以及平臺在這兩個方向上的跟蹤誤差4個數(shù)據),故每個存儲區(qū)包括4000Words。
PXI總線接口硬件設計
本測試卡使用DSP的16位EHPI(Enhanced Host-Port Interface,增強主機接口)與PCI 9030芯片的Local總線相連,EHPI可以通過DMA控制器在不干擾DSP系統(tǒng)正常工作的情況下讀取DSP內部DARAM,內部SARAM(Single-Access RAM,單口RAM)以及部分CE0片選的外部存儲空間,多達1MB。這樣上層計算機既可以通過PXI總線在DSP內部存儲區(qū)獲取所需要的測試數(shù)據,而不至于影響DSP的正常工作。
PXI總線接口驅動程序
該測試模塊工作在Windows 2000操作系統(tǒng)中,需要開發(fā)相應的WDM驅動程序,該驅動程序主要完成訪問PCI 9030配置空間、訪問DSP內存空間以及中斷處理、應用程序與驅動程序的通信3個功能。DSP采用兩個存儲區(qū)進行乒乓式的存儲,當一個存儲區(qū)內的數(shù)據準備好之后就通過PXI總線向計算機發(fā)出中斷,驅動程序處理中斷,并讀取該DSP存儲區(qū)中的數(shù)據。
考慮到采用面向對象的驅動程序框架,簡化驅動程序的開發(fā)過程,這里選用基于Windows DDK作為底層支持的DriverWorks作為驅動程序的開發(fā)平臺,其中的DriverWizard向導工具在VC環(huán)境中可以建立驅動程序的框架,這里主要介紹一些驅動程序中的幾個功能模塊。
(1)訪問9030配置空間。在生成驅動程序框架的時候已為9030的配置寄存器聲明了所需的存儲器映射資源,產生一個KMemoryRange類實例m_MemoryRange,這個類在驅動程序初始化時獲得9030硬件寄存器配置空間的地址范圍,這樣就可以使用該實例的inb和outb分別實現(xiàn)對硬件寄存器的讀寫操作。
(2)訪問DSP內存空間以及中斷處理,即對DSP存儲區(qū)進行讀寫操作。在生成驅動程序框架的時候已為9030的局部總線空間申明了所需的存儲器映射資源,產生一個KMemoryRange類實例m_LocalAddSpace0,這個類在驅動程序初始化的時候獲得9030的局部總線地質空間的系統(tǒng)地址范圍;同時驅動程序也產生一個KDeferredCall類的實例m_DpcFor_Irq,用于調用中斷延遲處理程序DpcFor_Irq()。當測試卡產生中斷時,驅動程序捕獲中斷,作相應處理之后通過m_DpcFor_Irq調用DpcFor_Irq()。在DpcFor_Irq()中,通過m_LocalAddSpace0的inb和outb對DSP存儲區(qū)進行讀寫操作。把讀到的數(shù)據存放在事先申請的系統(tǒng)緩沖區(qū)(這里只涉及到讀操作)。
(3)應用程序和驅動程序的通信。首先應用程序通過操作系統(tǒng)提供的API函數(shù)調用驅動程序的讀寫例程Read()(這里只涉及到讀操作)。由Read()例程中調用StartIo()對讀請求進行排隊,以避免讀寫操作沖突。由StartIo()調用SerialRead()例程進行具體的讀操作,即把事先申請的系統(tǒng)緩沖區(qū)中的數(shù)據轉移到用戶緩沖區(qū),完成所要求的讀操作。
結語
作為機載SAR天線平臺自動化測試系統(tǒng)的核心,該模塊以主流的儀器總線PXI總線為載體,保證了測試系統(tǒng)的穩(wěn)定性和工業(yè)級要求,通過標準串行接口讀取平臺伺服系統(tǒng)的響應(誤差),實現(xiàn)了對平臺靜態(tài)跟蹤誤差的測試和動態(tài)響應的實時數(shù)據采集。這些關鍵技術是該自動化測試系統(tǒng)實現(xiàn)設計功能的基礎,同時也使該模塊不僅具有獨立于測試系統(tǒng)的通用性,而且具有對不同類型機載SAR穩(wěn)定平臺的通用性。實際測試證明,該模塊實現(xiàn)了預定的功能,能夠可靠的工作。
參考文獻:
1.張澄波.“合成孔徑雷達的原理、系統(tǒng)分析及應用“.科學出版社, 1989
2. ”PXI Specification“,PXI System Alliance,2000.8
3.”PCI 9030 Data Book“,PLX Technology, 2002
4.武安河.”Windows 2000/XP WDM設備驅動程序開發(fā)(第2版)“,電子工業(yè)出版社 2005.5