陳凌宇, 楊立志, 趙東林, 朱文亮
(1.國防科技大學 智能科學學院,湖南 長沙 410073;2.華中科技大學 機械科學與工程學院,湖北 武漢 430074)
現場總線作為可編程控制系統的“神經”,是實現系統主從站及末端設備數據信息傳遞的重要介質。在數控機床、機器人、醫療設備等對控制系統性能要求較高的領域中,現場總線的數據傳輸實時性和同步性是保證系統控制速度和精度的關鍵[1-2]。以太網總線是現場總線的一種,憑借其數據傳輸率高、數據吞吐量大等優勢成為工業現場總線的發展趨勢[3-4]。目前,國內大多數可編程控制系統采用EtherCAT,POWERLINK,PROFINET等國外實時以太網總線,對工業控制系統的信息安全造成了較大的隱患。因此,設計和開發具有高精度同步性能的自主可控實時以太網現場總線成為我國制造業發展的迫切需求。
以IEEE802.3有線以太網物理層和鏈路層標準為基礎,設計并集成符合工業自動化控制過程中數據傳輸特點的鏈路層協議(以下簡稱協議),是實現以太網總線通信的有效方法。以EtherCAT,PROFINET IRT,SERCOS 等為代表的實時以太網總線,通過對以太網數據鏈路層的MAC子層數據傳輸方法的定義,實現了數據傳輸的實時性[5-6]。國內實時以太網總線多采用FPGA+PHY的硬件結構,將協議以IP核的形式集成在FPGA中實現鏈路數據的傳輸控制。如NCUC-bus (GB/T29001)實時以太網總線[7]。鏈路層數據傳輸方法是協議的重要內容,大量研究對系統周期數據[8]、非周期數據[9]的實時傳輸調度問題進行優化,以提高通信效率。此外,在協議中集成以太網時鐘同步策略是保證系統進行高速協同控制的關鍵。多數研究基于IEEE1588精確時鐘同步協議,主要思想是通過時間戳計算傳播延時和時間偏移[10-11]。PARK等提出了一種通過估計總線上每個節點時間漂移的大小和符號并進行補償的方式,顯著降低了EtherCAT總線的同步誤差[12]。CHOI等提出了一種分布式異步時鐘同步協議,利用網絡中各節點的相對時間信息對時間誤差進行補償,提高了時間收斂速度[13]。EXEL等針對分布式時鐘中線路傳輸不對稱的問題,提出了基于線交換和高精度時間戳的方法,可將時鐘偏移減小到120 ps[14],但是這種方法較為復雜且需要硬件支持。
本文以NCUC線型級聯網絡拓撲架構為基礎,對NCUC總線的系統構成及原理進行了全面的分析。在此基礎上,對工業控制系統時間敏感與非敏感數據傳輸機制進行分析與設計,形成了各類數據的通道傳輸機制,并提出了一種通道映射方法,提升了數據傳輸效率。針對系統時鐘同步問題,分析了以太網總線通信延時的原因。通過建立時鐘補償模型,采用時間戳的方式對總線各節點時鐘進行測量和補償,形成了基于分布式時鐘的以太網總線同步方法。最后,以國產FPGA為平臺構建實驗平臺,對總線通信性能進行了測試,驗證了所提出的實時以太網控制器的實時性與同步性。
在總線式可編程控制系統中,主站與各功能從站通過現場總線相連以實現主從設備之間的數據交換。由于線型總線的同步性能優于其他以太網總線,集成NCUC協議的控制器芯片(以下簡稱NCUC控制器)采用線型級聯的方式嵌入各從站控制器中。通過對以太網物理層數據流的讀寫控制和鏈路層數據處理,實現了在線型級聯網絡拓撲結構下主站與各從站的高速、同步通信功能[15]。拓撲結構如圖1所示,主站通過以太網接口將網絡數據發送至從站1的端口1,NCUC控制器對數據進行處理后由端口2發出;從站2的端口1接收到從站1發出的數據后,通過端口2發送至下一從站;直到最后一個從站N接收到數據后,直接通過端口2返回至主站。

