VXI-11協(xié)議的完整開發(fā)與庫的實(shí)現(xiàn)
發(fā)布時(shí)間:2021-02-20 15:24
針對現(xiàn)有VXI-11協(xié)議在Windows下的開發(fā)都過于簡單,功能嚴(yán)重不完整,且儀器在啟動(dòng)VXI-11服務(wù)時(shí)需要引入很多代碼,操作過于繁瑣等問題,完成了VXI-11協(xié)議在Windows下完整功能的開發(fā)。在此基礎(chǔ)上,將所有的代碼封裝成庫的形式,并且給使用者提供一些必要的接口,讓使用者可以方便快捷地在儀器上啟動(dòng)VXI-11服務(wù)而且更加靈活地使用該服務(wù)。實(shí)驗(yàn)結(jié)果證明,該系統(tǒng)的服務(wù)端程序可以正確地響應(yīng)客戶端的VXI-11協(xié)議,并且可以通過VXI-11協(xié)議穩(wěn)定地進(jìn)行數(shù)據(jù)傳輸。
【文章來源】:現(xiàn)代電子技術(shù). 2020,43(10)北大核心
【文章頁數(shù)】:3 頁
【部分圖文】:
協(xié)議網(wǎng)絡(luò)儀器通道示意圖
VXI-11協(xié)議開發(fā)的流程如圖2所示。首先在Linux系統(tǒng)下使用rpcgen命令(該命令可以生成RPC服務(wù)器程序的代碼,它的輸入為一個(gè)規(guī)格說明文件,輸出為一個(gè)C語言的源程序[6])生成VXI-11協(xié)議的框架,然后將其導(dǎo)出至Windows系統(tǒng)中。之后,在Windows系統(tǒng)里新建工程,將導(dǎo)出的文件加入工程并調(diào)試,F(xiàn)有對VXI-11開發(fā)的功能函數(shù)僅有2~3個(gè),本系統(tǒng)復(fù)現(xiàn)了現(xiàn)有的功能函數(shù)后,補(bǔ)充完善并實(shí)現(xiàn)所有的功能函數(shù)。
device_read函數(shù)的流程圖如圖3所示。首先,客戶端發(fā)送讀請求后,運(yùn)行服務(wù)器端的儀器會(huì)根據(jù)客戶端發(fā)送的lid判斷是否可以連接,若不能連接,則返回Error=4;若可以,則判斷其他連接是否有鎖定。如果沒有鎖定,判斷要讀的數(shù)據(jù)是否大于requestSize;若有鎖定,則等待Lock_timeout毫秒的時(shí)間。若在該時(shí)間內(nèi)未解鎖,則返回Error=11、data.data_len=0;否則,判斷要讀的數(shù)據(jù)是否大于RequestSize,若小于則返回Reason=4,若大于則判斷返回的緩沖區(qū)是否已滿,如果已滿,則返回Reason=0,否則繼續(xù)讀。最后判斷是否讀完,若讀完則返回Reason=1,否則繼續(xù)判斷返回的緩沖區(qū)是否滿,直到讀完為止。
【參考文獻(xiàn)】:
期刊論文
[1]基于LXI的數(shù)據(jù)鏈端機(jī)自動(dòng)測試系統(tǒng)[J]. 沈建飛. 現(xiàn)代導(dǎo)航. 2019(01)
[2]基于數(shù)據(jù)分發(fā)服務(wù)的遠(yuǎn)程過程調(diào)用系統(tǒng)[J]. 鄭馥薇,沈卓煒. 計(jì)算機(jī)應(yīng)用. 2018(S2)
[3]LXI網(wǎng)絡(luò)儀器后臺(tái)處理的設(shè)計(jì)與實(shí)現(xiàn)[J]. 李延峰,李宥謀,閆海卿,李曉俊. 計(jì)算機(jī)技術(shù)與發(fā)展. 2019(03)
[4]PortMap端口映射器[J]. 田丹丹. 網(wǎng)絡(luò)安全和信息化. 2017(02)
[5]基于LXI總線PCI接口的軟件設(shè)計(jì)[J]. 邱暢,李龍,鄭艷梅. 國外電子測量技術(shù). 2016(05)
[6]網(wǎng)絡(luò)化儀器儀表協(xié)議客戶端設(shè)計(jì)與實(shí)現(xiàn)[J]. 龐新法. 現(xiàn)代電子技術(shù). 2015(18)
[7]基于端口映射NAT網(wǎng)絡(luò)方案分析與實(shí)施[J]. 張波,萬麗. 軟件工程師. 2015(03)
[8]基于DSP和VXI-11協(xié)議的LXI儀器控制與實(shí)現(xiàn)[J]. 翟龍軍,曲洪東,高山,張公學(xué). 計(jì)算機(jī)測量與控制. 2014(11)
[9]基于航天測試技術(shù)的LXI多功能接口板卡設(shè)計(jì)[J]. 鄧茂林,姚靜波,解維奇. 現(xiàn)代電子技術(shù). 2014(21)
[10]通過VXI-11協(xié)議控制LXI儀器[J]. 耿建平,鄧力. 微計(jì)算機(jī)信息. 2011(10)
本文編號:3042957
【文章來源】:現(xiàn)代電子技術(shù). 2020,43(10)北大核心
【文章頁數(shù)】:3 頁
【部分圖文】:
協(xié)議網(wǎng)絡(luò)儀器通道示意圖
VXI-11協(xié)議開發(fā)的流程如圖2所示。首先在Linux系統(tǒng)下使用rpcgen命令(該命令可以生成RPC服務(wù)器程序的代碼,它的輸入為一個(gè)規(guī)格說明文件,輸出為一個(gè)C語言的源程序[6])生成VXI-11協(xié)議的框架,然后將其導(dǎo)出至Windows系統(tǒng)中。之后,在Windows系統(tǒng)里新建工程,將導(dǎo)出的文件加入工程并調(diào)試,F(xiàn)有對VXI-11開發(fā)的功能函數(shù)僅有2~3個(gè),本系統(tǒng)復(fù)現(xiàn)了現(xiàn)有的功能函數(shù)后,補(bǔ)充完善并實(shí)現(xiàn)所有的功能函數(shù)。
device_read函數(shù)的流程圖如圖3所示。首先,客戶端發(fā)送讀請求后,運(yùn)行服務(wù)器端的儀器會(huì)根據(jù)客戶端發(fā)送的lid判斷是否可以連接,若不能連接,則返回Error=4;若可以,則判斷其他連接是否有鎖定。如果沒有鎖定,判斷要讀的數(shù)據(jù)是否大于requestSize;若有鎖定,則等待Lock_timeout毫秒的時(shí)間。若在該時(shí)間內(nèi)未解鎖,則返回Error=11、data.data_len=0;否則,判斷要讀的數(shù)據(jù)是否大于RequestSize,若小于則返回Reason=4,若大于則判斷返回的緩沖區(qū)是否已滿,如果已滿,則返回Reason=0,否則繼續(xù)讀。最后判斷是否讀完,若讀完則返回Reason=1,否則繼續(xù)判斷返回的緩沖區(qū)是否滿,直到讀完為止。
【參考文獻(xiàn)】:
期刊論文
[1]基于LXI的數(shù)據(jù)鏈端機(jī)自動(dòng)測試系統(tǒng)[J]. 沈建飛. 現(xiàn)代導(dǎo)航. 2019(01)
[2]基于數(shù)據(jù)分發(fā)服務(wù)的遠(yuǎn)程過程調(diào)用系統(tǒng)[J]. 鄭馥薇,沈卓煒. 計(jì)算機(jī)應(yīng)用. 2018(S2)
[3]LXI網(wǎng)絡(luò)儀器后臺(tái)處理的設(shè)計(jì)與實(shí)現(xiàn)[J]. 李延峰,李宥謀,閆海卿,李曉俊. 計(jì)算機(jī)技術(shù)與發(fā)展. 2019(03)
[4]PortMap端口映射器[J]. 田丹丹. 網(wǎng)絡(luò)安全和信息化. 2017(02)
[5]基于LXI總線PCI接口的軟件設(shè)計(jì)[J]. 邱暢,李龍,鄭艷梅. 國外電子測量技術(shù). 2016(05)
[6]網(wǎng)絡(luò)化儀器儀表協(xié)議客戶端設(shè)計(jì)與實(shí)現(xiàn)[J]. 龐新法. 現(xiàn)代電子技術(shù). 2015(18)
[7]基于端口映射NAT網(wǎng)絡(luò)方案分析與實(shí)施[J]. 張波,萬麗. 軟件工程師. 2015(03)
[8]基于DSP和VXI-11協(xié)議的LXI儀器控制與實(shí)現(xiàn)[J]. 翟龍軍,曲洪東,高山,張公學(xué). 計(jì)算機(jī)測量與控制. 2014(11)
[9]基于航天測試技術(shù)的LXI多功能接口板卡設(shè)計(jì)[J]. 鄧茂林,姚靜波,解維奇. 現(xiàn)代電子技術(shù). 2014(21)
[10]通過VXI-11協(xié)議控制LXI儀器[J]. 耿建平,鄧力. 微計(jì)算機(jī)信息. 2011(10)
本文編號:3042957
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3042957.html
最近更新
教材專著