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