圖1 NCUC線型級聯網絡拓撲架構原理Fig.1 Schematic diagram of NCUC linear cascade network topology
在可編程控制系統中,主站多采用高性能工業計算機。通過改造網口協議,可靈活地管理整個實時通信網絡。而從站需要將NCUC控制器集成在嵌入式電路板中,通過搭建以太網相關的物理層、鏈路層相關電路來實現網絡通信。
從站的硬件結構原理如圖2所示。網絡數據傳輸以工業以太網5類雙絞線為介質,通過從站M12工業連接器1進入從站。網絡變壓器采用普斯電子的HX_1188_NL,用于實現信號隔離,保護內部電路安全。隔離后的網絡信號采用微芯公司百兆以太網收發器LAN8710Ai進行收發處理,與NCUC控制器通過MII(Medium Independent Interface)接口相連。NCUC控制器采用國產京微齊力公司的HME-P1P060N0TF784C(以下簡稱P1)大容量FPGA,對PHY接收數據進行協議棧處理。信息處理結束后,NCUC控制器將待發送數據通過PHY收發器2、隔離變壓器2、M12工業連接器2發送至以太網總線。此外,從站應用MCU為京微齊力SoC芯片HMEM7A12N0F484I7(以下簡稱M7)。其中,集成了不同的應用層功能,主要實現數字量IO、模擬量IO、伺服控制和通信轉換等。NCUC控制器與應用MCU之間通過片上高速PDI接口實現數據傳輸。

圖2 從站硬件結構原理Fig.2 Schematic diagram of slave hardware
NCUC控制器中集成鏈路層數據通信傳輸、協議解析、網絡冗余和時鐘同步等功能,是實現總線傳輸協議的核心器件。此外,NCUC控制器還提供片間PDI異步通信接口,便于實現應用層功能的MCU訪問。圖3顯示了集成NCUC控制器的內部功能結構。

圖3 NCUC控制器功能結構原理Fig.3 Schematic diagram of functional structure of NCUC controller
NCUC控制器中,兩個獨立的NMI接口模塊對物理層PHY收發器進行讀寫操作。NMI接口模塊分別與兩個具有時間戳與計數功能的端口相連,各端口在網絡數據讀寫時,將時間戳信息寫入網絡幀,這對同步控制算法的實現起到了重要的作用。接收到的網絡幀信息根據幀類型的不同,由數據處理模塊進行透傳、讀取數據、寫入數據和協議棧等操作。NCUC協議相關的配置以及收發數據存放在寄存器區間內。為提高數據處理速度,在數據處理模塊和寄存器區間設置數據緩沖模塊。設計并行異步通信接口,以滿足外部MCU控制器對內部寄存器中NCUC配置區、接收數據區和發送數據區的操作。在NCUC控制器接收到有效的通信數據后,中斷產生模塊將立刻產生IRQ跳沿信號,表明通信數據接收成功。同步產生模塊則會根據各從站同步時間補償的不同進行延時,當所有從站都接收到數據后同步產生SYNC跳沿。MCU可根據SYNC信號進行精準的同步控制。
在NCUC控制器中,寄存器是實現NCUC通信管理、同步設置及數據交換的重要模塊。主站通過網絡對從站寄存器進行操作,從站則通過PDI數據接口對寄存器進行訪問。所以,寄存器是連接主站與從站的數據存儲橋梁。寄存器模塊由64 kB空間的雙口RAM構成,其中2 kB為管理空間,用于通信和同步相關配置、管理和監控;另外62 kB為數據空間,用于存放接收的網絡數據和需要發送的數據。寄存器的空間結構如表1所示。

