前言
早期的GPIB、VXI等技術,由于采用了專用的儀器接口標準進行設計,從而使得從底層的接插件、接口卡、機箱,到完成儀器控制功能的協議軟件都是測試領域專有的、定制的,這極大的提高了測試系統的成本,并嚴重阻礙的測試技術的發展。隨后出現的PXI技術,充分利用了現有的計算機總線技術,降低了測試系統的成本,但是,隨著PC產業的高速發展,基于計算機接口的測試設備生命周期往往較短。這對于大多需要持續服務數十年的測試系統來說顯然是無法接受的。
測試工程師和系統集成者需要長期、穩定、一致的接口標準以便維持測試系統長期的使用壽命。LXI聯盟基于以上的考慮,確定采用以太網作為新的測試接口標準。以太網接口以其高性能,低成本在工業領域中得到廣泛應用,并已持續使用幾十年,目前它的性能仍在不斷提升。
LXI(LAN eXtensions for Instrumentation),即基于局域網的儀器擴展,它是以太網技術在測試自動化領域應用的拓展,其總線規范融合了儀器的高性能、插卡式儀器的緊湊靈活和以太網的高速吞吐率,而且其性能比以往測試系統的解決方案更緊湊、更快速、更廉價、更持久。
LXI標準圍繞4個主要方面——物理要求、Ethernet協議、LXI接口和LXI觸發。標準是這些要求項目的組合。符合LXI標準的儀器被稱為LXI設備,LXI設備分為3種類型:C類、B類和A類。C類LXI設備是基本類型,它必須符合物理要求、Ethernet協議和LXI接口標準;B類LXI設備除要滿足C類設備的要求之外,還要加上基于LAN的觸發和IEEE1588定時同步協議;A類LXI設備除C類和B類的要求外,再加上硬件觸發總線。
本設計的目的是通過PIC32單片機實現LXI總線B類電壓表,為提高LXI總線儀表的研究及應用作出貢獻。
國內外的研究現狀及分析
2004年9月安捷倫科技公司和VXI科技公司聯合成立國際LXI聯盟,推出了基于LAN的儀器總線標準——LXI。2005年9月底,LXI聯盟正式發布LXI規范1.0版本。2006年8月,LXI聯盟又推出LXI規范1.1版本。主要是對1.0版本中混合系統的構建方法進行了補充。2007年10月新推出的LXI 1.2版本改進了原規范中的發現和驗證機制。
LXI總線剛一推出便引起了業界的廣泛關注。目前,LXI聯盟已有包括絕大多數國際著名測試測量公司在內的51家公司成為其成員。在LXI聯盟的主持下已舉辦了多次PlugFest活動。安捷倫科技的第一臺基于LXI的儀器出現在2003年,是20MHZ的函數發生器33220A,也是世界上第一臺同時具備GPIB、USB和LAN接口的儀器。目前安捷倫科技已推出以34410A數字多用表為代表的30多種符合LXI的T&M產品。其中大部分是A級儀器,C級儀器模塊不到10種。
VXI科技有兩種A級的數據采集產品,并且應用在波音公司新開發的787寬體遠程客機的應力測量系統中。目前所有主要測試公司都支持LXI,已有300多種產品。對于LXI總線的推出國內測試界也積極響應。目前,陜西海泰電子有限責任公司、北京無線電計量測試研究所、北京航天測控技術開發公司等單位已加入了LXI聯盟。2006年9月國內成功的召開了中國LXI聯合體成立大會暨2006年總線技術與LXI學術會議。2007年6月又成功舉辦了LXI聯盟會員大會暨高級技術論壇。但國內目前還沒有符合LXI總線規范的儀器產品面世,關鍵技術尚在攻克。
總的來說,LXI總線規范融合了GPIB儀器的高性能、VXI/PXI插卡式儀器的緊湊靈活和以太網的高速吞吐率,并考慮定時、觸發、冷卻、電磁兼容等儀器要求。相對于以往的總線標準,LXI不受帶寬、軟件和計算機背板總線的限制,其覆蓋范圍更廣、繼承性能更好、生命周期更長,成本也更低,并依托以太網日益提高的吞吐能力和性能優勢,必將成為下一代自動測試系統的理想解決方案。
設計思路及內容
本設計主要是PIC32 Ethernet Starter Kit實驗板完成LXI總線C類電壓表的設計。并在此基礎上探究LXI總線B類電壓表的實現。實驗板如圖1所示:
PIC32 Ethernet Starter Kit實驗板的頂部組件包括:
PIC32MX795F512L 32位微控制器。
PIC32MX440F512H的USB微控制器板上調試。
綠色電源指示燈。
USB連接的板上調試器通信。
橙色調試指示燈。
三個為用戶定義的輸入按鈕開關。
三個用戶定義的LED指示燈。
PIC32 USB A型主機為基礎的應用插座連接。
主機模式電源線。
RJ - 45以太網端口。
10/100以太網總線速度指示燈。
50兆赫以太網PHY振蕩器。
32 kHz振蕩器(可選)。
USB主機和OTG PIC32的USB應用的供電電源。
PIC32 Ethernet Starter Kit實驗板的底部組件包括:
+3.3 V的穩壓電源,通過USB或擴展板入門工具包電源。
連接各種擴展板。
USB OTG和PIC32系列的USB OTG公司/設備為基礎的應用設備連接微型AB插座。
外部以太網PHY。
PIC32單片機本身具有網絡接口和USB等設計LXI的C類儀器的基本要求,LXI標準規定,C類接口功能需要提供LAN和Web瀏覽器接口,其LAN接口應支持千兆位以太網,向下兼容100Base-T,推薦使用Auto-MDIX功能,必須顯示LXI儀器的MAC地址。網絡協議上至少支持Ipv4的IP、TCP、UDP、ICMP、SNMP。必須支持三種LAN配置技術,即動態主機配置協議(DHCP)、動態配置本地鏈路選址(Auto-IP)和手動設置。必須提供HTML Web網頁,這些Web網頁可以在和W3C兼容的瀏覽器上正確工作。Web服務器必須符合HTTP1.1規范,且所提供的HTML網頁必須符合版本4.01。
LXI測試模塊使用IVI-COM驅動程序(使用COM API的IVI驅動程序)對儀器進行控制。IVI驅動程序是基于VISA并被集成在NI提供的應用開發環境中。主控程序通過調用VISA I/O庫函數,控制LXI模塊完成電壓、電流、頻率等信號的測試采樣。
因此本設計主要完成的內容如下所示:
熟悉計算機網絡通信原理;
熟悉TCP/IP協議;
熟悉嵌入式的Internet技術;
完成模塊內部常用接口的調試工作;
完成TCP/IP網絡協議的實現;
實現Web Sever服務功能;
完成電壓數據的讀取;
探究B類電壓表的實現方案。
基于PIC32單片機,關鍵在于網絡協議的實現,結構框圖如圖2所示:
注:模塊上的網絡PHY為DP83848C,不具備IEEE1588幀檢測能力,需要更換成DP83640。DP83640芯片內置高精度IEEE1588時鐘,并設有由硬件執行的時間標記功能,可為接收及發送信息包打上時鐘標記,以實現IEEE1588功能。
以太網本質上是一個物理層標準,作為一套完整的網絡傳輸協議,必須具有高層控制協議,以太網使用了TCP/IP協議。以太網最典型的應用形式是Ehtemet+TCP/IP,即靈活的Ethemet底層加上幾乎已成通用標準的網絡傳輸協議TCP/IP協議,使得以太網能夠非常容易地集成到以Internet和Web技術為代表的信息網絡中。
嵌入式以太網的實質是在嵌入式系統的基礎上實現網絡化,使嵌入式系統能夠實現TCP/IP網絡通信協議,接入以太網。將嵌入式系統與TCP/IP協議融合到一起主要有兩種方法:
1.硬件方式:使用有的TCP/IP芯片直接作為以太網,這種方法的優點是:可靠性高,執行速度快,但往往硬件電路復雜,價格昂貴,硬件成本高。
2.軟件方式:將TCP/IP協議以軟件方式嵌入到嵌入式系統的ROM中。一般來說,TCP/IP協議棧都比較龐大,在嵌入式系統中很難支持完整的TCP/IP協議棧,因此要根據嵌入式網絡產品的特點,精簡TCP/IP協議,實現與需要相關的部分,大幅度減少對于系統資源的需求。
本設計采用第二種方法。以太網技術是LXI的技術基礎,LXI標準規定了對以太網的硬件要求和相關配置要求。LXI規范中規定設備必須使用合適的IEEE 802.X PHY/MAC規范實現以太網。以太網的物理連接必須使用IEEE 802.3規范。推薦使用RJ45作為LAN連接器。LXI設備應支持千兆位以太網,并能保證在10/100Base-T低速以太網中正確運行。用戶通過訪問顯示器或粘貼在模塊上的標簽可以獲得模塊的MAC地址。模塊必須包括以太網連接的監視功能。另外,LXI設備應包括Auto-MDIX(自動線序識別)功能,并支持缺省的網絡速度自動協商功能。
在LAN配置方面,LXI設備必須支持TCP/IP網絡,至少支持IPv4,其中包括IP、TCP、UDP等協議。同時還要求設備支持ICMP協議。規范要求設備必須支持三種IP地址配置技術:動態主機配置協議(DHCP)、動態配置本地鏈路地址(Auto-IP)和手動設置。其中,DHCP是在使用以太網路由器的大型網絡中自動分配IP地址的方法,此時通過DHCP服務器獲得設備的IP地址;Auto-IP方式適用于由以太網交換機(或集線器)組建的小型網絡或特設網絡,以及由交叉網絡組建的兩節點網絡;手動方式可用于所有類型拓撲結構的網絡,此時用戶手動設置LXI設備的IP地址。LXI設備需提供LAN配置初始化機構(LCI),實現VXI-11發現機制,從而能容易地在網絡上被識別。
儀器發現技術可以依靠VXI-11標準來實現,VXI-11標準基于TCP/IP協議模型和客戶機/服務器架構,利用ONC/RPC技術提供IO通道給LXI儀器的遠程控制端,建立Core、Abort、Interrupt三類信道,實現儀器間的信息傳輸。儀器發現的過程實際上是儀器與服務器之間進行信息交互的過程:儀器向服務器發送通信請求;服務器收到信息則知道有儀器接入網絡,建立連接并發送查詢消息;儀器根據查詢做出相關應答;服務器收到應答信息,完成儀器發現。發送的查詢消息應包括標準SCPI命令“IDN”等。
每個LXI儀器都是一個獨立的網絡設備,所有LXI儀器都必須提供包括產品主要信息在內的歡迎網頁及LAN配置網頁, B類設備還要具有同步配置網頁。此外,儀器還可以提供狀態/其他頁面,來顯示儀器的當前狀態和其他信息。這些網頁通過HTTP80端口連接到網絡,并可以通過標準W3C網絡瀏覽器查看。從Web接口的角度看,LXI儀器類似于一個Web服務器【10】, 通過這些Web頁,用戶可以配置網絡參數,檢測設備的連通性,以及對LXI設備進行便捷的操作。
本設計可選用適合于嵌入式應用的Boa Web服務器作為LXI設備的Web服務器,Boa服務器支持HTTP 1.0規范,具有配置簡便,內存占用小等特點。Boa服務器可以通過CGI程序處理用戶提交的表單數據并動態更新網頁中的數據,能夠滿足LXI設備對Web接口的需求。
1588時間戳軟件設計
通過上文對時鐘偏移量和延遲量的分析來設計1588時間戳的狀態機。狀態機中共有S0、S1、S2、S3、S4五種狀態,分別代表了時鐘同步初始狀態、Sync報文狀態、Follow報文狀態、Delay_Req報文狀態和Delay_Resp狀態。下面給出的是時間戳狀態機的軟件實現方式:
module ieee1588_time_stamp (in_data,clk,nclear,out);
input indata, clk,nclear;
output out; //端口聲明
reg out;
reg[2:0] state;
reg t_slave1,t_master1,t_slave2,t_master2,t_offset,t_
delay;
。。.。。.。。.。。.。。 //變量和參數聲明
parameter [2:0] s0=1,s1=2,s2=3,s3=4,s4=4;
//各狀態的定義
always @(posedge clk)
begin
if(! nclear |主從時鐘同步) state = s0;
case(state)
s0: begin
if(indata ==同步報文)
state 《= s1;
else if(idata ==跟隨報文)
begin out = t_master1;state 《= s2; end
else state 《= s0;
end
s1:state 《= (indata ==傳輸t_slave1)? s1:s2;
s2:state 《= (indata ==延遲請求報文)? s3:s2;
s3:state 《= (indata ==延遲響應報文)? s4:s3;
s4:state 《=(indata ==同步)? s0:s3;
endcase
end
always @ (state) //探測到狀態的變化同時輸出
信號
begin
case (state)
s0:out=t_master1
s1:out=t_slave1;
s2:out=t_slave2;
s3:out=t_master2;
s4:out={t_offset,t_delay};
endcase
end
read_time _model test_time(
t_master1(t_master1),
t_slave1(t_slave1),
t_master2(t_master2),
t_slave2(t_slave2));//調用時鐘記錄模塊
……………。。
Endmodule
該狀態機利用兩個always語句分別實現狀態的轉換以及輸出。在ieee1588_time_stamp時間戳模塊中還調用了read_time_model時鐘讀取模塊為時間戳模塊實時的讀取時鐘。由于模塊上的網絡PHY為DP83848C,不具備IEEE1588幀檢測能力,需要更換成DP83640。DP83640芯片內置高精度IEEE1588時鐘,并設有由硬件執行的時間標記功能,可為接收及發送信息包打上時鐘標記,以實現IEEE1588功能。
二. 測試
LXI儀器是測試儀器的網絡化應用,其利用IEEE1588協議解決了以太網的延遲不確定性,并可以幫助儀器實精確的時鐘同步,勢必成為分布式、網絡化測試平臺的主流。LXI的小型網絡測試儀如圖3所示:
基于試驗條件所限,本設計只能針對一個LXI儀器進行測試,測試的流程如圖4所示:
評論