《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于LXI總線的Web關鍵技術研究與實現
基于LXI總線的Web關鍵技術研究與實現
2016年電子技術應用第3期
覃斌毅1,2,邱 杰3,鄭金存1,董積有4
1.玉林師范學院 電子與通信工程學院,廣西 玉林537000;2.西安電子科技大學 機電工程學院,陜西 西安710071; 3.玉林師范學院 計算機科學與工程學院,廣西 玉林537000;4.玉林師范學院 學生工作處,廣西 玉林537000
摘要: LXI總線是繼GPIB、VXI和PXI等傳統總線技術之后發展起來的新一代儀器總線技術,具有傳統測試儀器總線無法比擬的優勢。其中,Web頁面是LXI總線技術中的一個關鍵。通過對LXI儀器的Web頁面的研究,搭建LXI儀器Web接口的硬件平臺,并以IEEE1588同步配置頁面的實現為例,提出了一種在LXI儀器中實現Web頁面的方法。該方法將boa服務器和SQLite數據庫移植到Linux中,同時采用CGI局部刷新技術代替傳統的CGI全局刷新,實現LXI儀器Web頁面。最后進行系統驗證,通過瀏覽器對LXI儀器進行遠程訪問控制。實驗結果表明,系統能正確實現IEEE1588同步配置頁面。
中圖分類號: TP316
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.03.021
中文引用格式: 覃斌毅,邱杰,鄭金存,等. 基于LXI總線的Web關鍵技術研究與實現[J].電子技術應用,2016,42(3):74-77.
英文引用格式: Qin Binyi,Qiu Jie,Zheng Jincun,et al. Research and implementation of Web key technologies based on LXI bus[J].Application of Electronic Technique,2016,42(3):74-77.
Research and implementation of Web key technologies based on LXI bus
Qin Binyi1,2,Qiu Jie3,Zheng Jincun1,Dong Jiyou4
1.Electronic and Communication Engineering College,Yulin Normal University,Yulin 537000,China; 2.School of Elecrto-Mechanical Engineering,Xidian University,Xi′an 710071,China; 3.Computer Science and Engineering College,Yulin Normal University,Yulin 537000,China; 4.Department of Student Affairs,Yulin Normal University,Yulin 537000,China
Abstract: LXI bus is a new generation of instrument bus technology which is following the GPIB, VXI and PXI traditional bus technology. It has the incomparable advantage over traditional instrument bus. Among them, the Web page is a key of LXI bus technology. This paper researches Web pages of LXI instrument and puts forward a realization method of the Web page in LXI instruments, which take an example of the realization of the IEEE1588 synchronization configuration page. This method realizes the Web page by transplanting boa server and SQLite database into Linux. At the same time, traditional CGI global refresh is replaced by CGI local refresh. Finally the system is verified, the browser is used to control of LXI instruments by remote access. The experimental results show that the system can realize IEEE1588 right synchronization configuration page.
Key words : LXI;IEEE1588;embedded Web serve;embedded database;CGI

0 引言

    LXI的全稱是儀器在局域網擴展(LAN eXtensions for Instrumentation),它是繼GPIB、VXI和PXI等傳統總線技術之后發展起來的新一代儀器總線技術。LXI總線具有無處不在的LAN 接口、不受距離和節點數目的限制、精確時間同步技術以及遠程網頁訪問等特點。因此,在組建網絡化、分布式自動化測試系統時,LXI總線擁有傳統測試儀器總線技術無法比擬的優勢[1]

    LXI儀器是指符合LXI標準的新型儀器。LXI標準中明確提出LXI儀器必須提供能夠被W3C兼容瀏覽器訪問的Web頁面,用戶可以通過瀏覽器對儀器進行遠程訪問、控制以及故障排查,不需要傳統儀器的前面板即可實現單臺儀器的所有功能。其中,LXI總線B類儀器需要提供的基本Web頁面主要包括:主頁面、LAN配置頁面、IEEE 1588同步配置頁面、儀器功能頁面以及事件日志訪問頁面[2]。因此,Web頁面的實現是LXI總線技術中的一個關鍵。本文以LXI總線中IEEE1588同步配置頁面為例,提出了一種實現LXI儀器Web頁面的方法。