表1 NCUC控制器內部寄存器存儲空間說明Tab.1 Description of internal memory storage space of NCUC controller
實時以太網數據以標準IEEE802.3以太網幀為傳輸載體,通過對標準以太網幀結構的重定義形成了一種高效傳輸的幀結構。NCUC網絡幀結構如圖4所示。保留長度為14字節的IEEE802.3標準以太網幀頭中目標的MAC地址和源MAC地址信息,將2字節的幀類型寫入固定值0x8888,該幀為NCUC網絡幀。將標準以太網幀46-1500字節的數據區分為2字節的NCUC幀頭區和44-1498字節的數據區。其中,NCUC幀頭由索引值、版本號、循環圈數和循環標志位構成。此外,NCUC數據區可根據定義分為若干個報文區間,每個NCUC報文對應總線上某個從站的下發數據或是上傳數據。報文數據區間可根據傳輸數據大小自由定義數據長度。如果NCUC幀頭與報文總長度小于46字節,則需要在報文之后補0~46字節。最后,將標準以太網幀4字節的FCS校驗作為幀尾。

圖4 NCUC網絡幀結構定義Fig.4 Definition of NCUC network frame structure
網絡幀提供了寄存器訪問、通道地址訪問、通道映射、產生時間戳、同步/復位幀、32位時鐘補償,以及64位時鐘補償7種類型的報文。主站可通過網絡幀的功能靈活地將所需的報文組幀,形成不同功能的網絡幀。各報文功能如下:
(1)寄存器訪問報文:用于讀寫寄存器單元。
(2)通道地址訪問報文:按通道地址的方式讀寫數據傳輸通道。
(3)通道映射訪問報文:采用通道映射的方式對所映射的通道進行讀寫。
(4)產生時間戳報文:使各從站NCUC控制器產生收發幀的時間戳。
(5)同步/復位幀報文:用于啟動或復位同步幀命令。
(6)32位時鐘補償報文:進行精度為32位的分布式時鐘補償。
(7)64位時鐘補償報文:進行精度為64位的分布式時鐘補償。
數據通道是網絡數據傳輸的重要方式,通過對傳輸數據結構、類型和長度等條件的設置,可實現通信數據塊的高速傳輸。在實際應用中,通信數據根據其用途可分為多種,這些數據對通信傳輸的要求也存在差異[9]。針對可編程控制系統的數據傳輸需求,在NCUC實時以太網控制器中設計服務數據、過程數據和FIFO數據通道。
服務數據通道主要用于傳輸協議或非實時數據。協議數據除了所傳輸的數據內容外,還集成了握手、應答等協議內容。在數據傳輸過程中,對主從站數據問答的有效性提出很高的要求,但對時間并不敏感。通過操作寄存器中服務數據通道區(0x0180-0x01FF),可在寄存器62 kB的通道數據區中開辟一個RAM塊,作為服務數據通道。為保證服務通道中協議數據傳輸的可靠性,設計如圖5所示的狀態轉移模型。在處于狀態0時,通道中無可讀的最新數據,產生寫中斷信號等待數據寫入。主站/從站根據寫中斷信號發送協議數據,向通道中寫入第一字節數據后,通道狀態切換至狀態1,表示主站/從站正在寫入。此時,寫中斷標志位復位,不再接收其他寫操作。當主站/從站協議數據依次寫入通道后,通道狀態跳轉至狀態2并產生讀中斷信號,表示此時數據已經完全寫入,從站/主站可以進行數據讀取。從站/主站讀取第一字節后,通道狀切換至狀態3并清除讀中斷標志,不再允許其他讀操作讀取通道數據。從站/主站逐字節讀完通道中所有數據后,通道跳轉至狀態0,產生寫中斷信號并等待下一次寫入。這種依次讀寫的通道操作模式,雖然占用了通道數據傳輸的時間資源,但可保證協議數據在主從站之間有效、可靠的傳遞。

