關(guān)于工業(yè)網(wǎng)絡(luò)的精密時(shí)序問(wèn)題解析
工業(yè)網(wǎng)絡(luò)連接工廠內(nèi)的機(jī)器、機(jī)器人、傳感器、 執(zhí)行器、控制器和計(jì)算機(jī),以便于指令和數(shù)據(jù)的交換,從而同步它們的工作。網(wǎng)絡(luò)中機(jī)器的同步操作需要每個(gè)機(jī)器都有相同的“精密時(shí)間”。每臺(tái)機(jī)器上的精密時(shí)間 保證了網(wǎng)絡(luò)中事件的相對(duì)順序。缺乏精確的時(shí)間可能會(huì)導(dǎo)致機(jī)器和機(jī)器人操作順序混亂CONTROL ENGINEERING China版權(quán)所有,這反過(guò)來(lái)可能導(dǎo)致產(chǎn)品質(zhì)量差、重要信息丟失、甚至發(fā)生災(zāi)難性的事故。本文探討了工業(yè)網(wǎng)絡(luò)中的精密時(shí)序的必要性,以及各種應(yīng)用和機(jī)制所需的時(shí)間精度來(lái)確保以太網(wǎng)網(wǎng)絡(luò)中的時(shí)序精確性。
工業(yè)網(wǎng)絡(luò)
傳統(tǒng)的工業(yè)網(wǎng)絡(luò)使用專(zhuān)有的、特定供應(yīng)商提供的網(wǎng)絡(luò)技術(shù)連接工廠內(nèi)的機(jī)器和計(jì)算機(jī)。專(zhuān)有的網(wǎng)絡(luò)技術(shù)導(dǎo)致不同廠商機(jī)器之間的互操作困難,從而導(dǎo)致成本提高。然而,在過(guò)去的二十年,人們喜歡將應(yīng)用廣泛的以太網(wǎng)技術(shù)用于工廠內(nèi)的機(jī)器互連。在20世紀(jì)80年代和90年代,辦公網(wǎng)絡(luò)的急速發(fā)展使得開(kāi)放的以太網(wǎng)技術(shù)獲得了廣泛采用。以太網(wǎng)解決方案的規(guī)模和成熟性促成了行業(yè)標(biāo)準(zhǔn)的建立,實(shí)現(xiàn)了不同廠商設(shè)備之間的互操作性、提供了大量的技術(shù)人才、降低了設(shè)備成本和總擁有成本。
以太網(wǎng)網(wǎng)絡(luò)技術(shù)提供了前所未有的的可擴(kuò)展性和購(gòu)買(mǎi)可承受能力,但是它有一個(gè)嚴(yán)重的缺陷。為了保持網(wǎng)絡(luò)連接和設(shè)備的高利用率從而能降低成本,以太網(wǎng)技術(shù)采用基于需要的通信資源分配方式。從技術(shù)角度來(lái)看,這是被稱(chēng)為“異步”或“盡力而為”的通信方式。如上所述CONTROL ENGINEERING China版權(quán)所有,工業(yè)網(wǎng)絡(luò)的一個(gè)關(guān)鍵的需求是將精密時(shí)間分發(fā)到所有節(jié)點(diǎn)。在工廠中使用以太網(wǎng)進(jìn) 行機(jī)器同步的首要挑戰(zhàn)是建立一個(gè)機(jī)制,在不可預(yù)知的異步網(wǎng)絡(luò)中準(zhǔn)確地分發(fā)精密時(shí)序。這個(gè)可預(yù)測(cè)的精密時(shí)序分發(fā)機(jī)制被稱(chēng)為“精密時(shí)序協(xié)議(PTP),這將在 本文后面討論。PTP由IEEE標(biāo)準(zhǔn)“IEEE1588” (在不可預(yù)知的網(wǎng)絡(luò)中,可預(yù)測(cè)的維護(hù)精密時(shí)間的另一個(gè)術(shù)語(yǔ))定義,并且目前由該標(biāo)準(zhǔn)進(jìn)行維護(hù)。
相反,傳統(tǒng)的工業(yè)網(wǎng)絡(luò)中使用一個(gè)同步通信機(jī)制或一個(gè)單獨(dú)的專(zhuān)用網(wǎng)絡(luò),實(shí)現(xiàn)所有機(jī)器的精密時(shí)間的分發(fā)。這兩種機(jī)制都需要分配專(zhuān)用的資源來(lái)建立兩個(gè)節(jié)點(diǎn)之間的通信,從而導(dǎo)致了較低的設(shè)備利用率、降低了網(wǎng)絡(luò)的可擴(kuò)展性以及更高的總成本。異步以太網(wǎng)網(wǎng)絡(luò)中的精密時(shí)間分發(fā)所面臨的挑戰(zhàn)如圖1所示。

