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