1 LXI儀器Web接口硬件設計 

    為了實現LXI儀器的Web接口,本設計使用ARM+DM9000+DP83640的架構,其中,選用三星公司的S3C2440處理器為主控制器,DM9000為MAC層芯片,DP83640為物理層芯片[3]。LXI儀器Web接口硬件系統框圖如圖1所示。

ck2-t1.gif

2 LXI儀器Web接口軟件設計

    本設計操作系統選用Linux系統,在系統中搭建嵌入式服務器,結合HTML、CGI以及SQLite數據庫技術,實現了IEEE1588同步配置頁面。整個LXI 儀器Web接口軟件系統如圖2所示。

ck2-t2.gif

    系統工作過程為:用戶在客戶端發送HTTP請求消息,boa服務器對接收到的請求消息進行解析,解析的內容包括:讀取請求URL、區分客戶端請求的資源是靜態頁面還是CGI應用程序。若用戶請求的是靜態頁面,則服務器讀取相應的HTML的內容,并將其作為HTTP響應消息中的實體返回給客戶端瀏覽器;若客戶端請求的是CGI應用程序,則服務器將創建相應的CGI應用程序進程,并將所需信息按CGI規范傳遞給CGI應用程序進程,此后由CGI應用程序接管控制。CGI應用程序對接收到的信息進行解碼,解碼后調用設備驅動程序對硬件進行控制,必要時將解碼的參數利用嵌入式數據庫進行保存,同時CGI將結果在客戶端瀏覽器上顯示。

2.1 Web頁面構成

    IEEE1588同步配置頁面是LXI總線B類儀器Web系統中的重要組成部分,用于對IEEE1588時鐘同步狀態監控和對輸出觸發信號動態配置。它由2個Web網頁構成:IEEE1588基本信息頁面和IEEE1588同步參數配置頁面。

    IEEE1588基本信息頁面用于顯示IEEE1588中的參數,如當前超主時鐘的MAC地址、父時鐘的MAC地址、時鐘端口狀態、當前PTP時間、PTP子域、IEEE 1588協議版本[4]

    IEEE1588同步參數配置頁面可對IEEE1588中的參數進行設置,如可對PTP子域、PTP首選主時鐘、同步時間間隔、PTP時間、IEEE1588觸發時間、IEEE1588觸發信號類型等進行設置。

2.2 嵌入式Web服務器的移植

    嵌入式設備常用的Web服務器有Lighttpd、thttpd、shttpd、apache、boa[5]。本設計采用boa作為嵌入式Web服務器,它具有小巧、高效、支持CGI技術的特點。

    boa服務器是開源的,要將其用于Linux系統需要進行移植,移植的步驟如下:

    (1)從官方網站www.boa.org下載boa發布版源碼,本設計選擇版本為boa-0.94.13,在命令終端執行解壓命令,將其解壓到PC linux虛擬機下。

    (2)進入src目錄下執行命令./configure,產生一個 make-file文件。修改makefile文件:將CC=gcc改為CC=arm-linux-gcc,將CPP=gcc-E改為CPP=arm-linux-g++ -E。

    (3)修改src目錄下compat.h文件,找到頭文件中的#define TIMEZONE_OFFSET(foo)foo##->tm_gmtoff修改成#define TIMEZONE_OFFSET(foo)(foo)->tm_gmtoff。

    (4)執行make命令進行編譯,然后把編譯得到的boa可執行文件拷貝到嵌入式設備文件系統的“sbin/”目錄下;把“boa-0.94.13/”目錄下的boa.conf文件拷貝到文件系統的“etc/boa/”目錄下。

    (5)修改boa配置文件boa.conf,主要修改內容有:

    Port 80 //端口

    User root

    Group root

    ServerName GUET //服務器名

    DocumentRoot /www //存放html文檔主目錄

    DirectoryIndex index.html

    MimeTypes/etc/mime.types //指明文件位置

    DefaultType text/plain

    CGIPath /bin:/usr/bin:/usr/sbin:/sbin

    ScriptAlias /cgi-bin/ /www/cgi-bin/

    以上為關鍵設置部分,其他部分采用默認設置。設置完成后,保存退出,然后,拷貝PC機Linux系統etc/目錄下的mime.types到文件系統etc/目錄下。至此,boa服務器在Linux系統上的移植完成。最后,將HTML文件放在文件系統的/www文件夾中,將CGI腳本程序放在/www/cgi-bin文件夾中即可以實現網絡訪問。