圖1:通過(guò)網(wǎng)絡(luò)的精密時(shí)間分發(fā)
時(shí)鐘準(zhǔn)確性和精度
幾乎所有的現(xiàn)代化機(jī)器、傳感器、 執(zhí)行器和計(jì)算機(jī)都有本地?cái)?shù)字時(shí)鐘。然而,這些本地時(shí)鐘是基于晶振的,隨著時(shí)間的推移,由于環(huán)境變化(溫度和濕度)和晶體老化而產(chǎn)生偏移。因此控制工程網(wǎng)版 權(quán)所有,在網(wǎng)絡(luò)中的本地時(shí)鐘需要定期使用一個(gè)非常精密的主時(shí)鐘或參考時(shí)鐘進(jìn)行同步。主時(shí)鐘是一個(gè)GPS接收機(jī)或者銣或銫時(shí)鐘。由于節(jié)點(diǎn)之間的通信速度成倍 增長(zhǎng),需要精度更高的時(shí)鐘來(lái)維持網(wǎng)絡(luò)中事件的相對(duì)順序。圖2說(shuō)明了時(shí)鐘準(zhǔn)確性和精度的概念。時(shí)鐘準(zhǔn)確性測(cè)量了與整個(gè)網(wǎng)絡(luò)參考時(shí)鐘之間的時(shí)間差。時(shí)鐘精密表 示測(cè)量到時(shí)間的可重復(fù)性?! ?/P>

圖2:時(shí)鐘準(zhǔn)確性和精度的定義
由于網(wǎng)絡(luò)中機(jī)器之間通信速度從Kbps增加到Mbps、Gbps和萬(wàn)兆比特每秒,連續(xù)事件之間的時(shí)間間隙變得微不足道。過(guò)去,工業(yè)時(shí)鐘需要毫秒級(jí)的精度;但是,隨著通信速度越來(lái)越快,工業(yè)時(shí)鐘需要微秒甚至納秒級(jí)的精度(圖3)?! ?/P>
圖3:隨數(shù)據(jù)速率的增加時(shí)鐘精度要求成倍增長(zhǎng)
表1(下頁(yè))列出了不同類(lèi)型網(wǎng)絡(luò)的精度要求。辦公網(wǎng)絡(luò)(局域網(wǎng))僅需一到十毫秒的本地時(shí)鐘精度。毫秒級(jí)的時(shí)鐘精密度可以使用稱(chēng)為網(wǎng)絡(luò)時(shí)序協(xié)議(NTP)的軟件協(xié)議很容易地實(shí)現(xiàn),該協(xié)議適用于操作系統(tǒng)(Windows和Linux)和局域網(wǎng),實(shí)現(xiàn)了辦公設(shè)備的互連。傳統(tǒng)的工業(yè)網(wǎng)絡(luò)要求本地機(jī)器時(shí)鐘與參考時(shí)鐘(或主時(shí)鐘)相差不到0.1微秒。傳統(tǒng)的工業(yè)網(wǎng)絡(luò)使用獨(dú)立的布線(xiàn)來(lái)分發(fā)參考時(shí)間并同步本地時(shí)鐘。新的數(shù)據(jù)密集型工業(yè)網(wǎng)絡(luò)要求極具成本效益的以太網(wǎng)網(wǎng)絡(luò)具有納秒級(jí)的時(shí)鐘精度。精密時(shí)序協(xié)議2.0版(PTP v2.0)設(shè)計(jì)用于為“盡力而為”型的以太網(wǎng)網(wǎng)絡(luò)提供納秒級(jí)的時(shí)鐘精度。PTP v2.0通過(guò)盡可能地接近網(wǎng)絡(luò)接口,在硬件中實(shí)現(xiàn)時(shí)間戳和同步算法,從而實(shí)現(xiàn)納秒級(jí)的時(shí)鐘精度。
表1:各種應(yīng)用所需的時(shí)鐘精度

