劉 磊,付存文,張光山
(1.中國電子科技集團(tuán)公司第四十一研究所,山東 青島 266555;2.電子測試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 青島 266555)
基于VISA的PXI設(shè)備訪問新方法
劉 磊1,付存文1,張光山2
(1.中國電子科技集團(tuán)公司第四十一研究所,山東 青島 266555;2.電子測試技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 青島 266555)
由于PXI設(shè)備的靈活性,在訪問過程中需要用戶參與到配置過程中;為了方便用戶,并增強(qiáng)PXI設(shè)備訪問的安全性和準(zhǔn)確性,避免系統(tǒng)因用戶配置問題導(dǎo)致的功能異常,提出了一種基于VISA的以PXI設(shè)備串號為基礎(chǔ)的設(shè)備訪問方法;通過將PXI設(shè)備的串號信息固化在PXI設(shè)備的配置寄存器中,根據(jù)設(shè)備串號信息自動獲得設(shè)備資源描述符,進(jìn)而對設(shè)備進(jìn)行訪問;實(shí)際應(yīng)用表明,該方法能夠完成對PXI設(shè)備的訪問,避免了用戶的配置過程,實(shí)現(xiàn)了PXI設(shè)備資源的自動配置,增強(qiáng)了設(shè)備訪問的安全性和準(zhǔn)確性,具有良好的實(shí)際應(yīng)用價值。
虛擬儀器;PXI設(shè)備;VISA;自動配置
隨著計算機(jī)技術(shù)、數(shù)字化技術(shù)以及通信技術(shù)的發(fā)展,以PXI模塊化設(shè)備為代表的虛擬儀器技術(shù)得到了迅速發(fā)展。PXI模塊化設(shè)備具有體積小、成本低、功能強(qiáng)、結(jié)構(gòu)靈活、易于系統(tǒng)集成等優(yōu)點(diǎn),適合測量儀器與自動測試系統(tǒng)的快速開發(fā),是虛擬儀器搭建的理想平臺;虛擬儀器軟件結(jié)構(gòu)(VISA)是VXI、PXI、GPIB、串口儀器等多種總線儀器之間通信的一種標(biāo)準(zhǔn)軟件接口集合,具有與儀器及硬件的I/O接口類型無關(guān)、與操作系統(tǒng)及編程語言無關(guān)的特點(diǎn),適合儀器設(shè)備跨平臺跨廠家的移植?;赩ISA的設(shè)計方法開發(fā)簡單、標(biāo)準(zhǔn)化程度高、可維護(hù)性強(qiáng)、易于擴(kuò)展,適合于PXI模塊化儀器設(shè)備的開發(fā)和應(yīng)用。目前PXI模塊化設(shè)備已廣泛應(yīng)用于航天、通信、和工業(yè)自動化測控等領(lǐng)域[1-2]。
而由于在PXI機(jī)箱中,不同物理位置的PXI設(shè)備,其訪問時傳遞的標(biāo)簽不同,需要用戶從外部配置工具或者機(jī)箱配置信息中獲得設(shè)備識別標(biāo)簽,該過程需要用戶參與,不僅操作不便,還容易因配置出錯導(dǎo)致系統(tǒng)功能異常。基于此,為了盡可能方便用戶,增強(qiáng)PXI模塊的訪問的唯一性和準(zhǔn)確性,需要將PXI設(shè)備資源的配置過程自動化[3-6]。
常用的PXI設(shè)備訪問方法有基于設(shè)備資源描述符的方法、基于設(shè)備槽號的方法和基于設(shè)備別名的方法,統(tǒng)稱基于資源描述符類的方法。其中,基于資源描述符的方法是最本質(zhì)的方法,其他方法均是在其基礎(chǔ)上進(jìn)行的改進(jìn)和升級。
基于資源描述符的方法需要用戶借助外部配置工具獲得設(shè)備的資源描述符,然后通過VISA標(biāo)準(zhǔn)庫函數(shù)根據(jù)獲得的資源描述符直接訪問設(shè)備,如果設(shè)備更換了物理位置,需要重新獲得資源描述符并對軟件進(jìn)行修改。
基于設(shè)備槽號的方法需要用戶先獲得系統(tǒng)的配置文件pxisys.ini和機(jī)箱的初始化文件classis.ini,并通過外部配置工具對機(jī)箱進(jìn)行配置,然后根據(jù)槽號位置獲得設(shè)備的資源描述符,通過VISA標(biāo)準(zhǔn)庫函數(shù)根據(jù)獲得的資源描述符間接訪問設(shè)備,該方法雖然避免了用戶直接獲得資源描述符的過程,但如果用戶對機(jī)箱的配置過程不了解,同樣會導(dǎo)致系統(tǒng)錯誤。
基于設(shè)備別名的方法需要用戶在外部配置工具中為設(shè)備添加別名,建立資源描述符與別名的關(guān)聯(lián)關(guān)系,然后通過VISA標(biāo)準(zhǔn)庫函數(shù)根據(jù)別名訪問設(shè)備,但是該方法在更換零槽控制器時,仍然需要再次為設(shè)備添加別名。
以上方法在使用時均需要用戶參與到配置過程,對用戶來說不僅不方便,還容易因用戶配置出錯造成PXI設(shè)備的訪問出錯,引起系統(tǒng)功能異常。
鑒于以上方法的局限性,本文提出了基于設(shè)備串號的方法,本方法將PXI設(shè)備唯一的的廠商號、設(shè)備號、子廠商號、子設(shè)備號以及串號固化到PXI設(shè)備的配置寄存器中,其中廠商號、設(shè)備號、子廠商號、子設(shè)備號燒寫到PXI配置寄存器中規(guī)定的0x00和0x44地址,串號燒寫到PXI配置寄存器中未使用到的保留地址中,如0xFC地址,即配置寄存器地址m_RegAdd,如圖1所示。
圖1 某PXI設(shè)備的配置寄存器
待PXI設(shè)備ID信息燒寫完成后,可通過識別算法自動獲得設(shè)備的資源描述符,實(shí)現(xiàn)PXI設(shè)備資源的自動化配置,其算法流程框圖如圖2所示。詳細(xì)算法流程如下:
圖2 基于設(shè)備串號訪問方法的流程框圖
1)打開VISA資源管理器,獲得VISA資源管理器句柄;
2)格式化設(shè)備廠商號、設(shè)備號,并通過VISA資源管理器查找得到符合格式化字符串的設(shè)備及設(shè)備數(shù)量;
3)如果設(shè)備數(shù)量為0,說明當(dāng)前設(shè)備不存在,檢查設(shè)備是否正確安裝,返回步驟1;如果設(shè)備數(shù)量為1,說明存在一塊設(shè)備,進(jìn)入步驟5;如果設(shè)備數(shù)量大于1,說明存在多塊同型號設(shè)備,進(jìn)入步驟4;
4)依次打開步驟2中得到的設(shè)備,根據(jù)設(shè)備句柄獲得設(shè)備的串號,并與待訪問的設(shè)備串號進(jìn)行比對,如果不同,則比對下一個設(shè)備,如果相同,說明當(dāng)前設(shè)備為待訪問的設(shè)備,進(jìn)入步驟5;
5)根據(jù)步驟4中得到的設(shè)備句柄,獲得資源描述符,并訪問設(shè)備。
其中,上述方法的關(guān)鍵在于步驟4中設(shè)備串號的獲取,如圖2中陰影部分所示。在串號獲取時,首先需要得到設(shè)備在系統(tǒng)中的總線號、設(shè)備號及功能號,并將三者通過移位運(yùn)算進(jìn)行組合,計算出控制寄存器的地址,之后,通過I/O接口函數(shù)將控制寄存器地址寫入系統(tǒng)的0xCF8端口,指示待訪問的設(shè)備,將配置時設(shè)置的配置寄存器地址寫入0xCFC端口,指示待訪問的設(shè)備的地址,最后,從配置寄存器中讀取設(shè)備串號即可。該部分的核心代碼如下:
m_RegAdd <<= 18;//配置寄存器地址
m_RegAdd |= 0x00000003;
_CTRL_ADD=(1<<31)|(nBusNum<<16)|(nDevNum<<11)|(nFuncNum<<8)|(0x13<<2);//控制寄存器地址
outpd(0xCF8, _CTRL_ADD); //端口操作
outpd(0xCFC, m_RegAdd);
viIn32(hHandle,VI_PXI_CFG_SPACE,0x50,pSerialID);//串號讀取
通過以上步驟,可以完成對設(shè)備的唯一訪問。
通過將本文方法應(yīng)用于某電子裝備測試模擬器通用開發(fā)平臺中,該系統(tǒng)需要同時對兩塊相同的PXI本振模塊進(jìn)行訪問和管理,該系統(tǒng)的測試資源管理界面中,兩塊本振板的廠商號和設(shè)備號均為0x4175和0x3007,唯有串號不同,本振1的串號為0x00008001,本振2的串號為0x00008002,通過文中方法,不需要用戶對機(jī)箱進(jìn)行任何配置,也不需要考慮本振板物理位置等問題,通過本振板對應(yīng)的唯一的串號可直接獲取該設(shè)備的資源描述符,實(shí)現(xiàn)PXI設(shè)備資源的自動配置,完成同一時刻同一機(jī)箱中對兩塊PXI本振模塊的正確訪問。
本文分析了基于VISA的PXI設(shè)備的訪問方法,從實(shí)際出發(fā),提出了基于設(shè)備串號的PXI設(shè)備訪問方法, 通過將PXI設(shè)備的廠商號、設(shè)備號、串號等信息固化在配置寄存器中,利用VISA庫函數(shù)實(shí)現(xiàn)了PXI設(shè)備資源在系統(tǒng)中的自動配置,避免了手動配置過程中的錯誤操作可能性,避免設(shè)備因配置不當(dāng)、物理位置變化和設(shè)備ID沖突(系統(tǒng)中存在多塊相同設(shè)備情況)所造成的功能異常。
實(shí)際應(yīng)用表明,該方法能夠有效完成對PXI設(shè)備的訪問,不僅減少了誤操作可能性,增加了設(shè)備訪問的安全性,還同時提高了生產(chǎn)效率,對于PXI設(shè)備的使用和研發(fā)生產(chǎn)具有良好的應(yīng)用價值。
[1] 周 勇,劉慧英.利用VISA實(shí)現(xiàn)VXI設(shè)備底層訪問[J].計算機(jī)測量與控制,2003,11(4):288-289.
[2] 衛(wèi)紅春,楊浩前,李宥謀.虛擬儀器軟件架構(gòu)VISA資源管理的實(shí)現(xiàn)原理研究[J].測控技術(shù),2015,34(8):96-99.
[3] 段晉軍,位恒曦,常曉明.基于LabVIEW NI-VISA實(shí)現(xiàn)PC與C8051F320的USB數(shù)據(jù)通信[J].電子技術(shù)應(yīng)用,2013,39(8):17-19.
[4] 尹洪濤,付 平,郭論平.LXI-GPIB控制器及VISA庫設(shè)計[J].計算機(jī)測量與控制,2013,21(5):1263-1265.
[5] 王學(xué)偉,張未未,趙 勇.USB-GPIB控制器及VISA函數(shù)庫的設(shè)計[J].電子測量與儀器學(xué)報,2008,22(3):87-93.
[6] 邢益臨,陳洪雨,陳 波.基于LabVIEW的LXI儀器識別機(jī)制的實(shí)現(xiàn)[J].國外電子測量技術(shù),2012,31(7):41-44.
New Method of PXI Device Access Based on VISA
Liu Lei1,F(xiàn)u Cunwen1,Zhang Guangshan2
(1.41st Research Institute of CETC, Qingdao 266555, China;2.Science and Technology on Test & Measurement Laboratory, Qingdao 266555, China)
Due to the flexibility of PXI Devices, users need to participate in the configuration process. In order to offer convenience to the users, improve the security and veracity, a new method of PXI device access based on VISA has been brought up. By fixing up the serial ID to the configuration register of PXI devices, then get the device resource descriptor automatically by the serial ID and access the devices. The application result shows, the method can access to the PXI devices, and avoid the configuration process of users, realize the automatical configuration of PXI resources, improve the security and veracity, has great value of actual application.
virtual instrument; PXI device; VISA; automatical configuration
2015-08-27;
2015-09-25。
民航科技創(chuàng)新引導(dǎo)資金資助項(xiàng)目(MH20140109);重點(diǎn)實(shí)驗(yàn)室基金項(xiàng)目(9140C120201150C12003)。
劉 磊(1987-),男,助理工程師,主要從事測試與儀器技術(shù)、信號處理、模塊化設(shè)備方向的研究。
1671-4598(2016)07-0162-02
10.16526/j.cnki.11-4762/tp.2016.07.043
TN98 文獻(xiàn)標(biāo)識碼:A