2.3 嵌入式數據庫的移植

    數據庫主要用于數據存儲和查詢,在本設計中,嵌入式數據庫是客戶端瀏覽器與PTP程序(PTP程序是指實現IEEE1588協議的應用程序)進行通信的橋梁,如圖3所示。

ck2-t3.gif

    IEEE 1588同步配置頁面利用嵌入式數據庫實現兩個方面的作用:一方面是對一些IEEE 1588配置參數進行存儲,PTP程序可以通過數據庫API訪問這些參數;另一方面是PTP程序在運行過程中可以動態存儲重要的狀態信息,客戶端可以通過調用CGI應用程序實現對這些信息的訪問。本設計選用在嵌入式系統中應用最廣的SQLite進行移植。

    移植嵌入式數據庫SQLite到Linux系統中的步驟如下:

    (1)從官方網站www.sqlite.org下載SQLite數據庫源碼壓縮包,本設計選擇的版本是sqlite-3.5.9。

    (2)壓縮包將其解壓到PC虛擬機Linux系統的opt目錄中,會生成一個名為sqlite-3.5.9的文件夾。

    (3)在sqlite-3.5.9根目錄下新建目錄_install。

    (4)配置SQLite,生成Makefile文件。

    (5)執行make和make install命令,編譯安裝結束后,在/_install目錄下生成bin、lib、include目錄。

    (6)把bin目錄下的sqlite3和sqlite_test文件拷貝到嵌入式Linux文件系統中的bin目錄下,把lib目錄下的庫文件拷貝到文件系統的lib目錄下,這樣在嵌入式Linux中就可以使用SQLite數據庫了。

    (7)把include目錄下面的數據庫頭文件拷貝到交叉編譯器的include目錄下,把lib目錄下的庫文件拷貝到交叉編譯器的lib目錄下,讓交叉編譯器支持sqlite3數據庫。

    為實現相關的數據存儲,建立了一個數據庫文件config.db,存放在文件系統的mnt文件夾中。使用“create table”語句創建2個用于存放1588參數信息的表:config1588和parameters。其中,config1588存放PTP子域、首選主時鐘、同步間隔等;parameters存放超主時鐘的MAC地址、父時鐘的MAC地址、端口狀態等。