圖5 服務數據通道狀態轉移模型Fig. 5 Service data channel state transition model
過程數據通道主要用于實時數據傳輸。實時數據是自動控制過程中產生的指令及反饋信息,這些數據會隨時間周期不斷的更新。通信數據使用方主要關心的是數據實時性。因此,數據的周期性更新是保證實時性的重點。通過配置寄存器的過程數據通道區(0x0200-0x02BF),可在通道數據區中開辟相同的3個連續的RAM塊,作為過程數據通道。過程數據通道狀態轉移模型如圖6所示。通道的寫操作和讀操作分別針對待寫區和讀出區進行,中間的緩存區用于緩存數據。這種讀寫區域分離的方式,使通道永遠處于寫入狀態,保證了周期性數據寫入的有效性。待寫區數據寫入完成后,產生讀中斷信號。此時,讀出區由緩存區數據填充,保證讀出的數據為最新寫入的數據。如果上次數據尚未讀出完成就寫入了新的數據,則會導致上次數據被本次數據覆蓋。這種讀寫區域分離的過程通道操作模式,能夠保證實時數據的高效傳輸,但需要對讀寫操作時序進行一定的約束。

圖6 過程數據通道狀態轉移模型Fig.6 Transition model of process data channel state
制造裝備智能化對圖像、視頻等大容量數據的實時傳輸提出了要求。由于數據容量極大,一般的總線數據傳輸通道可能無法進行完整存儲。設計FIFO數據通道,允許設備同時對其進行讀寫,極大地節省了數據的緩存空間。配置寄存器FIFO數據通道區(0x02C0-0x02FF),可在通道數據區中開辟1個盡可能長的RAM塊(大于1 kB),作為FIFO通道。其狀態轉移模型如圖7所示。狀態0表示當前通道為空狀態,僅允許數據寫入。只要通道被寫入數據,則通道狀態跳轉到狀態1并置位讀中斷,表示通道為非空非滿狀態,可讀可寫。在狀態1時,如果通道數據被讀空則通道狀態回到狀態0并復位讀中斷;若通道被寫滿,則跳轉至狀態2并復位寫中斷,表示通道已滿不可寫入。此時,只要存在數據讀出,則置位寫中斷并跳轉至狀態1,可讀可寫。

圖7 FIFO通道狀態轉移模型Fig.7 Transition model of FIFO channel state
通道機制有效地保證了實際系統中各類型數據傳輸的可靠性,同時,也降低了通信時有效數據的傳輸效率。在總線系統中,主站與從站都存在數據通信需求,這表明每個從站至少需要開辟1個通道進行數據讀取或數據發送。而每開辟1個通道,主站需要增加一個報文,從而增加了報頭和應答這類無效數據,如圖4所示。無效數據加重了網絡傳輸的數據量,降低了有效數據的傳輸效率。
本文采用通道映射的方式,將同類型的報文進行合并,共用一個報頭和一個應答中斷。主站將各從站的通道數據在整個報文中的映射信息,如映射編號、起始地址、通道號、數據長度、通道內起始地址等信息保存。每個從站則將自身相關的映射信息保存在NCUC控制器中。如此,主從站可以根據已有的映射信息,讀寫合并報文的網絡幀數據。

圖8 通道映射工作原理Fig.8 Working principle of channel mapping
圖8顯示了通道映射的工作原理。在一主多從的總線式系統中,每一網絡幀需要裝載主站對各個從站的發送數據以及各個從站返回至主站的狀態信息。將主站下發到N個從站的N個報文合并為一個讀映射報文,從站所有上傳報文合并為一個寫映射報文,讀寫映射報文按圖4中通道映射報文結構進行組合。在收發網絡數據幀時,通過映射編號、映射啟停控制、讀寫控制、報文內起始地址、通道號、數據長度、通道內起始地址,使映射過程有效。具體操作過程如下:
(1)從站根據映射編號在網絡幀中尋找符合此編號的報文,在映射器啟動的情況下進行讀寫控制判斷。若讀寫操作為讀,則從網絡幀中讀取數據至通道;若為寫,則需要將對應通道的內容寫入報文相應位置。
(2)在讀寫控制為讀時,從站根據報文內起始地址、數據長度參數找到報文中具體的待讀數據區域,讀出后順序寫入相應通道號中以通道內起始地址開始的區域。
(3)在讀寫控制為寫時,從站根據通道號、通道內起始地址、數據長度參數將對應通道中的數據取出,并寫入與映射編號、報文內起始地址相應的報文區域。
通道映射的方式,可在多類數據同時傳輸時極大地提高通信效率。假設系統中有N個從站,每個從站讀通道和寫通道數據長度為R_len和S_len字節。根據NCUC以太網幀結構,采用通道地址訪問時通信效率ηc為:

由式(1)和式(2)可知,無論從站個數多少,ηm始終大于ηc,且從站數量越多,則通道映射機制的通信效率越高。例如,采用CANopen應用層協議,每個從站開辟4組PDO,其讀寫通道數據長度各為40字節。當網絡幀數據長度達到規定極限時,通道地址訪問通信效率為67.7%,而映射通信效率為96.2%。
在線型級聯的網絡拓撲結構中,主站發送的通信數據幀需要依次經過各從站,導致各從站接收同一通信數據幀存在延時[10]。圖9顯示了兩個相鄰的從站通信延時原理。數據幀傳輸到達從站A的端口0接收端P0_RX,NCUC控制器對數據幀進行讀取并由端口1發送端P1_TX發出。由于通信線纜長度對通信數據傳輸的延時,經過線間延時后從站B的P0_RX接收到數據幀。因此,從站A與從站B的端口0接收到數據幀的時間延時為delayLAB。其中,包括從站A開始處理P0_RX數據到P1_TX發送時間delayCA01,以及從站AB之間通信線纜的線間傳輸延時delay-LAB。另外,數據幀由系統最后一個從站返回后由從站B的P1_RX接收,經過從站B的站內處理延時delayCB10和線間傳輸延時delayLBA后至從站A的P1_RX接口。

圖9 相鄰的兩個從站間通信延時示意圖Fig. 9 Schematic diagram of communication delay between two adjacent slave stations
以上分析表明,通信延時原因包括數據幀在通信介質中的傳輸時間造成的線間傳輸延時,以及各從站對數據幀的處理轉發造成的站內處理延時。
準確的測量線間傳輸延時和站內處理延時時間并進行補償是實現從站同步的基本思想。但在總線式系統中,由于各從站上電時間、時鐘源都存在偏差,無法直接地測量通信延時[16]。這里以主站相連的第一地從站為參考從站,測量各從站與參考從站的通信時間延時,作為各從站延時的補償值。具體測量形式是通過在數據幀中加入時間戳報文的方式,記錄數據幀在各從站端口接收與發送的本地時間,以及數據幀在從站內部處理時間,對通信延時進行測量。
建立線型級聯網絡傳輸延時模型如圖10所示。時間戳報文在抵達從站后以該從站本地時鐘為基準,記錄抵達接收端口的時間和離開發送端口的時間,為通信延時測量提供重要依據。因此,定義變量tNR0,tNR1分別為包含時間戳報文的通信幀抵達從站N接收端口0和端口1的時間,tNT1,tNT0分別為通信幀離開端口T1和T0的時間。通信幀在從站N內正向傳輸的站內處理延時為D_CNP,反向站內延時為D_CNR。通信幀由從站A端口發出,到從站B端口接收的線間傳輸延時為D_LAB。通過模型分析,分別對各從站時鐘的線間傳輸延時和站內處理延時進行計算和補償。

圖10 線型級聯網絡的傳輸延時模型Fig.10 Transmission delay model of linear concatenated network
4.2.1 線間傳輸延時計算
從站之間通信雙絞線的長度和環境條件一致,因此可假設通信線纜上往返傳輸延時相等。則對于相鄰的從站0和從站1,有如下關系:

由于時間戳報文在各從站之間記錄的時間參考時鐘不同,假設從站1與從站0的時間偏差為offset10,則從站0和從站1的線間傳輸延時可表示為:

將式(3)代入式(4),則可得到從站0與從站1的線間傳輸延時為:

一般地,對于一個有N+1個從站的系統,從站i到參考從站(從站0)的線間延時可以通過計算從站0到從站i的所有線間傳輸延時總和,即:

其中:i為大于或等于1的正整數,j=i-1。
4.2.2 站內處理延時計算
當通信幀抵達從站時,接收端PHY的讀信號有效時,NCUC控制器以本地時鐘開始計數,直到發送端PHY的寫信號有效為止。根據通信幀延時處理模型,任意從站i的站內處理延時可計算為:

一般來說,通信幀由從站N返回至主站的過程,各從站采用轉發的處理方式并不進行有效的數據處理,故進行補償時僅考慮D_CiP。在一個有N+1個從站的系統中,從站i到參考從站的所有站內延時D_C0i為:

根據式(6)、式(8)的計算結果,容易得到從站i與參考從站的通信延時。主站則可以通過寄存器訪問報文將各從站的線間傳輸延時和站內處理延時寫入各從站寄存器中,用于補償通信幀延時。
前文以參考從站時鐘為基準,采用時間戳報文對各從站通信延時進行了測量和補償。但是,這種基于各從站本地時鐘的測量結果會因各從站時鐘源的偏差導致誤差。要達到各從站的高精度同步,必須對各從站時鐘進行同步處理。
由于各從站上電時間和時鐘源的差異,各從站的實際時間變化如圖11所示[12]。在任意時間t0時刻,本地時鐘和參考時鐘的差異為Coffset。顯然,Coffset是隨時間變化的函數,本文所提出的分布式時鐘同步方法則是以較短的周期實時測量Coffset,并對本地時鐘進行補償,使所有從站的時鐘向參考時鐘看齊。

圖11 時鐘模型Fig.11 Clock model
將圖11中的時鐘模型分為若干個相等的Δt區間,如果區間足夠小,則可將時鐘模型的本地時鐘與參考時鐘變換曲線近似為直線。根據直線的函數表達式可知,造成兩條直線差異的影響因素為變化率和偏移值,在時鐘模型中分別成為時鐘漂移和時鐘偏移。因此,建立圖12所示的時鐘補償模型,周期性地對本地時鐘進行漂移補償和偏移補償,使本地時鐘與參考時鐘曲線重合,從而達到時鐘同步的目的。

圖12 時鐘補償模型Fig.12 Clock compensation model
4.3.1 時鐘偏移補償
根據式(4),從站1與從站0的時鐘時間偏差Coffset10可以通過時間戳的方式進行測量得到:

將式(9)擴展到任意相鄰的兩個從站,即從站i和從站j的時間偏差Coffsetij為:

由于從站0為參考從站,則從站1的本地時鐘與參考時鐘的偏差為Coffset10。一般地,在N+1個從站系統中,從站i的本地時鐘與參考時鐘偏差可表示如下:

4.3.2 時鐘漂移補償
在線型級聯網絡中,本地時鐘與參考時鐘的變化率無法直接測量,但通過二者的時鐘偏移值Coffset的變化率可以間接地補償時鐘漂移[10]。
假設在圖12的時鐘補償模型中,本地時鐘c1(t)和參考時鐘c2(t)的表達式如下:

其中:k1和k2分別為本地時鐘和參考時鐘曲線的變化率,a1和a2分別為兩時鐘曲線在t=0時刻的初值。
根據時鐘偏移值定義容易得到:

對式(13)求導,得到的時鐘偏移值變化率Roffset是本地時鐘曲線和參考時鐘曲線變化率的差值,如下:

設置漂移補償因子fd。當Roffset>0時,表明本地時鐘相比參考時鐘向正向漂移,需要將k1減小fd;反之,則表明本地時鐘相比參考時鐘向負向漂移,將k1增加fd。具體補償方法如下:

在正常的網絡通信過程中,各從站接收到通信幀后利用式(11)、式(15)對各自本地時鐘進行偏移和漂移補償,使各從站時鐘與參考從站時鐘一致。然后,利用式(6)、式(8)對通信傳輸過程中的線間延時和站內延時進行補償,實現基于分布式時鐘的以太網通信同步。
本節搭建總線式控制系統,通過幾組實驗對實時以太網總線的通信性能進行測試。
構建典型的總線式控制系統如圖13所示。為保證系統處理能力,主站采用ATOM處理器,利用通用的以太網接口將3個數字量IO從站相連,形成典型的工業現場末端設備的控制網絡。在集成開發環境中編寫符合IEC61131-3的邏輯代碼,編譯后通過標準以太網接口下載到主站中,作為主站邏輯控制的程序組織單元(POU)。主站采用Modbus協議與組態設備相連,通過組態監控終端實現控制系統的人機交互。此外,從站采用P1+M7的硬件結構,P1中集成NCUC控制器IP核實現網絡數據收發,M7中集成CANopen設備控制及操作子協議,并通過P1的異步數據接口實現控制指令接收與設備狀態發送。
采用圖13所示的總線式控制系統,在自研的軟件集成開發環境FX_PLC Developer中編寫IEC61131-3邏輯代碼并下載到主站,對NCUC總線上各從站數字量輸出接口進行操作。

圖13 典型的總線式控制系統架構Fig.13 Typical fieldbus control system architecture
5.2.1 通信數據傳輸實時性測試
考慮到百兆以太網鏈路的傳輸極限以及CANopen應用層協議的數據傳輸機制對通信周期的約束。分別設置主站通信周期為1 000,500,250 μs,并按通信周期向各從站發送數字量輸出口電平翻轉指令。通過示波器觀察各從站數字量輸出口電平的變化。在圖14中,各從站電平翻轉呈現周期性,且與主站通信周期一致。測試結果表明,以CANopen作為系統應用層協議時,NCUC總線對系統的最小控制周期可達250 μs。
5.2.2 總線同步精度測試


圖14 NCUC以太網總線通信周期測試結果Fig.14 Test results of NCUC ethernet bus communication cycle
NCUC控制器SYNC信號是通過時鐘同步補償后的基準信號,各從站SYNC信號的時間誤差反映了NCUC控制器同步性能的優劣。將系統各從站SYNC信號引入示波器,在系統正常建立通信后觀察SYNC信號的變化。圖15中,從站2和從站3與參考從站的SYNC信號分別相差27,32 ns。這表明在三從站系統中,NCUC實時以太網同步時間誤差在50 ns量級。

圖15 NCUC以太網總線同步精度測試結果Fig.15 Test result of NCUC ethernet bus synchronization accuracy
本文針對可編程控制系統中高性能現場總線的自主可控問題,以NCUC實時以太網總線為基礎,利用國產大容量FPGA芯片為平臺搭建了FPGA+PHY的通用以太網硬件架構,針對網絡數據傳輸特點設計了以太網控制器的內部功能結構。為了提高網絡數據的傳輸效率,對網絡幀結構及通道數據傳輸方法進行了研究,提出了一種通道映射的方法,使多節點系統中網絡數據的傳輸效率得到極大提升。通過分析實時以太網的傳輸原理,總結了各從站節點通信幀傳輸不同步的原因。建立了線型級聯網絡數據幀傳輸延遲模型,提出了各從站通信延時補償方法。此外,采用分布式時鐘同步的方法,對各從站本地時鐘相對參考時鐘的漂移和偏移進行了補償,使系統各從站時鐘達到同步。最后,通過實驗對總線通信速率和同步精度進行測試。結果表明,本文設計的實時以太網總線的最小通信周期為250 μs,同步精度小于50 ns,達到國際先進水平。