《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
亚洲视频在线观看免费| 美女91精品| 91久久嫩草影院一区二区| 亚洲综合三区| 亚洲视频在线观看三级| 日韩亚洲欧美在线观看| 亚洲人成人一区二区三区| 亚洲电影下载| 亚洲国产另类久久久精品极度| 国产一区久久| 国产一区视频在线观看免费| 国产一二精品视频| 国产综合色精品一区二区三区 | 久久久久久**毛片大全| 欧美亚洲视频| 欧美一区二区三区成人| 欧美在线观看你懂的| 欧美在线网址| 久久久久久久久久久成人| 久久精品亚洲一区二区| 久久久国产精彩视频美女艺术照福利| 久久精品国产一区二区三区| 久久精品国产2020观看福利| 久久久精品动漫| 老巨人导航500精品| 欧美a级大片| 欧美日韩美女在线观看| 欧美三区美女| 国产精品亚洲激情| 国产在线日韩| 亚洲国产成人久久| 亚洲精品国产拍免费91在线| 日韩一级视频免费观看在线| 亚洲午夜在线视频| 欧美一区二区三区四区高清| 亚洲国产成人久久综合| 亚洲精品国产精品国自产观看浪潮 | 欧美亚洲一区二区在线| 欧美自拍丝袜亚洲| 久久伊人亚洲| 欧美精品乱人伦久久久久久| 欧美调教视频| 国产日韩欧美中文| 尤物99国产成人精品视频| 亚洲人永久免费| 在线亚洲高清视频| 欧美一区二区啪啪| 亚洲精品中文字幕女同| 亚洲中字黄色| 久久综合伊人77777麻豆| 欧美日韩国产一区二区三区地区 | 一个色综合导航| 欧美一区二区女人| 欧美成人久久| 国产精品v欧美精品v日韩 | 亚洲伦理一区| 亚洲在线中文字幕| 亚洲国产日本| 亚洲制服av| 免费观看不卡av| 欧美午夜在线观看| 国际精品欧美精品| 夜夜嗨av色一区二区不卡| 欧美一区二区三区成人| 99精品视频免费观看| 久久精品99国产精品酒店日本| 欧美国产一区二区在线观看| 国产精品区二区三区日本| 一区二区三区在线视频观看| 妖精成人www高清在线观看| 久久精品国产96久久久香蕉| 中文亚洲欧美| 久久影视精品| 国产精品三级视频| 亚洲激情欧美激情| 欧美一区日韩一区| 亚洲特级片在线| 噜噜爱69成人精品| 国产精品视频999| 亚洲国产小视频在线观看| 亚洲永久免费精品| 日韩视频在线免费观看| 久久精品国产69国产精品亚洲| 欧美日韩亚洲一区二区| 影音先锋久久资源网| 亚洲自拍偷拍一区| 一区二区三区av| 免费观看成人| 国产亚洲精品成人av久久ww| 99xxxx成人网| 亚洲精选在线| 久久综合电影| 国产啪精品视频| 在线亚洲电影| 中文亚洲免费| 欧美精品入口| 亚洲高清在线| 亚洲激情av在线| 久久久噜噜噜久噜久久| 国产精品青草综合久久久久99| 亚洲免费观看高清完整版在线观看熊| 亚洲电影有码| 久久久久久久综合日本| 国产精品色网| 这里只有精品视频在线| 一区二区三区视频在线| 欧美黄色精品| 亚洲国产精品精华液网站| 久久国产视频网站| 久久九九精品| 国产日韩精品一区二区三区| 亚洲午夜伦理| 亚洲一区国产视频| 欧美日本一区二区高清播放视频| 亚洲春色另类小说| 亚洲国产精品传媒在线观看 | 国产精品美女诱惑| 99re8这里有精品热视频免费| 亚洲精选成人| 欧美激情第一页xxx| 亚洲国产精品一区制服丝袜| 91久久午夜| 欧美夫妇交换俱乐部在线观看| 亚洲丶国产丶欧美一区二区三区| 亚洲国产成人av| 蜜桃av一区二区| 亚洲国产欧美日韩精品| 亚洲精品乱码久久久久| 欧美国产视频在线观看| 亚洲人成亚洲人成在线观看| 日韩一级黄色av| 欧美日本国产视频| 99国产精品久久久久老师| 亚洲视频精品在线| 国产精品久久久久久久久| 亚洲欧美另类在线| 久久精品欧美日韩| 狠狠色综合播放一区二区| 久久精品国内一区二区三区| 麻豆成人精品| 亚洲激情av| 亚洲网址在线| 国产精品丝袜xxxxxxx| 午夜精品视频一区| 久久久免费观看视频| 在线观看不卡av| 夜夜嗨av色综合久久久综合网 | 国产精品系列在线播放| 欧美在线亚洲一区| 欧美a级片网站| 日韩视频一区二区三区在线播放免费观看 | 亚洲国产中文字幕在线观看| 欧美激情五月| 一本大道久久精品懂色aⅴ| 午夜精品一区二区三区在线视 | 久久精品亚洲精品| 欧美激情精品久久久久久| 夜夜夜精品看看| 欧美在线一区二区| 亚洲国产裸拍裸体视频在线观看乱了 | 最新热久久免费视频| 亚洲专区欧美专区| 国产一区二区精品丝袜| 亚洲人成亚洲人成在线观看| 欧美日韩在线播放一区二区| 宅男在线国产精品| 久久国产日韩欧美| 亚洲日本激情| 久久99在线观看| 亚洲国产精品久久久| 午夜一级久久| 在线日韩成人| 亚洲在线观看视频| 一区二区三区在线视频免费观看| 一二三四社区欧美黄| 国产夜色精品一区二区av| 99人久久精品视频最新地址| 国产欧美精品日韩区二区麻豆天美| 亚洲国产色一区| 国产精品久久久久久妇女6080| 久久精品国产亚洲精品| 欧美三级电影网| 久久精品国产一区二区三区免费看| 欧美日韩视频专区在线播放 | 精品成人一区二区三区| 亚洲综合不卡| 亚洲国产婷婷香蕉久久久久久99| 香蕉视频成人在线观看 | 亚洲最新视频在线| 老司机午夜精品视频在线观看| 一区二区高清在线| 免费成人高清视频| 亚洲在线视频网站| 欧美乱在线观看| 亚洲福利在线观看| 国产精品美女午夜av| 夜夜躁日日躁狠狠久久88av| 国产一区久久久| 亚洲欧美视频在线观看| 亚洲人精品午夜|