2.4 CGI動態網頁的實現

    嵌入式系統由于自身軟硬件資源的限制,Web服務器無法支持功能強大的腳本語言實現動態網頁。因此,在嵌入式Web服務器中通常使用CGI實現動態網頁。

    CGI(公共網關接口)是外部應用程序(CGI程序)與Web服務器之間的接口標準,是在CGI程序和Web服務器之間傳遞信息的規程。例如,可以通過編寫CGI程序訪問數據庫以及通過設備驅動接口訪問硬件等[6]

    CGI程序可以用任何腳本語言或者獨立編程語言實現,只要該語言可以在系統上運行。傳統的使用CGI實現動態網頁的方法步驟如下:

    (1)瀏覽器通過表單把請求數據發送到Web服務器。

    (2)CGI程序從環境變量或者標準輸入中提取表單數據,并進行相應的處理。

    (3)用printf函數輸出整個HTML頁面代碼,將結果返回給瀏覽器。

    這種方法雖然可行,但是用CGI程序將整個HTML靜態頁面全部通過printf輸出,會使得CGI代碼混亂不堪,并且難以實現復雜的HTML頁面。另外,還有一個缺點就是接到每一次請求都會將整個HTML頁面重傳一遍,增加了服務器的負擔。在已經打開一個網頁進行操作的過程中,每次請求往往只需要更新頁面中少部分數據即可,沒有必要重傳整個頁面。

    為解決上述問題,本設計參照了AJAX技術,使用局部動態網頁刷新的方法實現動態網頁。AJAX主要由JavaScript、XMLHTTPREQUEST、XML三部分組成。其中JavaScript用于頁面數據傳遞、刷新局部頁面;XMLHTTPREQUEST用于向服務器提交請求,與服務器響應;XML是服務器返回數據的格式。由于boa服務器不支持XMLHTTPRE-QUEST發出的請求,因此仍使用CGI實現請求的提交與響應,數據格式可以任意定義。具體實現方法如下:

    (1)參照大型服務器Web動態網頁的實現方法,先建立一個HTML靜態網頁框架。

    (2)對每一個表單請求創建一個CGI響應程序,CGI只對需要返回的數據用printf函數輸出。

    (3)采用HTML內聯框架技術將CGI響應的HTML頁面進行隱藏。

    (4)使用JavaScript腳本語言從CGI響應的HTML頁面中取出服務器返回的數據,并將其顯示在主HTML頁面的指定位置。

3 LXI儀器Web接口功能驗證

    為了對LXI儀器Web接口功能進行測試,搭建圖4所示的測試平臺。其中,美國安捷倫公司的觸發盒E5818A與待測LXI儀器通過交換機相連,同時,PC也通過交換機接入到局域網中,PC可通過網頁訪問對待測LXI儀器進行控制。將觸發盒和待測LXI儀器的觸發輸出口分別接到示波器的兩個通道,用于測量同步誤差[7]

ck2-t4.gif

3.1 IEEE1588基本信息頁面的驗證

    首先,通過交換機將PC與LXI測試儀器相連,設置PC和LXI儀器在同一局域網內,然后在瀏覽器中輸入網址:http://192.168.1.6/ieee1588ViewConfiguration.html,打開網頁,界面如圖5所示。

ck2-t5.gif

    經驗證,PC可通過瀏覽器訪問嵌入式系統中的IEEE1588基本信息頁面,在頁面正確顯示了IEEE1588的相關參數。

3.2 IEEE1588同步參數配置頁面的驗證

    通過交換機將PC與LXI測試儀器相連,設置PC和LXI儀器在同一局域網內,然后在瀏覽器器中輸入網址:http://192.168.1.6/ieee1588ModifyConfiguration.html,界面如圖6所示。

ck2-t6.gif

    經驗證,PC可通過瀏覽器訪問嵌入式系統中的IEEE1588同步參數配置頁面。

    通過對觸發時間、觸發周期、觸發源等參數進行設置,可在指定的時刻輸出觸發信號。為了驗證同步觸發功能,分別通過網頁設置E5818A 和待測LXI儀器在同一時刻觸發輸出脈沖信號,用示波器檢測這兩路輸出信號。圖7是在指定時刻下,示波器測得的同步觸發的信號,從圖7可得同步誤差時間是258 ns。

ck2-t7.gif

4 結束語

    本設計使用ARM+DM9000+DP83640的架構實現了LXI儀器Web硬件接口;將boa服務器和sQList數據庫、Linux操作系統、HTML、CGI 等技術結合起來,實現了LXI儀器Web軟件接口。在Web軟件接口實現的過程中,使用了CGI局部刷新技術代替傳統的CGI全局刷新,減輕了Web服務器的負擔。最終,通過搭建測試平臺,驗證了所提出的方法切實可行,為LXI儀器的Web頁面設計提供了參考。

