0 引言
步入信息化時(shí)代最顯著的標(biāo)志是信息網(wǎng)絡(luò)在各行業(yè)中的滲透和普及,其中數(shù)以太網(wǎng)最為典型。以太網(wǎng)作為一種成本低廉、吞吐能力強(qiáng)、適應(yīng)性好、網(wǎng)絡(luò)管理能力日益提高的網(wǎng)絡(luò),在各個(gè)領(lǐng)域都得到了廣泛的應(yīng)用?;贚AN的新型LXI(LAN eXtensions for Instrumentation)儀器總線正是利用了以太網(wǎng)的這些特點(diǎn),構(gòu)成了一種適應(yīng)自動(dòng)測(cè)試系統(tǒng)的儀器模塊組建標(biāo)準(zhǔn)。
LXI總線標(biāo)準(zhǔn)是由安捷倫公司和VXI技術(shù)公司于2004年9月聯(lián)合推出的,并于同年成立了技術(shù)聯(lián)盟。一年后聯(lián)盟制定了LXI 1.0標(biāo)準(zhǔn),此標(biāo)準(zhǔn)對(duì)LXI的物理特性、觸發(fā)同步、儀器模塊間通信、模塊網(wǎng)絡(luò)接口特性和配置以及發(fā)現(xiàn)機(jī)制等方面作出了詳細(xì)規(guī)定,并且在其他方而也給出了聯(lián)盟的建議。2006年8月LXI聯(lián)盟正式公布LXI的1.1標(biāo)準(zhǔn),糾正了1.0標(biāo)準(zhǔn)中存在的大量排版和語(yǔ)句上的錯(cuò)誤,并修改了部分內(nèi)容,包括修改了 HTTP和HTML請(qǐng)求、刪除14節(jié)的MAC地址規(guī)則等等。期間第一批通過(guò)LXI聯(lián)盟認(rèn)證的LXI儀器面世,也揭開(kāi)了LXI產(chǎn)品迅速升溫的序幕。2007 年10月聯(lián)盟又推出了1.2標(biāo)準(zhǔn),直至2008年9月推出最新的1.3版標(biāo)準(zhǔn),不同版的標(biāo)準(zhǔn)都對(duì)其上一版進(jìn)行修改和完善。在過(guò)去兩年里,LXI產(chǎn)品逐步成為市場(chǎng)熱點(diǎn),到目前為止,超過(guò)50家國(guó)際頂尖儀器生產(chǎn)廠商共推出85種儀器類型的540余種產(chǎn)品。其中僅在2007年上半年時(shí)的銷售額就超過(guò)了1億美元。
在中國(guó),LXI聯(lián)盟成員已經(jīng)包括中國(guó)大學(xué)、研究機(jī)構(gòu)和廠商在內(nèi)的約100多家單位。北京航天測(cè)控公司等三家中國(guó)企業(yè)加入了LXI聯(lián)盟。2007年在北京召開(kāi)的首屆LXI亞洲峰會(huì)上聯(lián)盟主席也誠(chéng)摯地邀請(qǐng)中國(guó)的企業(yè)單位參與標(biāo)準(zhǔn)的制定和完善。在我國(guó)的各軍兵種和國(guó)防工業(yè)部門為武器裝備研制配套的 ATS(Automatic Test System)系統(tǒng),也離不開(kāi)LXI總線的發(fā)展。
1 B類LXI同步原理
1.1 LXI產(chǎn)品分類和B類儀器的優(yōu)勢(shì)
LXI聯(lián)盟充分利用了以太網(wǎng)觸發(fā)、網(wǎng)絡(luò)時(shí)間協(xié)議(NTP和IEEEl588)和硬件連線觸發(fā)功能。在此基礎(chǔ)上LXI提供精度由低劍高的三種觸發(fā)機(jī)制:基于 NTP的觸發(fā)方式;基于IEEEl588的觸發(fā)方式;基于LXI觸發(fā)總線(LXITrigger Bus)的硬件觸發(fā)。并根據(jù)這三種不同的機(jī)制將產(chǎn)品分為三類:C、B和A類。分別如下:
C類:具有通過(guò)LAN的編程控制能力,能夠與其他廠家的儀器協(xié)同工作;
B類:擁有C類的所有能力,并支持IEEEl588精確時(shí)間協(xié)議同步;
A類:擁有B類的所有能力,同時(shí)具備觸發(fā)總線硬件觸發(fā)機(jī)制。
顯然A類具備最高的同步精度是靠增加了硬件觸發(fā)功能,然而根據(jù)LXI標(biāo)準(zhǔn)可知,此類觸發(fā)是通過(guò)在儀器模塊之間另外增加觸發(fā)總線實(shí)現(xiàn)的,且該觸發(fā)總線的長(zhǎng)度又不超過(guò)3m,故極大地限制了LXI儀器的靈活性,而靈活性又是LXI和VXI等儀器所具備的特點(diǎn)。B類儀器所支持的IEEEl588精確時(shí)間協(xié)議不需要額外硬件開(kāi)銷,同樣也是通過(guò)LAN傳送觸發(fā)信號(hào),靈活方便。所以對(duì)B類同步觸發(fā)精度的研究具有極大的現(xiàn)實(shí)意義。
2. 2 IEEEl588時(shí)間協(xié)議同步原理
IEEEl588又稱為精確同步時(shí)間協(xié)議(Precision Time Protocol,PTP),它在LXI儀器模塊中的實(shí)現(xiàn)是要求硬件和軟件共同支持,它的同步原理如下圖l所示。在由LXI儀器模塊所組成的ATS 中,IEEEl588時(shí)間協(xié)議同步的理想目標(biāo)是使分散在各個(gè)LXI儀器模塊中的時(shí)鐘達(dá)到絕對(duì)的一致,但由于同步誤差的存在,現(xiàn)實(shí)中只能接近這個(gè)理想值。這里將系統(tǒng)中的LXI設(shè)備分為主、從機(jī),基本同步原理是:在系統(tǒng)初始化階段,通過(guò)對(duì)主從機(jī)之間時(shí)鐘偏移量(offset)的測(cè)量修正主機(jī)和從機(jī)之間的時(shí)鐘偏差,在設(shè)定的時(shí)間間隔內(nèi)(一般默認(rèn)1~2s),主機(jī)循環(huán)發(fā)送一個(gè)唯一的同步信息到相關(guān)的從機(jī);主機(jī)測(cè)量發(fā)送的準(zhǔn)確時(shí)間,從機(jī)測(cè)量接收的準(zhǔn)確時(shí)間,之后從機(jī)發(fā)送攜有接收準(zhǔn)確時(shí)間信息的數(shù)據(jù)包至主機(jī),主機(jī)產(chǎn)生一個(gè)接收時(shí)間標(biāo)記,接收的時(shí)間在延遲響應(yīng)包中返回給從機(jī)。偏移測(cè)量和延遲(delay)測(cè)量完成了主機(jī)與各從機(jī)之間的同步,使系統(tǒng)使用統(tǒng)一的時(shí)鐘協(xié)調(diào)完成任務(wù)。
根據(jù)上述闡述,假設(shè)在主、從時(shí)鐘接發(fā)信息包的時(shí)刻分別為T1、T2、T3、T4、T5;主時(shí)鐘到從時(shí)鐘和從時(shí)鐘到主時(shí)鐘的延時(shí)間隔分別為delayl和delay2。詳見(jiàn)圖l。
故我們得到如下式子:
假設(shè)網(wǎng)絡(luò)是對(duì)稱的,即主機(jī)到從機(jī)和從機(jī)到主機(jī)的延時(shí)是一樣的,可以得到:
如此便得到了offset和delay。
2.3 同步誤差來(lái)源和糾正方法
分析整個(gè)同步過(guò)程,可以將誤差來(lái)源歸結(jié)為兩大類:a.系統(tǒng)或儀器內(nèi)部因素;b.系統(tǒng)或儀器外部因素。
內(nèi)部因素主要來(lái)自傳輸線路的延時(shí)、系統(tǒng)的網(wǎng)卡中斷的響應(yīng)、消息排隊(duì)等。從網(wǎng)絡(luò)和系統(tǒng)的角度看,可以將上述因素歸結(jié)為線路的不對(duì)稱性,從而直接影響到對(duì) offset和delay值的計(jì)算。offset和delay值是相互影響的,即得到準(zhǔn)確的offset值就同樣得到了準(zhǔn)確的delay值,所以可只研究 offset值。
在offset值的計(jì)算過(guò)程中,由于上述線路傳輸、路由功能、等待排隊(duì)等等現(xiàn)象的存在,導(dǎo)致對(duì)offset值的測(cè)量和計(jì)算結(jié)果有偏差。在此我們可以將上述誤差原因看作影響噪聲,故當(dāng)offset值初步穩(wěn)定(初始化后第一次同步時(shí)計(jì)算出來(lái)的offset值不定)后可以采用濾波算法將其濾除。當(dāng)進(jìn)行完晶振同步之后,可以簡(jiǎn)化理解為offset偏差直接反映傳輸線路的不對(duì)稱,即直接反應(yīng)內(nèi)部因素導(dǎo)致的誤差。
由于得到delay值后對(duì)offset值的計(jì)算是根據(jù)式(1)中的第一個(gè)式子得到,所以由圖2N分析可得,offset值可以比精確值偏大,也可以比精確值偏小,且從概率上來(lái)講應(yīng)為等概的,故可采用較為簡(jiǎn)單的均值濾波算法進(jìn)行平滑即可。
其次,引起誤差的外部因素主要來(lái)自環(huán)境對(duì)系統(tǒng)和儀器的影響和時(shí)間印章(時(shí)間戳)的準(zhǔn)確性,前者主要反映在晶振的速率上,而后者主要反映在IEEEl588時(shí)間協(xié)議的實(shí)現(xiàn)上。
在晶振速率方面,由于儀器的時(shí)鐘是由普通晶振提供的,所以環(huán)境(如溫度)的變化將極大地影響晶振的速率,常用品振精度不高,大概在100ppm左右,而對(duì)一般的LXI模塊則每隔2s進(jìn)行一次同步,那么可以計(jì)算得到兩個(gè)模塊之間最大的偏差是400μs,故不可忽略。通常高精度儀器的晶振可以安在恒溫槽中(如 OCXO),但考慮到成本和儀器簡(jiǎn)化等因素,采用晶振同步自適應(yīng)方法改進(jìn)。設(shè)R,R′分別為主機(jī)和從機(jī)的品振速率,△t表示兩次測(cè)量晶振速率的時(shí)間問(wèn)隔。那么分別計(jì)算一段時(shí)間內(nèi)每臺(tái)從機(jī)記錄的本地時(shí)鐘時(shí)間,然后從機(jī)與主機(jī)進(jìn)行比較來(lái)調(diào)整時(shí)鐘計(jì)數(shù)值,調(diào)準(zhǔn)方案如下式所示,M,N分別為存△t的時(shí)間間隔內(nèi)主從機(jī)的時(shí)鐘計(jì)數(shù)值。
為了使其更具自適應(yīng)能力,可以根據(jù)上述方法計(jì)算t1′,t2′…tn′多個(gè)時(shí)間點(diǎn)時(shí)鐘計(jì)數(shù)調(diào)整值,并據(jù)此由曲線擬合的方法得到下一時(shí)間段[tn′,tn+l′]內(nèi)的晶振速率,起到不斷校正品振偏差,使從機(jī)時(shí)鐘達(dá)到跟隨主機(jī)時(shí)鐘變化的目的。
實(shí)現(xiàn)IEEEl588(PTP)時(shí)鐘協(xié)議的方法有通過(guò)FPGA實(shí)現(xiàn)、通過(guò)集成有PTP協(xié)議的網(wǎng)絡(luò)收發(fā)芯片實(shí)現(xiàn)等幾種。通過(guò)FPGA實(shí)現(xiàn)的方法是最常用的,但方法繁瑣、實(shí)現(xiàn)精度不高。而最近出現(xiàn)的集成有PTP時(shí)鐘協(xié)議的實(shí)現(xiàn)方案方便快捷、實(shí)璣精度高,因此迅速被廣大設(shè)計(jì)者所接受。其硬件框圖如圖3所示。
在上述FPGA實(shí)現(xiàn)PTP的方案中,信息包加時(shí)間戳這一關(guān)鍵步驟也有幾種實(shí)現(xiàn)方法,每種方法產(chǎn)生不同的同步精度。見(jiàn)圖4所示。
在圖4中,最簡(jiǎn)單的IEEEl588實(shí)現(xiàn)包括在網(wǎng)絡(luò)協(xié)議堆棧頂端的應(yīng)用層加上通用的時(shí)間戳,實(shí)現(xiàn)過(guò)程中會(huì)出現(xiàn)最大的協(xié)議堆棧延遲波動(dòng),會(huì)產(chǎn)生最大偏差,這種情況下最差精度將被引入到時(shí)間戳中。并且在不同的操作系統(tǒng)中,偏差值會(huì)在幾百微秒到毫秒之問(wèn),嚴(yán)重影響同步精度。
第二種是在中斷層實(shí)現(xiàn)時(shí)間戳,其實(shí)現(xiàn)精度比應(yīng)用層更高,但實(shí)現(xiàn)難度也隨之增大。硬件輔助的方式可以得到最精確的同步時(shí)鐘,產(chǎn)生的時(shí)間戳和物理層總線上事件的非常接近。使用專用以太網(wǎng)收發(fā)芯片的實(shí)現(xiàn)方案就是以這種方法實(shí)現(xiàn)PTP協(xié)議的,從而為得到最高的同步精度打好堅(jiān)實(shí)基礎(chǔ)。
3 基于專用芯片DP83640的實(shí)現(xiàn)方案
通過(guò)上述的分析得知,基于專用網(wǎng)絡(luò)芯片的方案能獲得最高的實(shí)時(shí)同步精度,同時(shí)又能簡(jiǎn)化設(shè)計(jì)。其中DP83640就是其中的典型代表。
DP83640是NS公司在2007年推出的集成有IEEEl588時(shí)鐘協(xié)議的全新網(wǎng)絡(luò)收發(fā)芯片,它呈現(xiàn)如下三個(gè)關(guān)于IEEEl588的關(guān)鍵特性:信息包中包含用于時(shí)間同步的時(shí)間戳、IEEEl588時(shí)鐘產(chǎn)生器、通過(guò)GPIO口的同步事件觸發(fā)。并且NS公司還創(chuàng)新性地賦予了它獨(dú)特的特性,其中包括基于錯(cuò)誤預(yù)測(cè)的鏈接質(zhì)量動(dòng)態(tài)監(jiān)測(cè)等。
具體而言,DP83640的特點(diǎn)主要有:支持IEEE1588V1和V2;支持UDP/IPv4和UDP/IPv6;IEEEl588時(shí)鐘同步;8ns時(shí)間戳;12個(gè)觸發(fā)和捕獲IEEEl588的GPIO;可檢測(cè)的低的傳輸和接收時(shí)延;鏈接質(zhì)量動(dòng)態(tài)監(jiān)測(cè);全雙工/半雙工和10/100Mb/s傳輸;支持雙絞線和光纖接口等等。以上這些也保證了該芯片能很好地滿足B類LXI儀器的同步要求。DP83640的功能模塊框圖詳見(jiàn)圖5。
本方案中采用最為常見(jiàn)的基于ARM9核的S3C2410作為處理器,在數(shù)據(jù)的發(fā)送和接收端采用集成有IEEEl588的網(wǎng)絡(luò)收發(fā)芯片DP83640,兩者之間是MAC層芯片,這里選用AX88196。圖6給出的是S3C2410、AX88196和DP83640的主要連接框圖。在DP83640 中,TX_CLK、TXD[0..3]和TXD_EN共同構(gòu)成了以太網(wǎng)絡(luò)的數(shù)據(jù)發(fā)送接口。TX_CLK在100Mb/s模式下能輸出25MHz的時(shí)鐘信號(hào),在10Mb/s模式下則能輸出2.5MHz的時(shí)鐘信號(hào),該時(shí)鐘信號(hào)來(lái)源于25MHz的系統(tǒng)參考時(shí)鐘;同理,RX_CLK、RXD[0..3]、 RX_DV和RX_ER構(gòu)成了以太網(wǎng)絡(luò)的數(shù)據(jù)接收接口,其中不同的是RX_DV和RX_ER反映了接收數(shù)據(jù)的有效或錯(cuò)誤;COL則是用于網(wǎng)絡(luò)中碰撞檢測(cè)的。在處理器端,將地址總線、數(shù)據(jù)總線分別和MAC芯片的地址和數(shù)據(jù)總線相連,實(shí)現(xiàn)數(shù)據(jù)互通,詳見(jiàn)圖6。
在上述功能的軟件實(shí)現(xiàn)中,充分利用DP83640能提取數(shù)據(jù)包中的時(shí)間戳并發(fā)送給上層軟件的特點(diǎn),可在應(yīng)用程序的改計(jì)中方便地實(shí)現(xiàn)同步、觸發(fā)、延時(shí)響應(yīng)等功能。再利用上文分析的算法提高模塊的同步觸發(fā)精度。軟件流程見(jiàn)圖7。
在模塊初始化中,包含了主從時(shí)鐘的設(shè)定、外圍部件初始化(如DP83640初始化)等等。上文中提出的對(duì)offset值的濾波、品振速率的計(jì)算和晶振偏差自適應(yīng)算法也可利用上述框圖實(shí)現(xiàn),所不同的是兩者利用不同的數(shù)據(jù)和不同的子程序。
4 結(jié)束語(yǔ)
LXI儀器借助以太網(wǎng)的強(qiáng)大功能和web的靈活性,使得在ATS中實(shí)現(xiàn)遠(yuǎn)程式、分布式成為可能。LXI基本不受帶寬、軟件和背板插槽的限制。其更廣的覆蓋范圍、更好的繼承性能、更長(zhǎng)的生命周期和更低的成本使其具有更為廣闊的應(yīng)用與發(fā)展前景。其中B類儀器以其低廉的價(jià)格(相對(duì)于A類儀器)和較強(qiáng)的靈活性(相對(duì)于C類儀器),更能適應(yīng)市場(chǎng)的需求。加之采用本文所提出的方法能提高同步觸發(fā)精度和降低成本,使其具有更強(qiáng)的市場(chǎng)競(jìng)爭(zhēng)力。