基于PXI總線的高精度慣導(dǎo)姿態(tài)數(shù)據(jù)采集卡設(shè)計(jì)
摘 要: 為了滿足慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)實(shí)時(shí)高精度地采集慣導(dǎo)姿態(tài)數(shù)據(jù)的需要,研制了基于PXI總線的高精度慣導(dǎo)姿態(tài)數(shù)據(jù)采集卡。該數(shù)據(jù)采集卡能多塊卡同步對(duì)慣導(dǎo)航向、縱搖和橫搖數(shù)據(jù)進(jìn)行采集。每塊卡對(duì)正余弦多極旋轉(zhuǎn)變壓器粗精通道信號(hào)進(jìn)行同步A/D轉(zhuǎn)換后,利用軟件對(duì)A/D轉(zhuǎn)換后的數(shù)字量進(jìn)行粗精組合,得到高精度的角度量供后續(xù)分析處理。介紹了采集卡PXI總線接口的硬件設(shè)計(jì)及雙通道多極旋轉(zhuǎn)變壓器粗精組合模糊位軟件消除方法。
關(guān)鍵詞: 慣性導(dǎo)航系統(tǒng); PXI總線; 多極旋轉(zhuǎn)變壓器; PCI9030
慣性導(dǎo)航系統(tǒng)是一種不依賴于外部信息、也不向外部輻射能量的自主式導(dǎo)航系統(tǒng)。它能夠?yàn)榕灤胶!⑽鋫涞炔块T連續(xù)地提供艦船的經(jīng)緯度、航向、縱橫搖以及航速等多種導(dǎo)航參數(shù)。在保證艦船航行安全的同時(shí),慣性導(dǎo)航系統(tǒng)也是武器系統(tǒng)的重要組成部分[1]。在研制的慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)中,要求測(cè)試計(jì)算的參數(shù)較多、測(cè)試過(guò)程復(fù)雜、較高的可靠性、良好的維護(hù)性、體積小、操作簡(jiǎn)單等;同時(shí),為了保證精度,慣導(dǎo)航向、縱橫搖信息的發(fā)送通常利用三路正余弦多極旋轉(zhuǎn)變壓器分別進(jìn)行航向、縱搖、橫搖模擬信號(hào)發(fā)送。所研制的慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)需要對(duì)慣導(dǎo)以模擬信號(hào)輸出的航向、縱橫搖等導(dǎo)航參數(shù)進(jìn)行連續(xù)記錄和分析。為此,本文采用基于PXI總線架構(gòu)進(jìn)行系統(tǒng)設(shè)計(jì),其高精度慣導(dǎo)數(shù)據(jù)采集卡可對(duì)正余弦多極旋轉(zhuǎn)變壓器粗精通道信號(hào)同步進(jìn)行A/D轉(zhuǎn)換,然后利用軟件對(duì)A/D轉(zhuǎn)換后的數(shù)字量進(jìn)行粗精組合,得到高精度的角度量供后續(xù)分析處理。
1 硬件設(shè)計(jì)
本采集卡用于對(duì)慣導(dǎo)航向、縱橫搖等導(dǎo)航參數(shù)進(jìn)行連續(xù)采集。由于不同型號(hào)慣性導(dǎo)航系統(tǒng)所用旋轉(zhuǎn)變壓器的激磁和信號(hào)電壓不盡相同,采集卡的設(shè)計(jì)要求能對(duì)不同的激磁和信號(hào)電壓進(jìn)行靈活配置。為了便于攜帶,研制的慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)選用3 U高度的PXI機(jī)箱。PXI機(jī)箱可以為系統(tǒng)提供堅(jiān)固的模塊化封裝,通常為4槽、6槽、8槽、14槽或18槽的3 U或6 U機(jī)箱(U(rack unit)是一種測(cè)量單位,用來(lái)描述安裝在機(jī)架上的設(shè)備的高度。1 U=44.45 mm(1.75英寸))。受慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)選用的機(jī)箱3U高度的限制,本采集卡只能對(duì)一路粗精組合通道的旋轉(zhuǎn)變壓器信號(hào)進(jìn)行采集,而慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)要求同時(shí)進(jìn)行航向、縱搖、橫搖模擬信號(hào)的采集,這樣要求多塊采集卡協(xié)同工作時(shí)能對(duì)不同通道的旋轉(zhuǎn)變壓器信號(hào)進(jìn)行同步采集。采集卡硬件結(jié)構(gòu)框圖如圖1所示。
1.1 PXI總線接口
面向儀器系統(tǒng)的PXI(PCI eXtensions for Instrumentation)是一種堅(jiān)固的基于PC的測(cè)量和自動(dòng)化平臺(tái)。PXI結(jié)合了PCI的電氣總線特性與CompactPCI的堅(jiān)固性、模塊化及Eurocard機(jī)械封裝的特性,并增加了專門的同步總線和主要軟件特性,使PXI成為測(cè)量和自動(dòng)化系統(tǒng)的高性能、低成本運(yùn)載平臺(tái)[2]。但是PXI總線協(xié)議十分復(fù)雜,其接口的實(shí)現(xiàn)比ISA困難得多,直接為它設(shè)計(jì)相匹配的數(shù)字邏輯控制電路難度較大。PXI總線的電氣規(guī)范大部分與PCI相同,只是增加了一些儀器特性?;谝陨峡紤],本采集卡選用PCI接口芯片來(lái)實(shí)現(xiàn)。
本采集卡選用符合PXI電氣性能要求的接口芯片PCI9030[3]。PCI9030是PLX公司產(chǎn)品,其符合 PCI2.2 規(guī)范,3.3 V核心電壓,低功耗,176 引腳 PQFP封裝或180 引腳 BGA 封裝,本地總線可以設(shè)置為8位、16位、32位復(fù)用和非復(fù)用模式。PCI9030作為一種橋接芯片,具有PCI總線、EEPROM和本地總線3個(gè)接口,各部分的接口電路介紹如下:
(1)PCI9030與PCI總線的接口。在本采集卡中也即為與PXI總線的電氣接口。其信號(hào)包括:地址數(shù)據(jù)復(fù)用信號(hào)AD[31:0]、總線命令和字節(jié)使能信號(hào)C/BE[3:0]、奇偶校驗(yàn)信號(hào)(PAR)、幀周期信號(hào)(FRAME#)、主設(shè)備準(zhǔn)備好信號(hào)(IRDY#)、從設(shè)備準(zhǔn)備好信號(hào)(TRDY#)、停止數(shù)據(jù)傳送信號(hào)(STOP#)、初始化設(shè)備選擇信號(hào)(IDSEL)、設(shè)備選擇信號(hào)(DEVSEL#)、數(shù)據(jù)奇偶校驗(yàn)錯(cuò)誤報(bào)告信號(hào)(PERR#)、系統(tǒng)錯(cuò)誤報(bào)告信號(hào)(SERR#)、時(shí)鐘輸入信號(hào)(CLK)、復(fù)位信號(hào)(RST#)、中斷信號(hào)(INTA#)等。電路連接中,與總線上對(duì)應(yīng)的引腳直接相連。
(2)PCI9030與EEPROM的接口。EEPROM選用NATIONAL公司的4 KB的低電壓串行存儲(chǔ)器NM93CS66L,用來(lái)存儲(chǔ)PCI9030的配置信息并在芯片復(fù)位時(shí)進(jìn)行加載,從而使PCI板卡具有即插即用的功能。PCI9030有EESK、EEDO、EEDI和EECS 4根信號(hào)線用于與EEPROM的連接。
(3)PCI9030本地總線接口。PCI9030部分的信號(hào)與含有用戶接口邏輯的XC95144相連。在接口芯片的本地總線中,將MODE信號(hào)接地使用非復(fù)用模式。本地地址總線使用LA[9:2],本地?cái)?shù)據(jù)總線為16位,使用了LD[15:0]。另外還有LBE#字節(jié)使能信號(hào),LW/R讀寫信號(hào),READY#、ADS#信號(hào)等。
1.2 CPLD邏輯設(shè)計(jì)
XC95144完成由PCI9030本地總線接口與A/D模塊用戶總線之間的協(xié)議轉(zhuǎn)換。為了便于如圖2中A/D采集通道部分的模塊化設(shè)計(jì),在XC95144與A/D轉(zhuǎn)換芯片之間又單獨(dú)定義了一個(gè)本地用戶總線。本地A/D模塊用戶總線的邏輯功能由1片專用XC9536來(lái)實(shí)現(xiàn)。單A/D轉(zhuǎn)換通道電原理圖如圖2所示。這樣1路A/D轉(zhuǎn)換芯片便需要配置1片XC9536邏輯控制芯片。雖然也可將XC9536所完成的邏輯功能與XC95144的邏輯功能合并到1片CPLD中,但是為了便于擴(kuò)展和便于設(shè)計(jì)重用的考慮,還是將本地用戶總線的邏輯專門放到1片單獨(dú)的XC9536中。例如,當(dāng)需要將采集卡高度改為6 U,并擴(kuò)展多路A/D轉(zhuǎn)換通道時(shí),即可方便地將擴(kuò)展A/D通道掛在本地用戶總線上,而不必修改XC95144的程序。XC9536的主要功能是根據(jù)XC95144送到A/D模塊用戶總線上的控制命令完成勵(lì)磁電壓、信號(hào)電壓、以及A/D轉(zhuǎn)換通道的選擇。
1.3 旋轉(zhuǎn)變壓器信號(hào)的A/D轉(zhuǎn)換
目前對(duì)于正余弦旋轉(zhuǎn)變壓器信號(hào)的A/D轉(zhuǎn)換方法主要有峰值采樣、跟蹤式軸角轉(zhuǎn)換以及光電編碼軸角轉(zhuǎn)換三種,這三種方法各有其特點(diǎn)?;诜逯挡蓸拥男D(zhuǎn)變壓器A/D轉(zhuǎn)換電路轉(zhuǎn)換精度不高,易受干擾,但價(jià)格低廉,對(duì)工作環(huán)境要求不高;基于光電編碼器的轉(zhuǎn)換電路轉(zhuǎn)換精度很高,但價(jià)格昂貴,對(duì)工作環(huán)境要求比較苛刻,要求與被測(cè)對(duì)象之間進(jìn)行直接軸連接,使用不便;而基于跟蹤式軸角轉(zhuǎn)換的轉(zhuǎn)換電路轉(zhuǎn)換精度介于以上兩種電路之間,價(jià)格適中,抗干擾能力強(qiáng),能夠適應(yīng)惡劣的工作環(huán)境。因此本采集卡中采用716所生產(chǎn)的14XSZ-02系列跟蹤式軸角轉(zhuǎn)換模塊進(jìn)行旋轉(zhuǎn)變壓器信號(hào)的A/D轉(zhuǎn)換。其主要性能指標(biāo)為精度±4.5′,跟蹤速率27 r/s,階躍響應(yīng)100 ms[4]。
2 軟件設(shè)計(jì)
2.1 驅(qū)動(dòng)程序設(shè)計(jì)
在板卡調(diào)試完成后,需要編寫驅(qū)動(dòng)程序。驅(qū)動(dòng)程序的開發(fā)工具較多,但是多數(shù)需要了解操作系統(tǒng)的核心工作機(jī)制,難度比較大。經(jīng)過(guò)比較,本文采用了Jungo公司的WinDriver進(jìn)行驅(qū)動(dòng)程序的開發(fā)。利用WinDriver不必熟悉操作系統(tǒng)的內(nèi)核知識(shí)就可以快速開發(fā)出驅(qū)動(dòng)程序。用WinDriver開發(fā)PCI設(shè)備驅(qū)動(dòng)程序一般有兩種方法:(1)使用向?qū)?Driver Wizard)。Driver Wizard能夠自動(dòng)生成驅(qū)動(dòng)程序的框架代碼,用戶只需修改代碼,加入定制的功能,再在用戶態(tài)執(zhí)行和調(diào)試代碼即可。(2)直接在應(yīng)用程序中調(diào)用WinDriver的API函數(shù)。本采集卡采用第一種方法對(duì)驅(qū)動(dòng)程序進(jìn)行開發(fā)。
2.2 旋轉(zhuǎn)變壓器粗精組合模糊位消除
通常使用單通道旋轉(zhuǎn)變壓器來(lái)測(cè)量差角精度只能達(dá)到幾個(gè)角分。而船用慣性導(dǎo)航系統(tǒng)姿態(tài)測(cè)量精度則達(dá)到角秒級(jí)。多極旋轉(zhuǎn)變壓器的精度通??勺龅?~30角秒,因而船用慣性導(dǎo)航系統(tǒng)中模擬發(fā)送部分通常使用多極旋轉(zhuǎn)變壓器進(jìn)行姿態(tài)發(fā)送。由于進(jìn)行A/D轉(zhuǎn)換時(shí),粗、精兩通道是分別進(jìn)行轉(zhuǎn)換的,而由于多極旋轉(zhuǎn)變壓器制造上的誤差,使得兩個(gè)通道的讀數(shù)不可能同步變化[5]。如變速比為I=2M的多極旋轉(zhuǎn)變壓器,經(jīng)軸角轉(zhuǎn)換模塊轉(zhuǎn)換后,粗、精機(jī)各位輸出數(shù)碼的權(quán)系數(shù)具有如下關(guān)系:
理想情況下,粗、精讀數(shù)的重合位在F~J與A~E應(yīng)完全相同。通常認(rèn)為精機(jī)系統(tǒng)比粗機(jī)系統(tǒng)具有更好的精度,只要把粗機(jī)讀數(shù)的前M位和全部精機(jī)讀數(shù)依次排列輸出就可得到組合系統(tǒng)的讀數(shù)。但是粗、精兩通道是分別進(jìn)行轉(zhuǎn)換的,因?yàn)橹圃焐系恼`差,兩個(gè)通道的讀數(shù)不可能同步變化,有時(shí)當(dāng)精通道還沒(méi)轉(zhuǎn)完一整圈時(shí),粗通道的第F位可能已提前向第K位進(jìn)1,因組合讀數(shù)不取第F~J位,所以第K位多計(jì)1,造成了很大的正誤差。這種誤差稱為模糊誤差,它是這種類型組合系統(tǒng)中不可避免的現(xiàn)象。
為此,本設(shè)計(jì)采用余數(shù)比較法消除誤差。根據(jù)粗、精通道之間的相對(duì)誤差的大小來(lái)決定判斷有無(wú)模糊誤差所需重合位位數(shù)。當(dāng)粗通道的誤差不大于精機(jī)一圈所代表的角度值的1/4時(shí),如當(dāng)多極旋轉(zhuǎn)變壓器的速比為16時(shí),只要多極旋轉(zhuǎn)變壓器的粗通道的誤差控制在5°37.5′以內(nèi),即可用兩個(gè)重合位進(jìn)行糾錯(cuò)。這一點(diǎn)對(duì)多極旋轉(zhuǎn)變壓器的制造是很容易做到的。所以只需處理兩個(gè)重合位,即精機(jī)讀數(shù)的最高兩位(A、B)和與之對(duì)應(yīng)的粗機(jī)讀數(shù)的第F、G位。下面分四種情況進(jìn)行分析:
如果把精機(jī)一圈劃為4個(gè)象限,則AB=00表明精機(jī)的轉(zhuǎn)角不大于90°。與此相對(duì)應(yīng),粗機(jī)的FG=11表明從第F位開始到最末位數(shù)字所代表的角度小于精機(jī)1圈的角度,而大于精機(jī)3/4,處在精機(jī)的第三象限。這樣粗精機(jī)之間讀數(shù)便產(chǎn)生了矛盾。既然精機(jī)位于第一象限,表明它剛剛轉(zhuǎn)過(guò)一整圈,如果粗、精通道同步的話,此時(shí)第K位應(yīng)加1。但是FG=11表明第F位還沒(méi)有向第K位進(jìn)位,第K位上則少計(jì)了一個(gè)1,這樣構(gòu)成的組合數(shù),因第K位少1,將產(chǎn)生11°15′的負(fù)誤差。為了糾正這一誤差,應(yīng)在第K位加上1。
精機(jī)此時(shí)位于第四象限,而粗機(jī)已經(jīng)進(jìn)入第一象限,第K位肯定多計(jì)了一個(gè)1,為糾正這一誤差,應(yīng)在第K位減去1。
(3)當(dāng)AB=01時(shí)
此時(shí)精機(jī)位于第二象限,因假定粗通道誤差不大于精機(jī)1圈的1/4,所以粗機(jī)只能位于第一或第三象限,在第K位上不會(huì)產(chǎn)生多1或少1的現(xiàn)象,因而無(wú)模糊誤差。
(4)當(dāng)AB=10時(shí),無(wú)模糊誤差。
采集卡軟硬件設(shè)計(jì)完成后對(duì)其性能進(jìn)行了測(cè)試。測(cè)試平臺(tái)由NI公司PXI-1036六槽機(jī)箱和NI PXIe-8360控制器組成。經(jīng)測(cè)試表明,本文研究設(shè)計(jì)的基于PXI總線的高精度慣導(dǎo)數(shù)據(jù)采集卡驅(qū)動(dòng)程序和硬件工作正常,A/D轉(zhuǎn)換速率和精度已經(jīng)達(dá)到了預(yù)期的功能和精度要求,現(xiàn)已應(yīng)用于某型慣導(dǎo)故障監(jiān)測(cè)診斷系統(tǒng)中。
參考文獻(xiàn)
[1] 周永余,許江寧,高敬東. 艦船導(dǎo)航系統(tǒng)[M]. 北京:國(guó)防工業(yè)出版社,2006:19-35.
[2] 張重雄. 虛擬儀器技術(shù)分析與設(shè)計(jì)[M]. 北京:電子工業(yè)出版社,2007:33-39.
[3] PLX Technology Inc. PCI 9030 data book[Z]. 2002.
[4] 中船重工集團(tuán)公司第七一六研究所. 2005產(chǎn)品數(shù)據(jù)手冊(cè)[Z]. 2005.
[5] 談?wù)穹?,周洪宇,袁贛南. 導(dǎo)航系統(tǒng)信息轉(zhuǎn)換[M]. 北京:國(guó)防工業(yè)出版社,1992:56-62.