參考文獻

[1] 王彪.LXI關鍵技術研究[D].哈爾濱:哈爾濱工業大學,2009.

[2] LXI Consortium,Inc.LXI Consortium.LXI standard revision1.3[S].2008.

[3] 覃斌毅,陳鐵軍,邱杰,等.基于IEEE1588協議時鐘同步精度影響因素的研究[J].計算機測量與控制,2014,22(10):3312-3315.

[4] 于志成.LXI關鍵技術-IEEE1588協議的研究與實現[D].哈爾濱:哈爾濱工業大學,2012.

[5] 胡聰,高明,牛軍浩.LXI標準Web接口儀器控制研究[J].計算機測量與控制,2011,19(6):1354-1356.

[6] 謝仕義,徐兵.嵌入式Web服務器的設計及其CGI 實現[J].計算機工程與設計,2007,28(7):1598-1600.

[7] 朱旺純,覃斌毅,王玉娟.基于IEEE1588協議同步技術的研究[J].計算機測量與控制,2014,33(7):98-101.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品1区2区| 亚洲一区二区伦理| 在线视频欧美日韩精品| 91久久精品国产91性色tv| 精品999日本| 狠狠色丁香久久婷婷综合_中| 国产精品日韩在线播放| 欧美日韩在线免费| 欧美日韩成人综合| 欧美片在线观看| 欧美乱人伦中文字幕在线| 欧美ab在线视频| 欧美电影在线观看| 欧美激情91| 欧美日本精品| 欧美特黄视频| 欧美日韩中文另类| 欧美日韩午夜剧场| 欧美性做爰猛烈叫床潮| 国产精品国产三级国产专播精品人| 欧美午夜久久| 国产精品青草久久久久福利99| 国产精品黄视频| 国产精品毛片大码女人| 国产精品视频| 国产日韩亚洲欧美精品| 国产亚洲欧美另类中文| 国内外成人免费视频 | 999亚洲国产精| 一区二区三区国产在线| 亚洲一区精品电影| 西瓜成人精品人成网站| 久久精品视频免费| 夜久久久久久| 午夜精品影院| 老司机成人在线视频| 欧美不卡在线视频| 欧美日韩亚洲网| 国产乱理伦片在线观看夜一区| 国产午夜精品一区二区三区视频| 激情亚洲网站| 亚洲精选在线观看| 亚洲桃花岛网站| 欧美有码视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲图片自拍偷拍| 久久精品国产亚洲5555| 免费欧美网站| 国产精品白丝av嫩草影院 | 韩国av一区| 亚洲六月丁香色婷婷综合久久| 一区二区三区日韩精品| 香蕉久久夜色精品| 亚洲国产一区二区精品专区| av成人动漫| 久久精品99| 欧美乱妇高清无乱码| 国产免费成人av| 亚洲人成77777在线观看网| 亚洲婷婷综合色高清在线| 久久riav二区三区| 中文无字幕一区二区三区| 久久久久久久一区二区| 欧美日韩亚洲一区二区三区| 国产一区二区三区的电影| 亚洲日本成人女熟在线观看| 午夜欧美大片免费观看| 亚洲精品日韩一| 欧美在线免费看| 欧美日韩国产影片| 狠狠色狠狠色综合人人| 一二三区精品福利视频| 亚洲娇小video精品| 欧美亚洲在线视频| 欧美日本一区二区三区| 国产一区二区成人久久免费影院| 91久久久亚洲精品| 久久精品国产精品亚洲精品| 亚洲综合三区| 欧美日韩国产精品一卡| 国产欧美日韩视频| 9久草视频在线视频精品| 久久精品亚洲一区二区三区浴池| 亚洲欧美精品伊人久久| 欧美激情一区二区三区蜜桃视频| 国产一级精品aaaaa看| 一区二区免费在线观看| 亚洲精品乱码久久久久| 久久精品中文字幕一区| 国产精品久久久久av免费| 亚洲黄一区二区| 久久精品系列| 久久久7777| 国产精品天天摸av网| 日韩一级精品| 日韩一级欧洲| 欧美成人精品在线| 国产一区二区三区四区| 亚洲一区二区三区欧美| 中文精品一区二区三区| 欧美精品免费播放| 亚洲高清久久网| 亚洲电影第1页| 久久久一本精品99久久精品66| 国产精品视频免费在线观看| 日韩亚洲综合在线| 一区二区三区四区国产| 欧美肥婆在线| 91久久精品国产91久久性色tv| 亚洲第一黄色| 久久久久综合一区二区三区| 国产情侣久久| 午夜精品免费视频| 性久久久久久久久久久久| 欧美视频免费看| 一区二区精品在线| 亚洲一区二区三区免费在线观看 | 狠狠色综合一区二区| 欧美亚洲综合另类| 欧美在线视频一区二区| 国产精品亚洲美女av网站| 亚洲无线视频| 性刺激综合网| 国产亚洲精品激情久久| 欧美伊人久久| 久热爱精品视频线路一| 黄色成人在线网站| 亚洲国产精品一区在线观看不卡| 久久在线免费| 亚洲激情午夜| 一区二区三区视频在线看| 欧美色欧美亚洲另类二区| 一本久久综合亚洲鲁鲁五月天| 亚洲一级在线观看| 国产精品久久久久aaaa| 午夜影院日韩| 蜜桃久久av| 91久久精品国产| 亚洲一区二区欧美| 国产精品色婷婷| 欧美在线观看一区二区三区| 久久综合给合| 亚洲区第一页| 午夜宅男久久久| 国产亚洲一区在线| 91久久国产综合久久蜜月精品 | 欧美日韩国产在线播放| 亚洲天堂网在线观看| 久久福利资源站| 亚洲国产高清自拍| 亚洲婷婷综合久久一本伊一区| 国产精品入口日韩视频大尺度| 久久不射中文字幕| 欧美成人午夜免费视在线看片 | 亚洲一区免费视频| 久久香蕉国产线看观看av| 亚洲黄色成人网| 亚洲欧美日韩在线| 狠狠入ady亚洲精品| 一本色道久久99精品综合| 国产精品免费一区二区三区在线观看| 午夜伦欧美伦电影理论片| 欧美jizzhd精品欧美巨大免费| 日韩一区二区免费高清| 久久精品综合一区| 亚洲人在线视频| 久久激情五月丁香伊人| 亚洲电影免费在线| 亚洲男人的天堂在线aⅴ视频| 国产在线不卡| 亚洲天堂av在线免费| 国产在线高清精品| 中日韩美女免费视频网址在线观看| 国产裸体写真av一区二区| 91久久国产自产拍夜夜嗨| 国产精品激情电影| 亚洲日本在线观看| 国产精品毛片va一区二区三区| 亚洲激情在线观看| 国产乱码精品一区二区三区五月婷| 亚洲日本理论电影| 国产欧美亚洲一区| 一本色道久久88亚洲综合88| 国内精品美女av在线播放| 中文在线不卡视频| 影音先锋中文字幕一区| 亚洲欧美一区二区原创| 亚洲国产精品传媒在线观看| 欧美在线观看你懂的| 亚洲三级影片| 久久亚洲精品一区| 亚洲一二三区在线观看| 欧美大片一区二区| 欧美一区二区日韩一区二区| 欧美欧美天天天天操| 久久精品麻豆| 国产欧美日韩综合一区在线播放 | 国产一区亚洲一区| 亚洲——在线| 亚洲日韩欧美视频一区|