鄧茂林+姚靜波+解維奇
摘 要: LXI作為一種較新的測試總線一經(jīng)推出就受到了自動(dòng)測試領(lǐng)域眾多科研院校和企業(yè)的關(guān)注,并在眾多領(lǐng)域取得了廣泛應(yīng)用。為了進(jìn)一步提高航天測試系統(tǒng)的結(jié)構(gòu)通用性、設(shè)備互換性,縮短測試系統(tǒng)搭建周期,填補(bǔ)航天測試系統(tǒng)LXI接口設(shè)計(jì)的空白,采用軟硬結(jié)合的系統(tǒng)構(gòu)架,提出了一種LXI多功能接口板卡的設(shè)計(jì)方案,總結(jié)了核心技術(shù)1588時(shí)鐘同步協(xié)議和IVI驅(qū)動(dòng)的實(shí)現(xiàn)方法,該設(shè)計(jì)方案對(duì)LXI總線技術(shù)在我國航天測試領(lǐng)域的應(yīng)用具有一定的指導(dǎo)作用。
關(guān)鍵詞: LXI總線; IEEE1588; 航天測試系統(tǒng); IVI驅(qū)動(dòng)
中圖分類號(hào): TN79+1?34; TP206.1 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)21?0094?04
Design of LXI multi?functional interface card based on
aerospace automatic testing technology
DENG Mao?lin, YAO Jing?bo, XIE Wei?qi
(The Academy of Equipment Command and Technology, Beijing 101416, China)
Abstract: Aiming at improving the structure generalization and instrument interchange ability of the aerospace automatic test system, reducing inventory of the test system, and filling the blank of the LXI interface design of the aerospace automatic test system, the system architecture combining hardware and software is used. A design scheme of the LXI multi?functional interface card was put forward. The implementation methods of core technologies of IEEE1588 clock synchronization protocol and IVI driver was summed up in this paper. The design scheme will play an important role in application of LXI bus technology in the aerospace automatic testing system.
Keywords: LXI bus; IEEE1588; aerospace testing system; IVI driver
0 引 言
目前我國運(yùn)載火箭測試主要采用CAMAC和VXI測試系統(tǒng),經(jīng)過多年的工程實(shí)踐考驗(yàn),這兩種測試系統(tǒng)在測試精度和可靠性等方面能夠滿足測試項(xiàng)目的要求,然而,隨著網(wǎng)絡(luò)技術(shù)進(jìn)步和分布式測試技術(shù)的提出,新的測試總線技術(shù)及時(shí)研發(fā)和有效地引入,將有利于構(gòu)建更加靈活、功能齊全的航天測試系統(tǒng),才能適應(yīng)航天信息化進(jìn)程對(duì)測試系統(tǒng)更高的要求。
LXI總線的出現(xiàn)是對(duì)傳統(tǒng)測試系統(tǒng)構(gòu)建的一種創(chuàng)新,是信息化進(jìn)程中成熟網(wǎng)絡(luò)技術(shù)在自動(dòng)化測試領(lǐng)域中的應(yīng)用。LXI總線的引入,將對(duì)于我國航天發(fā)射場產(chǎn)生重大的影響:
(1) 有利于電氣測試系統(tǒng)的“三化”實(shí)現(xiàn)和一體化設(shè)計(jì),實(shí)現(xiàn)測試過程的統(tǒng)一管理、統(tǒng)一監(jiān)控,測試信息的綜合處理等,順應(yīng)測試系統(tǒng)由單一測試體制向綜合測試體制轉(zhuǎn)化的發(fā)展趨勢;
(2) 在較大程度上提高了測試功能,擴(kuò)大了測試系統(tǒng)的覆蓋范圍,提高了測試的效率;
(3) 減少專用接口以及電氣連接的復(fù)雜程度,加快系統(tǒng)構(gòu)建速度,同時(shí)提高系統(tǒng)的結(jié)構(gòu)通用性、設(shè)備互換性和可靠性;
(4) LXI測試總線的引入,將會(huì)使測試任務(wù)真正意義上實(shí)現(xiàn)行航天測試系統(tǒng)的網(wǎng)絡(luò)化、遠(yuǎn)程化[1]。
由于LXI總線的優(yōu)勢明顯,下一代航天測試硬件體系結(jié)構(gòu)將以LXI總線儀器設(shè)備為主,其他總線儀器為輔。但是目前針對(duì)當(dāng)前航天測控領(lǐng)域的專用LXI儀器設(shè)備太少,通用的LXI接口板卡設(shè)計(jì)應(yīng)用還是一片空白。
為了填補(bǔ)航天測試系統(tǒng)LXI接口設(shè)計(jì)的空白,結(jié)合LXI總線技術(shù)優(yōu)勢,本文提出了一種LXI多功能接口板卡的設(shè)計(jì)方案,對(duì)LXI總線技術(shù)在航天測試領(lǐng)域的實(shí)用化具有重要意義。
1 LXI多功能接口板卡設(shè)計(jì)的總體設(shè)計(jì)方案
LXI多功能接口板卡利用模塊化的設(shè)計(jì)思想,主要是實(shí)現(xiàn)LXI規(guī)范中規(guī)定儀器所具有的接口通用功能。在航天測試任務(wù)中,只需要在測試功能模塊上接入LXI多功能接口板卡,就能實(shí)現(xiàn)基于LXI總線的自動(dòng)測試系統(tǒng)的快速搭建與更新。
根據(jù)LXI儀器規(guī)范,此LXI多功能接口板卡屬于LXI儀器中的B類儀器。按照LXI標(biāo)準(zhǔn)規(guī)定,設(shè)計(jì)的功能模塊接口能夠通過LAN和WEB瀏覽器完成與上位計(jì)算機(jī)的實(shí)時(shí)通信,支持VXI?11儀器自動(dòng)發(fā)現(xiàn)功能。還需要提供同步API和IEEE1588精確時(shí)間基觸發(fā)。由于LXI接口板卡具有的接口功能較為復(fù)雜,所以采用一個(gè)具有操作系統(tǒng)的嵌入式控制平臺(tái)來實(shí)現(xiàn)。此控制平臺(tái)以微處理器為硬件核心,使用通用網(wǎng)絡(luò)接口芯片DP83640實(shí)現(xiàn)LAN接口通信,相關(guān)的軟件應(yīng)用程序運(yùn)行在主流的Linux開源操作系統(tǒng)上。LXI硬件接口電路總體設(shè)計(jì)方案如圖1所示。
圖1 LXI接口總體設(shè)計(jì)方案
LXI多功能接口板卡以ARM9處理器S3C2451作為硬件系統(tǒng)的中心,S3C2451微處理器基于ARM926EJ構(gòu)架核設(shè)計(jì),運(yùn)行主頻率為400 MHz,運(yùn)行最高頻率可達(dá)522 MHz,具有很高的指令執(zhí)行效率,支持Linux,Windows CE等多種主流的嵌入式操作系統(tǒng),集成了豐富的標(biāo)準(zhǔn)的接口控制器,通過這些標(biāo)準(zhǔn)的接口可以擴(kuò)展S3C2451的功能以符合LXI接口的要求。
外擴(kuò)的FLASH存儲(chǔ)器有16 MB容量,保存嵌入式Linux系統(tǒng)以及相關(guān)儀器的應(yīng)用程序和數(shù)據(jù),外擴(kuò)的SDRAM存儲(chǔ)器有64 MB容量,用于嵌入式Linux系統(tǒng)和應(yīng)用程序的運(yùn)行。E2PROM用于保存本模塊的LAN配置信息、產(chǎn)品編號(hào)等系統(tǒng)信息。實(shí)時(shí)時(shí)鐘模塊通過I2C連接S3C2451,設(shè)置和讀取系統(tǒng)的時(shí)間,該時(shí)間時(shí)鐘系統(tǒng)同時(shí)為PTPd協(xié)議提供起始的時(shí)間基準(zhǔn)。ARM9處理器S3C2451通過外部總線接口(EBI)完成與測試功能的通信。
這種設(shè)計(jì)方案的優(yōu)勢在于運(yùn)用Linux操作系統(tǒng)上豐富的開源代碼資源,能較快地縮短系統(tǒng)軟件層的開發(fā)周期,部分系統(tǒng)所需軟件只需進(jìn)行簡單的移植。
系統(tǒng)軟件層設(shè)計(jì)的關(guān)鍵技術(shù)主要包括:IEEE1588協(xié)議的實(shí)現(xiàn)方案和LXI設(shè)備控制命令解析模塊IVI驅(qū)動(dòng)的設(shè)計(jì)。
2 IEEE1588協(xié)議的實(shí)現(xiàn)方案
IEEE1588即網(wǎng)絡(luò)測試和控制系統(tǒng)的精密時(shí)鐘同步協(xié)議標(biāo)準(zhǔn),是LXI總線技術(shù)的核心。該協(xié)議可以提升系統(tǒng)網(wǎng)絡(luò)中不同時(shí)鐘精度設(shè)備的定時(shí)同步能力,將定時(shí)同步精度提高到亞微秒級(jí)別。IEEE1588時(shí)鐘同步協(xié)議順應(yīng)了報(bào)文同步的發(fā)展趨勢,借鑒了NTP和SNTP技術(shù),通過迭代消除了往返的路徑延時(shí),利用在以太網(wǎng)媒體訪問控制層(MAC)打時(shí)間戳的技術(shù),消除了設(shè)備時(shí)間同步報(bào)文的不確定延時(shí),很大程度地提高了系統(tǒng)時(shí)鐘同步精度。使用IEEE1588進(jìn)行時(shí)鐘同步的設(shè)備,同步精度依賴與自身時(shí)鐘的精度和整個(gè)網(wǎng)絡(luò)環(huán)境,一般情況下使用標(biāo)準(zhǔn)常用的硬件設(shè)備時(shí)鐘同步精度能達(dá)到小于100 ns的精度范圍,在實(shí)驗(yàn)室條件下其時(shí)鐘同步精度已經(jīng)能達(dá)到小于10 ns的范圍[2]。
在大型航天測試系統(tǒng)中,采用IEEE1588時(shí)鐘同步協(xié)議能較好地滿足測試任務(wù)的時(shí)鐘同步需求,為大型測試任務(wù)中分布式測試系統(tǒng)的搭建提供了技術(shù)支持。
IEEE1588精密時(shí)鐘同步技術(shù)目前主要有3種成熟的技術(shù)實(shí)現(xiàn)法案:純軟件的實(shí)現(xiàn)、純硬件的實(shí)現(xiàn)、軟件與硬件相結(jié)合的實(shí)現(xiàn)。
(1) 純軟件的實(shí)現(xiàn)
純軟件實(shí)現(xiàn)的IEEE1588時(shí)鐘同步協(xié)議,是指時(shí)鐘同步過程中頻率差的計(jì)算,線路延遲的計(jì)算以及時(shí)鐘同步報(bào)文的接收和發(fā)送、時(shí)間戳的產(chǎn)生,都是由軟件來負(fù)責(zé)完成的。這種實(shí)現(xiàn)方式,時(shí)鐘同步性能很難達(dá)到設(shè)計(jì)的要求,時(shí)鐘同步精度一般只能達(dá)到毫秒級(jí)精度。其主要原因是因?yàn)镮EEE1588同步報(bào)文在協(xié)議棧和存儲(chǔ)轉(zhuǎn)發(fā)過程中,受到不確定因素的影響太多,從而使得同步精度產(chǎn)生較大的抖動(dòng)。主要的不確定因素包括軟件系統(tǒng)的繁忙程度、網(wǎng)絡(luò)的擁塞狀況等等。
(2) 純硬件的實(shí)現(xiàn)
純硬件實(shí)現(xiàn)的IEEE1588時(shí)鐘同步協(xié)議,是指時(shí)鐘同步過程中頻率差的計(jì)算,線路延遲的計(jì)算以及時(shí)間同步報(bào)文的接收和發(fā)送時(shí)間戳的產(chǎn)生,都是由硬件來負(fù)責(zé)完成。這種設(shè)計(jì)思路雖然可以極大地提高時(shí)鐘同步精確度,使得得到的同步結(jié)果更接近于理想的狀態(tài),但是純硬件實(shí)現(xiàn)會(huì)帶來成本大幅提高的問題,這不利于IEEE1588時(shí)鐘同步協(xié)議的推廣使用。同時(shí),硬件實(shí)現(xiàn)還存在缺乏靈活性的問題,不利于IEEE1588設(shè)備的升級(jí)和換代。
(3) 軟件與硬件相結(jié)合的實(shí)現(xiàn)
為了實(shí)現(xiàn)IEEE1588時(shí)鐘同步協(xié)議的高精度性,同時(shí)也為了控制成本,目前理想的實(shí)現(xiàn)方式就是軟硬件結(jié)合方案。即由硬件芯片來負(fù)責(zé)打時(shí)間戳和獲取時(shí)間戳的工作,然后再由軟件來負(fù)責(zé)進(jìn)行必要的計(jì)算。最后軟件將計(jì)算的結(jié)果設(shè)置到相應(yīng)的時(shí)鐘上去。在報(bào)文中時(shí)間戳的時(shí)間點(diǎn)相當(dāng)重要,因?yàn)檫@關(guān)系到精確性。一般的實(shí)現(xiàn)方法是在各種物理端口的PHY層,這個(gè)最靠近物理線路的模塊來實(shí)現(xiàn)打時(shí)間戳的功能。此法案能消除IEEE1588報(bào)文在協(xié)議棧和存儲(chǔ)轉(zhuǎn)發(fā)過程中受到的不確定因素的影響,達(dá)到微秒級(jí)的系統(tǒng)時(shí)鐘同步精度[3]。
本設(shè)計(jì)的IEEE1588協(xié)議實(shí)現(xiàn)方案采用軟、硬件相結(jié)合的方式實(shí)現(xiàn),如圖2所示。
圖2 IEEE1588協(xié)議實(shí)現(xiàn)框圖
采用ARM9處理器S3C2451為處理核心,利用支持該協(xié)議的物理層芯片DP83640實(shí)現(xiàn)時(shí)鐘伺服和同步報(bào)文時(shí)間捕獲,完成時(shí)間戳的加蓋工作,利用Linux應(yīng)用程序?qū)崿F(xiàn)協(xié)議狀態(tài)機(jī)和報(bào)文封轉(zhuǎn)。
DP83640是目前應(yīng)用最為廣泛的支持IEEE1588的物理層網(wǎng)絡(luò)芯片硬件,提供飛秒級(jí)精度的內(nèi)部硬件時(shí)鐘伺服,可以以硬件方式為同步報(bào)文加蓋時(shí)間戳。對(duì)IEEE1588應(yīng)用程序,借鑒Linux系統(tǒng)中已有的純軟件實(shí)現(xiàn)方法,在開源的IEEE1588協(xié)議程序PTPd的基礎(chǔ)上進(jìn)行移植,大大縮短了LXI多功能接口板卡的開發(fā)周期。
PTPd協(xié)議是通過純軟件的方式實(shí)現(xiàn)IEEE1588協(xié)議,在協(xié)議移植的過程中,需要用C語言編寫PTPd與DP83640芯片的接口函數(shù),PTPd與實(shí)時(shí)時(shí)鐘模塊的接口函數(shù),實(shí)現(xiàn)DP83640硬件時(shí)間戳對(duì)PTPd協(xié)議原有軟件時(shí)間戳的替換,消除IEEE1588報(bào)文在協(xié)議棧和存儲(chǔ)轉(zhuǎn)發(fā)過程中受到的不確定因素的影響,提高系統(tǒng)時(shí)鐘的時(shí)鐘同步精度[4]。
3 LXI多功能接口板卡驅(qū)動(dòng)設(shè)計(jì)方案
LXI多功能接口板卡要實(shí)現(xiàn)與各種功能模塊的通信,在測試任務(wù)中不改變測試程序源代碼、不進(jìn)行源程序的重新編譯或鏈接的條件下,完成測試體統(tǒng)的硬件儀器更換,關(guān)鍵在于完成IVI驅(qū)動(dòng)程序的編寫。
IVI(Interchangeable Vitual Instrument,可互換虛擬儀器)是編寫測量儀器驅(qū)動(dòng)程序的規(guī)范。其在VPP(VXI plug&play)的基礎(chǔ)上為儀器驅(qū)動(dòng)程序制定了新的編程接口標(biāo)準(zhǔn),使用IVI驅(qū)動(dòng)程序編寫的測試應(yīng)用程序可以完全獨(dú)立于硬件和接口,即實(shí)現(xiàn)了儀器的無關(guān)性。IVI規(guī)范根據(jù)現(xiàn)有的測試儀器種類,規(guī)定了示波器、數(shù)字多用表、函數(shù)發(fā)生器、開關(guān)類等5個(gè)種類的儀器規(guī)范,對(duì)符合某個(gè)已定義的IVI儀器類的驅(qū)動(dòng)程序,其提供的是該類規(guī)范定義的API,對(duì)于儀器特有的功能,驅(qū)動(dòng)程序可以定制API,對(duì)于所有的IVI驅(qū)動(dòng)程序來說,不管他是否符合規(guī)范,其都能夠?qū)崿F(xiàn)IVI固有功能規(guī)范中所規(guī)定的固有功能[5]。
IVI系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 IVI系統(tǒng)結(jié)構(gòu)
由圖3可知,應(yīng)用測試程序在工作時(shí)首先調(diào)用IVI類驅(qū)動(dòng)器,IVI類驅(qū)動(dòng)器再調(diào)用IVI專用驅(qū)動(dòng)器來實(shí)現(xiàn)對(duì)硬件儀器的控制,因此即使測試系統(tǒng)中的具體儀器發(fā)生了變化時(shí),只需要改變專用的儀器驅(qū)動(dòng)(和其對(duì)應(yīng)的具體儀器設(shè)備),不用對(duì)調(diào)用IVI類驅(qū)動(dòng)器的測試程序代碼做出修改。
IVI儀器互換性的關(guān)鍵在于,利用配置庫中的測試儀器配置信息和IVI引擎在應(yīng)用程序和驅(qū)動(dòng)程序之間構(gòu)建一個(gè)新的軟件層,使應(yīng)用程序與硬件獨(dú)立開來。
在測試任務(wù)中,應(yīng)用程序不再出現(xiàn)設(shè)備儀器的硬件地址,而是通過配置庫中測試設(shè)備對(duì)應(yīng)的邏輯名就能與IVI類規(guī)定接口建立聯(lián)系,驅(qū)動(dòng)程序IVI類規(guī)定接口不變,應(yīng)用程序中對(duì)應(yīng)操作的代碼就無須改變,當(dāng)驅(qū)動(dòng)程序和儀器更換時(shí),只需要更改測試設(shè)備對(duì)應(yīng)的邏輯名。
因此驅(qū)動(dòng)編寫時(shí)首先為了實(shí)現(xiàn)對(duì)配置信息的獲取和保存應(yīng)該完成IVI配置倉的設(shè)計(jì),在該配置倉中實(shí)現(xiàn)IVI類驅(qū)動(dòng)庫到IVI專用驅(qū)動(dòng)庫的功能映射。配置倉中主要包括幾個(gè)IVI配置信息:功能模塊的邏輯名稱,屬于的類型,專用庫的前綴,信息備注以及模塊專用驅(qū)動(dòng)的位置。
IVI驅(qū)動(dòng)程序流程圖如圖4所示。
圖4 IVI驅(qū)動(dòng)程序流程圖
當(dāng)用戶編寫測試程序時(shí),首先要加入儀器種類的類庫頭文件,然后調(diào)用類庫函數(shù)中的SpeificDriver函數(shù),并把測試儀器對(duì)應(yīng)的邏輯名作為函數(shù)參數(shù)傳遞給SpeificDriver函數(shù)。SpeificDriver函數(shù)能夠依據(jù)傳入的邏輯名找到該測試功能模塊的對(duì)應(yīng)的專用驅(qū)動(dòng)庫并加載。此后,用戶就可以調(diào)用驅(qū)動(dòng)程序庫中相應(yīng)的功能函數(shù)實(shí)現(xiàn)對(duì)此功能模塊的實(shí)際控制。如果需要更換測試功能模塊,用戶只需要更改IVI配置倉中的配置信息,再次重新傳入測試儀器對(duì)應(yīng)的邏輯名參數(shù)并再次調(diào)用SpeificDriver函數(shù)加載對(duì)應(yīng)的專用驅(qū)動(dòng)庫。
4 結(jié) 論
本文給出了一種LXI多功能接口板卡的軟硬件設(shè)計(jì)思路。基于物理層芯片DP83640提出了一種軟件結(jié)合方式的IEEE1588協(xié)議設(shè)計(jì)方案。最后結(jié)合IVI驅(qū)動(dòng)系統(tǒng)結(jié)構(gòu)標(biāo)準(zhǔn),對(duì)LXI通用驅(qū)動(dòng)程序的編程思路進(jìn)行了詳細(xì)的闡述。本文對(duì)LXI總線技術(shù)在航天測試領(lǐng)域的實(shí)用化具有一定的指導(dǎo)意義。
參考文獻(xiàn)
[1] 同江.基于LXI總線的運(yùn)載火箭測試技術(shù)研究[D]. 北京:裝備技術(shù)學(xué)院,2008.
[2] MOHL D S. IEEE 1588 precise time synchronization as the basis for real time applications in automation [J/OL]. [2011?08?12]. www.docin.com...616.html.
[3] 曾慶華.精確時(shí)鐘同步協(xié)議分析及實(shí)現(xiàn)[J].微型電腦應(yīng)用,2012,28(10):41?44.
[4] 劉兆慶,潘邵武,張毅剛.基于DP83640的IEEE1588應(yīng)用研究[J].測控技術(shù),2012,31(9):80?83.
[5] 喻嵐.IVI技術(shù)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2005.
[6] 陳峰,李自榮.基于LXI總線的自動(dòng)測試系統(tǒng)方案設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(12):63?65.
[7] 許愛強(qiáng),文天柱,李文海.基于IVI技術(shù)的儀器驅(qū)動(dòng)程序開發(fā)[J].現(xiàn)代電子技術(shù),2011,34(2):173?175.
IVI(Interchangeable Vitual Instrument,可互換虛擬儀器)是編寫測量儀器驅(qū)動(dòng)程序的規(guī)范。其在VPP(VXI plug&play)的基礎(chǔ)上為儀器驅(qū)動(dòng)程序制定了新的編程接口標(biāo)準(zhǔn),使用IVI驅(qū)動(dòng)程序編寫的測試應(yīng)用程序可以完全獨(dú)立于硬件和接口,即實(shí)現(xiàn)了儀器的無關(guān)性。IVI規(guī)范根據(jù)現(xiàn)有的測試儀器種類,規(guī)定了示波器、數(shù)字多用表、函數(shù)發(fā)生器、開關(guān)類等5個(gè)種類的儀器規(guī)范,對(duì)符合某個(gè)已定義的IVI儀器類的驅(qū)動(dòng)程序,其提供的是該類規(guī)范定義的API,對(duì)于儀器特有的功能,驅(qū)動(dòng)程序可以定制API,對(duì)于所有的IVI驅(qū)動(dòng)程序來說,不管他是否符合規(guī)范,其都能夠?qū)崿F(xiàn)IVI固有功能規(guī)范中所規(guī)定的固有功能[5]。
IVI系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 IVI系統(tǒng)結(jié)構(gòu)
由圖3可知,應(yīng)用測試程序在工作時(shí)首先調(diào)用IVI類驅(qū)動(dòng)器,IVI類驅(qū)動(dòng)器再調(diào)用IVI專用驅(qū)動(dòng)器來實(shí)現(xiàn)對(duì)硬件儀器的控制,因此即使測試系統(tǒng)中的具體儀器發(fā)生了變化時(shí),只需要改變專用的儀器驅(qū)動(dòng)(和其對(duì)應(yīng)的具體儀器設(shè)備),不用對(duì)調(diào)用IVI類驅(qū)動(dòng)器的測試程序代碼做出修改。
IVI儀器互換性的關(guān)鍵在于,利用配置庫中的測試儀器配置信息和IVI引擎在應(yīng)用程序和驅(qū)動(dòng)程序之間構(gòu)建一個(gè)新的軟件層,使應(yīng)用程序與硬件獨(dú)立開來。
在測試任務(wù)中,應(yīng)用程序不再出現(xiàn)設(shè)備儀器的硬件地址,而是通過配置庫中測試設(shè)備對(duì)應(yīng)的邏輯名就能與IVI類規(guī)定接口建立聯(lián)系,驅(qū)動(dòng)程序IVI類規(guī)定接口不變,應(yīng)用程序中對(duì)應(yīng)操作的代碼就無須改變,當(dāng)驅(qū)動(dòng)程序和儀器更換時(shí),只需要更改測試設(shè)備對(duì)應(yīng)的邏輯名。
因此驅(qū)動(dòng)編寫時(shí)首先為了實(shí)現(xiàn)對(duì)配置信息的獲取和保存應(yīng)該完成IVI配置倉的設(shè)計(jì),在該配置倉中實(shí)現(xiàn)IVI類驅(qū)動(dòng)庫到IVI專用驅(qū)動(dòng)庫的功能映射。配置倉中主要包括幾個(gè)IVI配置信息:功能模塊的邏輯名稱,屬于的類型,專用庫的前綴,信息備注以及模塊專用驅(qū)動(dòng)的位置。
IVI驅(qū)動(dòng)程序流程圖如圖4所示。
圖4 IVI驅(qū)動(dòng)程序流程圖
當(dāng)用戶編寫測試程序時(shí),首先要加入儀器種類的類庫頭文件,然后調(diào)用類庫函數(shù)中的SpeificDriver函數(shù),并把測試儀器對(duì)應(yīng)的邏輯名作為函數(shù)參數(shù)傳遞給SpeificDriver函數(shù)。SpeificDriver函數(shù)能夠依據(jù)傳入的邏輯名找到該測試功能模塊的對(duì)應(yīng)的專用驅(qū)動(dòng)庫并加載。此后,用戶就可以調(diào)用驅(qū)動(dòng)程序庫中相應(yīng)的功能函數(shù)實(shí)現(xiàn)對(duì)此功能模塊的實(shí)際控制。如果需要更換測試功能模塊,用戶只需要更改IVI配置倉中的配置信息,再次重新傳入測試儀器對(duì)應(yīng)的邏輯名參數(shù)并再次調(diào)用SpeificDriver函數(shù)加載對(duì)應(yīng)的專用驅(qū)動(dòng)庫。
4 結(jié) 論
本文給出了一種LXI多功能接口板卡的軟硬件設(shè)計(jì)思路?;谖锢韺有酒珼P83640提出了一種軟件結(jié)合方式的IEEE1588協(xié)議設(shè)計(jì)方案。最后結(jié)合IVI驅(qū)動(dòng)系統(tǒng)結(jié)構(gòu)標(biāo)準(zhǔn),對(duì)LXI通用驅(qū)動(dòng)程序的編程思路進(jìn)行了詳細(xì)的闡述。本文對(duì)LXI總線技術(shù)在航天測試領(lǐng)域的實(shí)用化具有一定的指導(dǎo)意義。
參考文獻(xiàn)
[1] 同江.基于LXI總線的運(yùn)載火箭測試技術(shù)研究[D]. 北京:裝備技術(shù)學(xué)院,2008.
[2] MOHL D S. IEEE 1588 precise time synchronization as the basis for real time applications in automation [J/OL]. [2011?08?12]. www.docin.com...616.html.
[3] 曾慶華.精確時(shí)鐘同步協(xié)議分析及實(shí)現(xiàn)[J].微型電腦應(yīng)用,2012,28(10):41?44.
[4] 劉兆慶,潘邵武,張毅剛.基于DP83640的IEEE1588應(yīng)用研究[J].測控技術(shù),2012,31(9):80?83.
[5] 喻嵐.IVI技術(shù)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2005.
[6] 陳峰,李自榮.基于LXI總線的自動(dòng)測試系統(tǒng)方案設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(12):63?65.
[7] 許愛強(qiáng),文天柱,李文海.基于IVI技術(shù)的儀器驅(qū)動(dòng)程序開發(fā)[J].現(xiàn)代電子技術(shù),2011,34(2):173?175.
IVI(Interchangeable Vitual Instrument,可互換虛擬儀器)是編寫測量儀器驅(qū)動(dòng)程序的規(guī)范。其在VPP(VXI plug&play)的基礎(chǔ)上為儀器驅(qū)動(dòng)程序制定了新的編程接口標(biāo)準(zhǔn),使用IVI驅(qū)動(dòng)程序編寫的測試應(yīng)用程序可以完全獨(dú)立于硬件和接口,即實(shí)現(xiàn)了儀器的無關(guān)性。IVI規(guī)范根據(jù)現(xiàn)有的測試儀器種類,規(guī)定了示波器、數(shù)字多用表、函數(shù)發(fā)生器、開關(guān)類等5個(gè)種類的儀器規(guī)范,對(duì)符合某個(gè)已定義的IVI儀器類的驅(qū)動(dòng)程序,其提供的是該類規(guī)范定義的API,對(duì)于儀器特有的功能,驅(qū)動(dòng)程序可以定制API,對(duì)于所有的IVI驅(qū)動(dòng)程序來說,不管他是否符合規(guī)范,其都能夠?qū)崿F(xiàn)IVI固有功能規(guī)范中所規(guī)定的固有功能[5]。
IVI系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 IVI系統(tǒng)結(jié)構(gòu)
由圖3可知,應(yīng)用測試程序在工作時(shí)首先調(diào)用IVI類驅(qū)動(dòng)器,IVI類驅(qū)動(dòng)器再調(diào)用IVI專用驅(qū)動(dòng)器來實(shí)現(xiàn)對(duì)硬件儀器的控制,因此即使測試系統(tǒng)中的具體儀器發(fā)生了變化時(shí),只需要改變專用的儀器驅(qū)動(dòng)(和其對(duì)應(yīng)的具體儀器設(shè)備),不用對(duì)調(diào)用IVI類驅(qū)動(dòng)器的測試程序代碼做出修改。
IVI儀器互換性的關(guān)鍵在于,利用配置庫中的測試儀器配置信息和IVI引擎在應(yīng)用程序和驅(qū)動(dòng)程序之間構(gòu)建一個(gè)新的軟件層,使應(yīng)用程序與硬件獨(dú)立開來。
在測試任務(wù)中,應(yīng)用程序不再出現(xiàn)設(shè)備儀器的硬件地址,而是通過配置庫中測試設(shè)備對(duì)應(yīng)的邏輯名就能與IVI類規(guī)定接口建立聯(lián)系,驅(qū)動(dòng)程序IVI類規(guī)定接口不變,應(yīng)用程序中對(duì)應(yīng)操作的代碼就無須改變,當(dāng)驅(qū)動(dòng)程序和儀器更換時(shí),只需要更改測試設(shè)備對(duì)應(yīng)的邏輯名。
因此驅(qū)動(dòng)編寫時(shí)首先為了實(shí)現(xiàn)對(duì)配置信息的獲取和保存應(yīng)該完成IVI配置倉的設(shè)計(jì),在該配置倉中實(shí)現(xiàn)IVI類驅(qū)動(dòng)庫到IVI專用驅(qū)動(dòng)庫的功能映射。配置倉中主要包括幾個(gè)IVI配置信息:功能模塊的邏輯名稱,屬于的類型,專用庫的前綴,信息備注以及模塊專用驅(qū)動(dòng)的位置。
IVI驅(qū)動(dòng)程序流程圖如圖4所示。
圖4 IVI驅(qū)動(dòng)程序流程圖
當(dāng)用戶編寫測試程序時(shí),首先要加入儀器種類的類庫頭文件,然后調(diào)用類庫函數(shù)中的SpeificDriver函數(shù),并把測試儀器對(duì)應(yīng)的邏輯名作為函數(shù)參數(shù)傳遞給SpeificDriver函數(shù)。SpeificDriver函數(shù)能夠依據(jù)傳入的邏輯名找到該測試功能模塊的對(duì)應(yīng)的專用驅(qū)動(dòng)庫并加載。此后,用戶就可以調(diào)用驅(qū)動(dòng)程序庫中相應(yīng)的功能函數(shù)實(shí)現(xiàn)對(duì)此功能模塊的實(shí)際控制。如果需要更換測試功能模塊,用戶只需要更改IVI配置倉中的配置信息,再次重新傳入測試儀器對(duì)應(yīng)的邏輯名參數(shù)并再次調(diào)用SpeificDriver函數(shù)加載對(duì)應(yīng)的專用驅(qū)動(dòng)庫。
4 結(jié) 論
本文給出了一種LXI多功能接口板卡的軟硬件設(shè)計(jì)思路?;谖锢韺有酒珼P83640提出了一種軟件結(jié)合方式的IEEE1588協(xié)議設(shè)計(jì)方案。最后結(jié)合IVI驅(qū)動(dòng)系統(tǒng)結(jié)構(gòu)標(biāo)準(zhǔn),對(duì)LXI通用驅(qū)動(dòng)程序的編程思路進(jìn)行了詳細(xì)的闡述。本文對(duì)LXI總線技術(shù)在航天測試領(lǐng)域的實(shí)用化具有一定的指導(dǎo)意義。
參考文獻(xiàn)
[1] 同江.基于LXI總線的運(yùn)載火箭測試技術(shù)研究[D]. 北京:裝備技術(shù)學(xué)院,2008.
[2] MOHL D S. IEEE 1588 precise time synchronization as the basis for real time applications in automation [J/OL]. [2011?08?12]. www.docin.com...616.html.
[3] 曾慶華.精確時(shí)鐘同步協(xié)議分析及實(shí)現(xiàn)[J].微型電腦應(yīng)用,2012,28(10):41?44.
[4] 劉兆慶,潘邵武,張毅剛.基于DP83640的IEEE1588應(yīng)用研究[J].測控技術(shù),2012,31(9):80?83.
[5] 喻嵐.IVI技術(shù)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2005.
[6] 陳峰,李自榮.基于LXI總線的自動(dòng)測試系統(tǒng)方案設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(12):63?65.
[7] 許愛強(qiáng),文天柱,李文海.基于IVI技術(shù)的儀器驅(qū)動(dòng)程序開發(fā)[J].現(xiàn)代電子技術(shù),2011,34(2):173?175.