基于PXI總線的SAR天線平臺測試模塊設計
主處理器的工作流程
DSP是該測試卡的關鍵部件,擔負著數據處理、存儲、模擬慣導數據產生以及與上位機通信等任務。DSP以PSD發送數據為時間基準,接收到PSD每隔5ms發來的數據并存儲后,首先通過EMIF(Extern Memory Interface,外部存儲器接口)從增量式編碼器解碼模塊中讀取計數器的計數值,經比例運算轉換成兩個16位角度量后,存儲并通過EMIF接口發送給外部的慣導數據模擬模塊,轉換成慣導輸出的自整角機信號發送給穩定平臺。
為了保證連續記錄數據,數據存儲在DSP的DARAM(Dual -Access RAM,雙口RAM)中,并采用乒乓式的存儲(即有兩個存儲區,當其中一個存儲區滿之后,通過PXI總線向上位機發中斷,然后開始向另一個存儲區寫入數據)。我們設定每個存儲區存儲1000組數據(每組包括電控轉臺方位、橫滾姿態以及平臺在這兩個方向上的跟蹤誤差4個數據),故每個存儲區包括4000Words。
PXI總線接口驅動程序
該測試模塊工作在Windows 2000操作系統中,需要開發相應的WDM驅動程序,該驅動程序主要完成訪問PCI 9030配置空間、訪問DSP內存空間以及中斷處理、應用程序與驅動程序的通信3個功能。DSP采用兩個存儲區進行乒乓式的存儲,當一個存儲區內的數據準備好之后就通過PXI總線向計算機發出中斷,驅動程序處理中斷,并讀取該DSP存儲區中的數據。
PXI總線接口硬件設計
本測試卡使用DSP的16位EHPI(Enhanced Host-Port Interface,增強主機接口)與PCI 9030芯片的Local總線相連,EHPI可以通過DMA控制器在不干擾DSP系統正常工作的情況下讀取DSP內部DARAM,內部SARAM(Single-Access RAM,單口RAM)以及部分CE0片選的外部存儲空間,多達1MB。這樣上層計算機既可以通過PXI總線在DSP內部存儲區獲取所需要的測試數據,而不至于影響DSP的正常工作。
考慮到采用面向對象的驅動程序框架,簡化驅動程序的開發過程,這里選用基于Windows DDK作為底層支持的DriverWorks作為驅動程序的開發平臺,其中的DriverWizard向導工具在VC環境中可以建立驅動程序的框架,這里主要介紹一些驅動程序中的幾個功能模塊。
(1)訪問9030配置空間。在生成驅動程序框架的時候已為9030的配置寄存器聲明了所需的存儲器映射資源,產生一個KMemoryRange類實例m_MemoryRange,這個類在驅動程序初始化時獲得9030硬件寄存器配置空間的地址范圍,這樣就可以使用該實例的inb和outb分別實現對硬件寄存器的讀寫操作。
(2)應用程序和驅動程序的通信。首先應用程序通過操作系統提供的API函數調用驅動程序的讀寫例程Read()(這里只涉及到讀操作)。由Read()例程中調用StartIo()對讀請求進行排隊,以避免讀寫操作沖突。由StartIo()調用SerialRead()例程進行具體的讀操作,即把事先申請的系統緩沖區中的數據轉移到用戶緩沖區,完成所要求的讀操作。
(3)訪問DSP內存空間以及中斷處理,即對DSP存儲區進行讀寫操作。在生成驅動程序框架的時候已為9030的局部總線空間申明了所需的存儲器映射資源,產生一個KMemoryRange類實例m_LocalAddSpace0,這個類在驅動程序初始化的時候獲得9030的局部總線地質空間的系統地址范圍;同時驅動程序也產生一個KDeferredCall類的實例m_DpcFor_Irq,用于調用中斷延遲處理程序DpcFor_Irq()。當測試卡產生中斷時,驅動程序捕獲中斷,作相應處理之后通過m_DpcFor_Irq調用DpcFor_Irq()。在DpcFor_Irq()中,通過m_LocalAddSpace0的inb和outb對DSP存儲區進行讀寫操作。把讀到的數據存放在事先申請的系統緩沖區(這里只涉及到讀操作)。
結語
作為機載SAR天線平臺自動化測試系統的核心,該模塊以主流的儀器總線PXI總線為載體,保證了測試系統的穩定性和工業級要求,通過標準串行接口讀取平臺伺服系統的響應(誤差),實現了對平臺靜態跟蹤誤差的測試和動態響應的實時數據采集。這些關鍵技術是該自動化測試系統實現設計功能的基礎,同時也使該模塊不僅具有獨立于測試系統的通用性,而且具有對不同類型機載SAR穩定平臺的通用性。實際測試證明,該模塊實現了預定的功能,能夠可靠的工作。


評論