精密時(shí)序協(xié)議2.0版(IEEE 1588 2.0版)
精密時(shí)序協(xié)議(PTP)的目的是在不需要一個(gè)單獨(dú)且昂貴的時(shí)序網(wǎng)絡(luò)的情況下,同步機(jī)器上的本地時(shí)鐘。PTP是一個(gè)自下而上協(xié)作的協(xié)議,其中本地 節(jié)點(diǎn)相互通信(通過(guò)消息交換)來(lái)發(fā)現(xiàn)它們中的主時(shí)鐘并且互相同步。由于PTP在數(shù)據(jù)網(wǎng)絡(luò)中工作,交換機(jī)、路由器和操作系統(tǒng)都有不同程度的延時(shí),它為“時(shí)序 數(shù)據(jù)包”排列優(yōu)先級(jí)或創(chuàng)建特定的隊(duì)列,其中包含同步的信息。為了消除操作系統(tǒng)和服務(wù)器引入的延遲,協(xié)議處理在硬件(FPGA或ASSP)中實(shí)現(xiàn),并對(duì)時(shí)序 數(shù)據(jù)包使用硬件時(shí)間戳。
精密時(shí)序協(xié)議的特性是使用協(xié)作的消息交換算法,從時(shí)鐘計(jì)算與主時(shí)鐘之間的“時(shí)間偏移”和“傳輸延遲”。圖4說(shuō)明了PTP的消息流,以確定“時(shí)鐘 偏移”和“傳輸延遲”。由于每個(gè)從時(shí)鐘都要計(jì)算兩個(gè)變量——偏移和延遲——主從時(shí)鐘需要交換兩組消息。首先,主時(shí)鐘定時(shí)地(通常每秒一次)向所有從時(shí)鐘廣 播時(shí)間同步數(shù)據(jù)包。其次,每個(gè)從時(shí)鐘向主時(shí)鐘發(fā)送“延遲請(qǐng)求”消息以確定“傳輸延遲”。兩組消息交換得到兩個(gè)線(xiàn)性方程,從而確定“從時(shí)鐘偏移”和“傳輸延 遲”。

圖4:確定主從時(shí)鐘之間偏移的機(jī)制
FPGA實(shí)現(xiàn)
實(shí)現(xiàn)精密時(shí)序協(xié)議要求在數(shù)據(jù)包一到達(dá)網(wǎng)絡(luò)接口卡(NIC)時(shí)就進(jìn)行捕捉并標(biāo)記時(shí)間戳。納秒級(jí)精度的分布式時(shí)鐘也需要在硬件中以最小變化執(zhí)行各種 同步步驟。帶有SERDES功能的現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)器件,如LatticeECP3FPGA器件提供了眾多的優(yōu)勢(shì),實(shí)現(xiàn)更接近網(wǎng)絡(luò)接口的精密 時(shí)序協(xié)議:
1.高速串行接口(SERDES),迅速捕捉時(shí)序數(shù)據(jù)包;
2.靈活和準(zhǔn)確的時(shí)鐘電路(PLL);
3.精度可以根據(jù)系統(tǒng)要求進(jìn)行調(diào)整;
4.用于存儲(chǔ)時(shí)序數(shù)據(jù)包的FIFO隊(duì)列,可以在FPGA結(jié)構(gòu)中靠近高速I(mǎi)/O模塊處實(shí)現(xiàn);
5.FPGA中的嵌入式硬件或軟件處理器,也可以用于實(shí)現(xiàn)精密時(shí)序協(xié)議;
6.不占用主CPU的外部PTP處理功能;
7.不斷發(fā)展的精密時(shí)序協(xié)議可以在靈活的FPGA平臺(tái)上實(shí)現(xiàn)輕松升級(jí)。
總結(jié)
工業(yè)環(huán)境中主流以太網(wǎng)網(wǎng) 絡(luò)的迅速普及需要使用精密時(shí)序技術(shù)來(lái)同步機(jī)器和機(jī)器人。精密時(shí)序協(xié)議(IEEE1588)提供了從亞微秒到納米秒級(jí)的同步精度。PTP的軟件實(shí)現(xiàn)提供了亞 微秒級(jí)以上的精度。時(shí)間戳和同步算法(PTP V2.0)的硬件實(shí)現(xiàn)可提供高達(dá)納秒級(jí)的精度。隨著通信數(shù)據(jù)傳輸速率的增加,所需的時(shí)序精度呈指數(shù)增長(zhǎng)。PTP v2.0能夠滿(mǎn)足最先進(jìn)的數(shù)控機(jī)床的嚴(yán)格時(shí)序要求。
評(píng)論