• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      實(shí)時(shí)以太網(wǎng)總線控制器設(shè)計(jì)

      2023-02-06 14:07:18陳凌宇楊立志趙東林朱文亮
      光學(xué)精密工程 2023年1期
      關(guān)鍵詞:以太網(wǎng)延時(shí)報(bào)文

      陳凌宇, 楊立志, 趙東林, 朱文亮

      (1.國防科技大學(xué) 智能科學(xué)學(xué)院,湖南 長沙 410073;2.華中科技大學(xué) 機(jī)械科學(xué)與工程學(xué)院,湖北 武漢 430074)

      1 引 言

      現(xiàn)場總線作為可編程控制系統(tǒng)的“神經(jīng)”,是實(shí)現(xiàn)系統(tǒng)主從站及末端設(shè)備數(shù)據(jù)信息傳遞的重要介質(zhì)。在數(shù)控機(jī)床、機(jī)器人、醫(yī)療設(shè)備等對控制系統(tǒng)性能要求較高的領(lǐng)域中,現(xiàn)場總線的數(shù)據(jù)傳輸實(shí)時(shí)性和同步性是保證系統(tǒng)控制速度和精度的關(guān)鍵[1-2]。以太網(wǎng)總線是現(xiàn)場總線的一種,憑借其數(shù)據(jù)傳輸率高、數(shù)據(jù)吞吐量大等優(yōu)勢成為工業(yè)現(xiàn)場總線的發(fā)展趨勢[3-4]。目前,國內(nèi)大多數(shù)可編程控制系統(tǒng)采用EtherCAT,POWERLINK,PROFINET等國外實(shí)時(shí)以太網(wǎng)總線,對工業(yè)控制系統(tǒng)的信息安全造成了較大的隱患。因此,設(shè)計(jì)和開發(fā)具有高精度同步性能的自主可控實(shí)時(shí)以太網(wǎng)現(xiàn)場總線成為我國制造業(yè)發(fā)展的迫切需求。

      以IEEE802.3有線以太網(wǎng)物理層和鏈路層標(biāo)準(zhǔn)為基礎(chǔ),設(shè)計(jì)并集成符合工業(yè)自動(dòng)化控制過程中數(shù)據(jù)傳輸特點(diǎn)的鏈路層協(xié)議(以下簡稱協(xié)議),是實(shí)現(xiàn)以太網(wǎng)總線通信的有效方法。以EtherCAT,PROFINET IRT,SERCOS 等為代表的實(shí)時(shí)以太網(wǎng)總線,通過對以太網(wǎng)數(shù)據(jù)鏈路層的MAC子層數(shù)據(jù)傳輸方法的定義,實(shí)現(xiàn)了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性[5-6]。國內(nèi)實(shí)時(shí)以太網(wǎng)總線多采用FPGA+PHY的硬件結(jié)構(gòu),將協(xié)議以IP核的形式集成在FPGA中實(shí)現(xiàn)鏈路數(shù)據(jù)的傳輸控制。如NCUC-bus (GB/T29001)實(shí)時(shí)以太網(wǎng)總線[7]。鏈路層數(shù)據(jù)傳輸方法是協(xié)議的重要內(nèi)容,大量研究對系統(tǒng)周期數(shù)據(jù)[8]、非周期數(shù)據(jù)[9]的實(shí)時(shí)傳輸調(diào)度問題進(jìn)行優(yōu)化,以提高通信效率。此外,在協(xié)議中集成以太網(wǎng)時(shí)鐘同步策略是保證系統(tǒng)進(jìn)行高速協(xié)同控制的關(guān)鍵。多數(shù)研究基于IEEE1588精確時(shí)鐘同步協(xié)議,主要思想是通過時(shí)間戳計(jì)算傳播延時(shí)和時(shí)間偏移[10-11]。PARK等提出了一種通過估計(jì)總線上每個(gè)節(jié)點(diǎn)時(shí)間漂移的大小和符號并進(jìn)行補(bǔ)償?shù)姆绞?,顯著降低了EtherCAT總線的同步誤差[12]。CHOI等提出了一種分布式異步時(shí)鐘同步協(xié)議,利用網(wǎng)絡(luò)中各節(jié)點(diǎn)的相對時(shí)間信息對時(shí)間誤差進(jìn)行補(bǔ)償,提高了時(shí)間收斂速度[13]。EXEL等針對分布式時(shí)鐘中線路傳輸不對稱的問題,提出了基于線交換和高精度時(shí)間戳的方法,可將時(shí)鐘偏移減小到120 ps[14],但是這種方法較為復(fù)雜且需要硬件支持。

      本文以NCUC線型級聯(lián)網(wǎng)絡(luò)拓?fù)浼軜?gòu)為基礎(chǔ),對NCUC總線的系統(tǒng)構(gòu)成及原理進(jìn)行了全面的分析。在此基礎(chǔ)上,對工業(yè)控制系統(tǒng)時(shí)間敏感與非敏感數(shù)據(jù)傳輸機(jī)制進(jìn)行分析與設(shè)計(jì),形成了各類數(shù)據(jù)的通道傳輸機(jī)制,并提出了一種通道映射方法,提升了數(shù)據(jù)傳輸效率。針對系統(tǒng)時(shí)鐘同步問題,分析了以太網(wǎng)總線通信延時(shí)的原因。通過建立時(shí)鐘補(bǔ)償模型,采用時(shí)間戳的方式對總線各節(jié)點(diǎn)時(shí)鐘進(jìn)行測量和補(bǔ)償,形成了基于分布式時(shí)鐘的以太網(wǎng)總線同步方法。最后,以國產(chǎn)FPGA為平臺構(gòu)建實(shí)驗(yàn)平臺,對總線通信性能進(jìn)行了測試,驗(yàn)證了所提出的實(shí)時(shí)以太網(wǎng)控制器的實(shí)時(shí)性與同步性。

      2 系統(tǒng)構(gòu)成及原理

      2.1 NCUC網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

      在總線式可編程控制系統(tǒng)中,主站與各功能從站通過現(xiàn)場總線相連以實(shí)現(xiàn)主從設(shè)備之間的數(shù)據(jù)交換。由于線型總線的同步性能優(yōu)于其他以太網(wǎng)總線,集成NCUC協(xié)議的控制器芯片(以下簡稱NCUC控制器)采用線型級聯(lián)的方式嵌入各從站控制器中。通過對以太網(wǎng)物理層數(shù)據(jù)流的讀寫控制和鏈路層數(shù)據(jù)處理,實(shí)現(xiàn)了在線型級聯(lián)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下主站與各從站的高速、同步通信功能[15]。拓?fù)浣Y(jié)構(gòu)如圖1所示,主站通過以太網(wǎng)接口將網(wǎng)絡(luò)數(shù)據(jù)發(fā)送至從站1的端口1,NCUC控制器對數(shù)據(jù)進(jìn)行處理后由端口2發(fā)出;從站2的端口1接收到從站1發(fā)出的數(shù)據(jù)后,通過端口2發(fā)送至下一從站;直到最后一個(gè)從站N接收到數(shù)據(jù)后,直接通過端口2返回至主站。

      圖1 NCUC線型級聯(lián)網(wǎng)絡(luò)拓?fù)浼軜?gòu)原理Fig.1 Schematic diagram of NCUC linear cascade network topology

      2.2 NCUC控制器硬件結(jié)構(gòu)

      在可編程控制系統(tǒng)中,主站多采用高性能工業(yè)計(jì)算機(jī)。通過改造網(wǎng)口協(xié)議,可靈活地管理整個(gè)實(shí)時(shí)通信網(wǎng)絡(luò)。而從站需要將NCUC控制器集成在嵌入式電路板中,通過搭建以太網(wǎng)相關(guān)的物理層、鏈路層相關(guān)電路來實(shí)現(xiàn)網(wǎng)絡(luò)通信。

      從站的硬件結(jié)構(gòu)原理如圖2所示。網(wǎng)絡(luò)數(shù)據(jù)傳輸以工業(yè)以太網(wǎng)5類雙絞線為介質(zhì),通過從站M12工業(yè)連接器1進(jìn)入從站。網(wǎng)絡(luò)變壓器采用普斯電子的HX_1188_NL,用于實(shí)現(xiàn)信號隔離,保護(hù)內(nèi)部電路安全。隔離后的網(wǎng)絡(luò)信號采用微芯公司百兆以太網(wǎng)收發(fā)器LAN8710Ai進(jìn)行收發(fā)處理,與NCUC控制器通過MII(Medium Independent Interface)接口相連。NCUC控制器采用國產(chǎn)京微齊力公司的HME-P1P060N0TF784C(以下簡稱P1)大容量FPGA,對PHY接收數(shù)據(jù)進(jìn)行協(xié)議棧處理。信息處理結(jié)束后,NCUC控制器將待發(fā)送數(shù)據(jù)通過PHY收發(fā)器2、隔離變壓器2、M12工業(yè)連接器2發(fā)送至以太網(wǎng)總線。此外,從站應(yīng)用MCU為京微齊力SoC芯片HMEM7A12N0F484I7(以下簡稱M7)。其中,集成了不同的應(yīng)用層功能,主要實(shí)現(xiàn)數(shù)字量IO、模擬量IO、伺服控制和通信轉(zhuǎn)換等。NCUC控制器與應(yīng)用MCU之間通過片上高速PDI接口實(shí)現(xiàn)數(shù)據(jù)傳輸。

      圖2 從站硬件結(jié)構(gòu)原理Fig.2 Schematic diagram of slave hardware

      2.3 NCUC控制器功能結(jié)構(gòu)

      NCUC控制器中集成鏈路層數(shù)據(jù)通信傳輸、協(xié)議解析、網(wǎng)絡(luò)冗余和時(shí)鐘同步等功能,是實(shí)現(xiàn)總線傳輸協(xié)議的核心器件。此外,NCUC控制器還提供片間PDI異步通信接口,便于實(shí)現(xiàn)應(yīng)用層功能的MCU訪問。圖3顯示了集成NCUC控制器的內(nèi)部功能結(jié)構(gòu)。

      圖3 NCUC控制器功能結(jié)構(gòu)原理Fig.3 Schematic diagram of functional structure of NCUC controller

      NCUC控制器中,兩個(gè)獨(dú)立的NMI接口模塊對物理層PHY收發(fā)器進(jìn)行讀寫操作。NMI接口模塊分別與兩個(gè)具有時(shí)間戳與計(jì)數(shù)功能的端口相連,各端口在網(wǎng)絡(luò)數(shù)據(jù)讀寫時(shí),將時(shí)間戳信息寫入網(wǎng)絡(luò)幀,這對同步控制算法的實(shí)現(xiàn)起到了重要的作用。接收到的網(wǎng)絡(luò)幀信息根據(jù)幀類型的不同,由數(shù)據(jù)處理模塊進(jìn)行透傳、讀取數(shù)據(jù)、寫入數(shù)據(jù)和協(xié)議棧等操作。NCUC協(xié)議相關(guān)的配置以及收發(fā)數(shù)據(jù)存放在寄存器區(qū)間內(nèi)。為提高數(shù)據(jù)處理速度,在數(shù)據(jù)處理模塊和寄存器區(qū)間設(shè)置數(shù)據(jù)緩沖模塊。設(shè)計(jì)并行異步通信接口,以滿足外部MCU控制器對內(nèi)部寄存器中NCUC配置區(qū)、接收數(shù)據(jù)區(qū)和發(fā)送數(shù)據(jù)區(qū)的操作。在NCUC控制器接收到有效的通信數(shù)據(jù)后,中斷產(chǎn)生模塊將立刻產(chǎn)生IRQ跳沿信號,表明通信數(shù)據(jù)接收成功。同步產(chǎn)生模塊則會(huì)根據(jù)各從站同步時(shí)間補(bǔ)償?shù)牟煌M(jìn)行延時(shí),當(dāng)所有從站都接收到數(shù)據(jù)后同步產(chǎn)生SYNC跳沿。MCU可根據(jù)SYNC信號進(jìn)行精準(zhǔn)的同步控制。

      在NCUC控制器中,寄存器是實(shí)現(xiàn)NCUC通信管理、同步設(shè)置及數(shù)據(jù)交換的重要模塊。主站通過網(wǎng)絡(luò)對從站寄存器進(jìn)行操作,從站則通過PDI數(shù)據(jù)接口對寄存器進(jìn)行訪問。所以,寄存器是連接主站與從站的數(shù)據(jù)存儲橋梁。寄存器模塊由64 kB空間的雙口RAM構(gòu)成,其中2 kB為管理空間,用于通信和同步相關(guān)配置、管理和監(jiān)控;另外62 kB為數(shù)據(jù)空間,用于存放接收的網(wǎng)絡(luò)數(shù)據(jù)和需要發(fā)送的數(shù)據(jù)。寄存器的空間結(jié)構(gòu)如表1所示。

      表1 NCUC控制器內(nèi)部寄存器存儲空間說明Tab.1 Description of internal memory storage space of NCUC controller

      3 網(wǎng)絡(luò)數(shù)據(jù)傳輸

      3.1 幀結(jié)構(gòu)定義

      實(shí)時(shí)以太網(wǎng)數(shù)據(jù)以標(biāo)準(zhǔn)IEEE802.3以太網(wǎng)幀為傳輸載體,通過對標(biāo)準(zhǔn)以太網(wǎng)幀結(jié)構(gòu)的重定義形成了一種高效傳輸?shù)膸Y(jié)構(gòu)。NCUC網(wǎng)絡(luò)幀結(jié)構(gòu)如圖4所示。保留長度為14字節(jié)的IEEE802.3標(biāo)準(zhǔn)以太網(wǎng)幀頭中目標(biāo)的MAC地址和源MAC地址信息,將2字節(jié)的幀類型寫入固定值0x8888,該幀為NCUC網(wǎng)絡(luò)幀。將標(biāo)準(zhǔn)以太網(wǎng)幀46-1500字節(jié)的數(shù)據(jù)區(qū)分為2字節(jié)的NCUC幀頭區(qū)和44-1498字節(jié)的數(shù)據(jù)區(qū)。其中,NCUC幀頭由索引值、版本號、循環(huán)圈數(shù)和循環(huán)標(biāo)志位構(gòu)成。此外,NCUC數(shù)據(jù)區(qū)可根據(jù)定義分為若干個(gè)報(bào)文區(qū)間,每個(gè)NCUC報(bào)文對應(yīng)總線上某個(gè)從站的下發(fā)數(shù)據(jù)或是上傳數(shù)據(jù)。報(bào)文數(shù)據(jù)區(qū)間可根據(jù)傳輸數(shù)據(jù)大小自由定義數(shù)據(jù)長度。如果NCUC幀頭與報(bào)文總長度小于46字節(jié),則需要在報(bào)文之后補(bǔ)0~46字節(jié)。最后,將標(biāo)準(zhǔn)以太網(wǎng)幀4字節(jié)的FCS校驗(yàn)作為幀尾。

      圖4 NCUC網(wǎng)絡(luò)幀結(jié)構(gòu)定義Fig.4 Definition of NCUC network frame structure

      網(wǎng)絡(luò)幀提供了寄存器訪問、通道地址訪問、通道映射、產(chǎn)生時(shí)間戳、同步/復(fù)位幀、32位時(shí)鐘補(bǔ)償,以及64位時(shí)鐘補(bǔ)償7種類型的報(bào)文。主站可通過網(wǎng)絡(luò)幀的功能靈活地將所需的報(bào)文組幀,形成不同功能的網(wǎng)絡(luò)幀。各報(bào)文功能如下:

      (1)寄存器訪問報(bào)文:用于讀寫寄存器單元。

      (2)通道地址訪問報(bào)文:按通道地址的方式讀寫數(shù)據(jù)傳輸通道。

      (3)通道映射訪問報(bào)文:采用通道映射的方式對所映射的通道進(jìn)行讀寫。

      (4)產(chǎn)生時(shí)間戳報(bào)文:使各從站NCUC控制器產(chǎn)生收發(fā)幀的時(shí)間戳。

      (5)同步/復(fù)位幀報(bào)文:用于啟動(dòng)或復(fù)位同步幀命令。

      (6)32位時(shí)鐘補(bǔ)償報(bào)文:進(jìn)行精度為32位的分布式時(shí)鐘補(bǔ)償。

      (7)64位時(shí)鐘補(bǔ)償報(bào)文:進(jìn)行精度為64位的分布式時(shí)鐘補(bǔ)償。

      3.2 通道數(shù)據(jù)傳輸機(jī)制

      數(shù)據(jù)通道是網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)闹匾绞?,通過對傳輸數(shù)據(jù)結(jié)構(gòu)、類型和長度等條件的設(shè)置,可實(shí)現(xiàn)通信數(shù)據(jù)塊的高速傳輸。在實(shí)際應(yīng)用中,通信數(shù)據(jù)根據(jù)其用途可分為多種,這些數(shù)據(jù)對通信傳輸?shù)囊笠泊嬖诓町悾?]。針對可編程控制系統(tǒng)的數(shù)據(jù)傳輸需求,在NCUC實(shí)時(shí)以太網(wǎng)控制器中設(shè)計(jì)服務(wù)數(shù)據(jù)、過程數(shù)據(jù)和FIFO數(shù)據(jù)通道。

      服務(wù)數(shù)據(jù)通道主要用于傳輸協(xié)議或非實(shí)時(shí)數(shù)據(jù)。協(xié)議數(shù)據(jù)除了所傳輸?shù)臄?shù)據(jù)內(nèi)容外,還集成了握手、應(yīng)答等協(xié)議內(nèi)容。在數(shù)據(jù)傳輸過程中,對主從站數(shù)據(jù)問答的有效性提出很高的要求,但對時(shí)間并不敏感。通過操作寄存器中服務(wù)數(shù)據(jù)通道區(qū)(0x0180-0x01FF),可在寄存器62 kB的通道數(shù)據(jù)區(qū)中開辟一個(gè)RAM塊,作為服務(wù)數(shù)據(jù)通道。為保證服務(wù)通道中協(xié)議數(shù)據(jù)傳輸?shù)目煽啃裕O(shè)計(jì)如圖5所示的狀態(tài)轉(zhuǎn)移模型。在處于狀態(tài)0時(shí),通道中無可讀的最新數(shù)據(jù),產(chǎn)生寫中斷信號等待數(shù)據(jù)寫入。主站/從站根據(jù)寫中斷信號發(fā)送協(xié)議數(shù)據(jù),向通道中寫入第一字節(jié)數(shù)據(jù)后,通道狀態(tài)切換至狀態(tài)1,表示主站/從站正在寫入。此時(shí),寫中斷標(biāo)志位復(fù)位,不再接收其他寫操作。當(dāng)主站/從站協(xié)議數(shù)據(jù)依次寫入通道后,通道狀態(tài)跳轉(zhuǎn)至狀態(tài)2并產(chǎn)生讀中斷信號,表示此時(shí)數(shù)據(jù)已經(jīng)完全寫入,從站/主站可以進(jìn)行數(shù)據(jù)讀取。從站/主站讀取第一字節(jié)后,通道狀切換至狀態(tài)3并清除讀中斷標(biāo)志,不再允許其他讀操作讀取通道數(shù)據(jù)。從站/主站逐字節(jié)讀完通道中所有數(shù)據(jù)后,通道跳轉(zhuǎn)至狀態(tài)0,產(chǎn)生寫中斷信號并等待下一次寫入。這種依次讀寫的通道操作模式,雖然占用了通道數(shù)據(jù)傳輸?shù)臅r(shí)間資源,但可保證協(xié)議數(shù)據(jù)在主從站之間有效、可靠的傳遞。

      圖5 服務(wù)數(shù)據(jù)通道狀態(tài)轉(zhuǎn)移模型Fig. 5 Service data channel state transition model

      過程數(shù)據(jù)通道主要用于實(shí)時(shí)數(shù)據(jù)傳輸。實(shí)時(shí)數(shù)據(jù)是自動(dòng)控制過程中產(chǎn)生的指令及反饋信息,這些數(shù)據(jù)會(huì)隨時(shí)間周期不斷的更新。通信數(shù)據(jù)使用方主要關(guān)心的是數(shù)據(jù)實(shí)時(shí)性。因此,數(shù)據(jù)的周期性更新是保證實(shí)時(shí)性的重點(diǎn)。通過配置寄存器的過程數(shù)據(jù)通道區(qū)(0x0200-0x02BF),可在通道數(shù)據(jù)區(qū)中開辟相同的3個(gè)連續(xù)的RAM塊,作為過程數(shù)據(jù)通道。過程數(shù)據(jù)通道狀態(tài)轉(zhuǎn)移模型如圖6所示。通道的寫操作和讀操作分別針對待寫區(qū)和讀出區(qū)進(jìn)行,中間的緩存區(qū)用于緩存數(shù)據(jù)。這種讀寫區(qū)域分離的方式,使通道永遠(yuǎn)處于寫入狀態(tài),保證了周期性數(shù)據(jù)寫入的有效性。待寫區(qū)數(shù)據(jù)寫入完成后,產(chǎn)生讀中斷信號。此時(shí),讀出區(qū)由緩存區(qū)數(shù)據(jù)填充,保證讀出的數(shù)據(jù)為最新寫入的數(shù)據(jù)。如果上次數(shù)據(jù)尚未讀出完成就寫入了新的數(shù)據(jù),則會(huì)導(dǎo)致上次數(shù)據(jù)被本次數(shù)據(jù)覆蓋。這種讀寫區(qū)域分離的過程通道操作模式,能夠保證實(shí)時(shí)數(shù)據(jù)的高效傳輸,但需要對讀寫操作時(shí)序進(jìn)行一定的約束。

      圖6 過程數(shù)據(jù)通道狀態(tài)轉(zhuǎn)移模型Fig.6 Transition model of process data channel state

      制造裝備智能化對圖像、視頻等大容量數(shù)據(jù)的實(shí)時(shí)傳輸提出了要求。由于數(shù)據(jù)容量極大,一般的總線數(shù)據(jù)傳輸通道可能無法進(jìn)行完整存儲。設(shè)計(jì)FIFO數(shù)據(jù)通道,允許設(shè)備同時(shí)對其進(jìn)行讀寫,極大地節(jié)省了數(shù)據(jù)的緩存空間。配置寄存器FIFO數(shù)據(jù)通道區(qū)(0x02C0-0x02FF),可在通道數(shù)據(jù)區(qū)中開辟1個(gè)盡可能長的RAM塊(大于1 kB),作為FIFO通道。其狀態(tài)轉(zhuǎn)移模型如圖7所示。狀態(tài)0表示當(dāng)前通道為空狀態(tài),僅允許數(shù)據(jù)寫入。只要通道被寫入數(shù)據(jù),則通道狀態(tài)跳轉(zhuǎn)到狀態(tài)1并置位讀中斷,表示通道為非空非滿狀態(tài),可讀可寫。在狀態(tài)1時(shí),如果通道數(shù)據(jù)被讀空則通道狀態(tài)回到狀態(tài)0并復(fù)位讀中斷;若通道被寫滿,則跳轉(zhuǎn)至狀態(tài)2并復(fù)位寫中斷,表示通道已滿不可寫入。此時(shí),只要存在數(shù)據(jù)讀出,則置位寫中斷并跳轉(zhuǎn)至狀態(tài)1,可讀可寫。

      圖7 FIFO通道狀態(tài)轉(zhuǎn)移模型Fig.7 Transition model of FIFO channel state

      3.3 通道映射

      通道機(jī)制有效地保證了實(shí)際系統(tǒng)中各類型數(shù)據(jù)傳輸?shù)目煽啃?,同時(shí),也降低了通信時(shí)有效數(shù)據(jù)的傳輸效率。在總線系統(tǒng)中,主站與從站都存在數(shù)據(jù)通信需求,這表明每個(gè)從站至少需要開辟1個(gè)通道進(jìn)行數(shù)據(jù)讀取或數(shù)據(jù)發(fā)送。而每開辟1個(gè)通道,主站需要增加一個(gè)報(bào)文,從而增加了報(bào)頭和應(yīng)答這類無效數(shù)據(jù),如圖4所示。無效數(shù)據(jù)加重了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,降低了有效數(shù)據(jù)的傳輸效率。

      本文采用通道映射的方式,將同類型的報(bào)文進(jìn)行合并,共用一個(gè)報(bào)頭和一個(gè)應(yīng)答中斷。主站將各從站的通道數(shù)據(jù)在整個(gè)報(bào)文中的映射信息,如映射編號、起始地址、通道號、數(shù)據(jù)長度、通道內(nèi)起始地址等信息保存。每個(gè)從站則將自身相關(guān)的映射信息保存在NCUC控制器中。如此,主從站可以根據(jù)已有的映射信息,讀寫合并報(bào)文的網(wǎng)絡(luò)幀數(shù)據(jù)。

      圖8 通道映射工作原理Fig.8 Working principle of channel mapping

      圖8顯示了通道映射的工作原理。在一主多從的總線式系統(tǒng)中,每一網(wǎng)絡(luò)幀需要裝載主站對各個(gè)從站的發(fā)送數(shù)據(jù)以及各個(gè)從站返回至主站的狀態(tài)信息。將主站下發(fā)到N個(gè)從站的N個(gè)報(bào)文合并為一個(gè)讀映射報(bào)文,從站所有上傳報(bào)文合并為一個(gè)寫映射報(bào)文,讀寫映射報(bào)文按圖4中通道映射報(bào)文結(jié)構(gòu)進(jìn)行組合。在收發(fā)網(wǎng)絡(luò)數(shù)據(jù)幀時(shí),通過映射編號、映射啟??刂啤⒆x寫控制、報(bào)文內(nèi)起始地址、通道號、數(shù)據(jù)長度、通道內(nèi)起始地址,使映射過程有效。具體操作過程如下:

      (1)從站根據(jù)映射編號在網(wǎng)絡(luò)幀中尋找符合此編號的報(bào)文,在映射器啟動(dòng)的情況下進(jìn)行讀寫控制判斷。若讀寫操作為讀,則從網(wǎng)絡(luò)幀中讀取數(shù)據(jù)至通道;若為寫,則需要將對應(yīng)通道的內(nèi)容寫入報(bào)文相應(yīng)位置。

      (2)在讀寫控制為讀時(shí),從站根據(jù)報(bào)文內(nèi)起始地址、數(shù)據(jù)長度參數(shù)找到報(bào)文中具體的待讀數(shù)據(jù)區(qū)域,讀出后順序?qū)懭胂鄳?yīng)通道號中以通道內(nèi)起始地址開始的區(qū)域。

      (3)在讀寫控制為寫時(shí),從站根據(jù)通道號、通道內(nèi)起始地址、數(shù)據(jù)長度參數(shù)將對應(yīng)通道中的數(shù)據(jù)取出,并寫入與映射編號、報(bào)文內(nèi)起始地址相應(yīng)的報(bào)文區(qū)域。

      通道映射的方式,可在多類數(shù)據(jù)同時(shí)傳輸時(shí)極大地提高通信效率。假設(shè)系統(tǒng)中有N個(gè)從站,每個(gè)從站讀通道和寫通道數(shù)據(jù)長度為R_len和S_len字節(jié)。根據(jù)NCUC以太網(wǎng)幀結(jié)構(gòu),采用通道地址訪問時(shí)通信效率ηc為:

      由式(1)和式(2)可知,無論從站個(gè)數(shù)多少,ηm始終大于ηc,且從站數(shù)量越多,則通道映射機(jī)制的通信效率越高。例如,采用CANopen應(yīng)用層協(xié)議,每個(gè)從站開辟4組PDO,其讀寫通道數(shù)據(jù)長度各為40字節(jié)。當(dāng)網(wǎng)絡(luò)幀數(shù)據(jù)長度達(dá)到規(guī)定極限時(shí),通道地址訪問通信效率為67.7%,而映射通信效率為96.2%。

      4 以太網(wǎng)時(shí)鐘同步

      4.1 通信傳輸延遲分析

      在線型級聯(lián)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,主站發(fā)送的通信數(shù)據(jù)幀需要依次經(jīng)過各從站,導(dǎo)致各從站接收同一通信數(shù)據(jù)幀存在延時(shí)[10]。圖9顯示了兩個(gè)相鄰的從站通信延時(shí)原理。數(shù)據(jù)幀傳輸?shù)竭_(dá)從站A的端口0接收端P0_RX,NCUC控制器對數(shù)據(jù)幀進(jìn)行讀取并由端口1發(fā)送端P1_TX發(fā)出。由于通信線纜長度對通信數(shù)據(jù)傳輸?shù)难訒r(shí),經(jīng)過線間延時(shí)后從站B的P0_RX接收到數(shù)據(jù)幀。因此,從站A與從站B的端口0接收到數(shù)據(jù)幀的時(shí)間延時(shí)為delayLAB。其中,包括從站A開始處理P0_RX數(shù)據(jù)到P1_TX發(fā)送時(shí)間delayCA01,以及從站AB之間通信線纜的線間傳輸延時(shí)delay-LAB。另外,數(shù)據(jù)幀由系統(tǒng)最后一個(gè)從站返回后由從站B的P1_RX接收,經(jīng)過從站B的站內(nèi)處理延時(shí)delayCB10和線間傳輸延時(shí)delayLBA后至從站A的P1_RX接口。

      圖9 相鄰的兩個(gè)從站間通信延時(shí)示意圖Fig. 9 Schematic diagram of communication delay between two adjacent slave stations

      以上分析表明,通信延時(shí)原因包括數(shù)據(jù)幀在通信介質(zhì)中的傳輸時(shí)間造成的線間傳輸延時(shí),以及各從站對數(shù)據(jù)幀的處理轉(zhuǎn)發(fā)造成的站內(nèi)處理延時(shí)。

      4.2 通信延遲補(bǔ)償

      準(zhǔn)確的測量線間傳輸延時(shí)和站內(nèi)處理延時(shí)時(shí)間并進(jìn)行補(bǔ)償是實(shí)現(xiàn)從站同步的基本思想。但在總線式系統(tǒng)中,由于各從站上電時(shí)間、時(shí)鐘源都存在偏差,無法直接地測量通信延時(shí)[16]。這里以主站相連的第一地從站為參考從站,測量各從站與參考從站的通信時(shí)間延時(shí),作為各從站延時(shí)的補(bǔ)償值。具體測量形式是通過在數(shù)據(jù)幀中加入時(shí)間戳報(bào)文的方式,記錄數(shù)據(jù)幀在各從站端口接收與發(fā)送的本地時(shí)間,以及數(shù)據(jù)幀在從站內(nèi)部處理時(shí)間,對通信延時(shí)進(jìn)行測量。

      建立線型級聯(lián)網(wǎng)絡(luò)傳輸延時(shí)模型如圖10所示。時(shí)間戳報(bào)文在抵達(dá)從站后以該從站本地時(shí)鐘為基準(zhǔn),記錄抵達(dá)接收端口的時(shí)間和離開發(fā)送端口的時(shí)間,為通信延時(shí)測量提供重要依據(jù)。因此,定義變量tNR0,tNR1分別為包含時(shí)間戳報(bào)文的通信幀抵達(dá)從站N接收端口0和端口1的時(shí)間,tNT1,tNT0分別為通信幀離開端口T1和T0的時(shí)間。通信幀在從站N內(nèi)正向傳輸?shù)恼緝?nèi)處理延時(shí)為D_CNP,反向站內(nèi)延時(shí)為D_CNR。通信幀由從站A端口發(fā)出,到從站B端口接收的線間傳輸延時(shí)為D_LAB。通過模型分析,分別對各從站時(shí)鐘的線間傳輸延時(shí)和站內(nèi)處理延時(shí)進(jìn)行計(jì)算和補(bǔ)償。

      圖10 線型級聯(lián)網(wǎng)絡(luò)的傳輸延時(shí)模型Fig.10 Transmission delay model of linear concatenated network

      4.2.1 線間傳輸延時(shí)計(jì)算

      從站之間通信雙絞線的長度和環(huán)境條件一致,因此可假設(shè)通信線纜上往返傳輸延時(shí)相等。則對于相鄰的從站0和從站1,有如下關(guān)系:

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

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

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

      其中:i為大于或等于1的正整數(shù),j=i-1。

      4.2.2 站內(nèi)處理延時(shí)計(jì)算

      當(dāng)通信幀抵達(dá)從站時(shí),接收端PHY的讀信號有效時(shí),NCUC控制器以本地時(shí)鐘開始計(jì)數(shù),直到發(fā)送端PHY的寫信號有效為止。根據(jù)通信幀延時(shí)處理模型,任意從站i的站內(nèi)處理延時(shí)可計(jì)算為:

      一般來說,通信幀由從站N返回至主站的過程,各從站采用轉(zhuǎn)發(fā)的處理方式并不進(jìn)行有效的數(shù)據(jù)處理,故進(jìn)行補(bǔ)償時(shí)僅考慮D_CiP。在一個(gè)有N+1個(gè)從站的系統(tǒng)中,從站i到參考從站的所有站內(nèi)延時(shí)D_C0i為:

      根據(jù)式(6)、式(8)的計(jì)算結(jié)果,容易得到從站i與參考從站的通信延時(shí)。主站則可以通過寄存器訪問報(bào)文將各從站的線間傳輸延時(shí)和站內(nèi)處理延時(shí)寫入各從站寄存器中,用于補(bǔ)償通信幀延時(shí)。

      4.3 分布式時(shí)鐘同步

      前文以參考從站時(shí)鐘為基準(zhǔn),采用時(shí)間戳報(bào)文對各從站通信延時(shí)進(jìn)行了測量和補(bǔ)償。但是,這種基于各從站本地時(shí)鐘的測量結(jié)果會(huì)因各從站時(shí)鐘源的偏差導(dǎo)致誤差。要達(dá)到各從站的高精度同步,必須對各從站時(shí)鐘進(jìn)行同步處理。

      由于各從站上電時(shí)間和時(shí)鐘源的差異,各從站的實(shí)際時(shí)間變化如圖11所示[12]。在任意時(shí)間t0時(shí)刻,本地時(shí)鐘和參考時(shí)鐘的差異為Coffset。顯然,Coffset是隨時(shí)間變化的函數(shù),本文所提出的分布式時(shí)鐘同步方法則是以較短的周期實(shí)時(shí)測量Coffset,并對本地時(shí)鐘進(jìn)行補(bǔ)償,使所有從站的時(shí)鐘向參考時(shí)鐘看齊。

      圖11 時(shí)鐘模型Fig.11 Clock model

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

      圖12 時(shí)鐘補(bǔ)償模型Fig.12 Clock compensation model

      4.3.1 時(shí)鐘偏移補(bǔ)償

      根據(jù)式(4),從站1與從站0的時(shí)鐘時(shí)間偏差Coffset10可以通過時(shí)間戳的方式進(jìn)行測量得到:

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

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

      4.3.2 時(shí)鐘漂移補(bǔ)償

      在線型級聯(lián)網(wǎng)絡(luò)中,本地時(shí)鐘與參考時(shí)鐘的變化率無法直接測量,但通過二者的時(shí)鐘偏移值Coffset的變化率可以間接地補(bǔ)償時(shí)鐘漂移[10]。

      假設(shè)在圖12的時(shí)鐘補(bǔ)償模型中,本地時(shí)鐘c1(t)和參考時(shí)鐘c2(t)的表達(dá)式如下:

      其中:k1和k2分別為本地時(shí)鐘和參考時(shí)鐘曲線的變化率,a1和a2分別為兩時(shí)鐘曲線在t=0時(shí)刻的初值。

      根據(jù)時(shí)鐘偏移值定義容易得到:

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

      設(shè)置漂移補(bǔ)償因子fd。當(dāng)Roffset>0時(shí),表明本地時(shí)鐘相比參考時(shí)鐘向正向漂移,需要將k1減小fd;反之,則表明本地時(shí)鐘相比參考時(shí)鐘向負(fù)向漂移,將k1增加fd。具體補(bǔ)償方法如下:

      在正常的網(wǎng)絡(luò)通信過程中,各從站接收到通信幀后利用式(11)、式(15)對各自本地時(shí)鐘進(jìn)行偏移和漂移補(bǔ)償,使各從站時(shí)鐘與參考從站時(shí)鐘一致。然后,利用式(6)、式(8)對通信傳輸過程中的線間延時(shí)和站內(nèi)延時(shí)進(jìn)行補(bǔ)償,實(shí)現(xiàn)基于分布式時(shí)鐘的以太網(wǎng)通信同步。

      5 實(shí) 驗(yàn)

      本節(jié)搭建總線式控制系統(tǒng),通過幾組實(shí)驗(yàn)對實(shí)時(shí)以太網(wǎng)總線的通信性能進(jìn)行測試。

      5.1 系統(tǒng)構(gòu)建

      構(gòu)建典型的總線式控制系統(tǒng)如圖13所示。為保證系統(tǒng)處理能力,主站采用ATOM處理器,利用通用的以太網(wǎng)接口將3個(gè)數(shù)字量IO從站相連,形成典型的工業(yè)現(xiàn)場末端設(shè)備的控制網(wǎng)絡(luò)。在集成開發(fā)環(huán)境中編寫符合IEC61131-3的邏輯代碼,編譯后通過標(biāo)準(zhǔn)以太網(wǎng)接口下載到主站中,作為主站邏輯控制的程序組織單元(POU)。主站采用Modbus協(xié)議與組態(tài)設(shè)備相連,通過組態(tài)監(jiān)控終端實(shí)現(xiàn)控制系統(tǒng)的人機(jī)交互。此外,從站采用P1+M7的硬件結(jié)構(gòu),P1中集成NCUC控制器IP核實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)收發(fā),M7中集成CANopen設(shè)備控制及操作子協(xié)議,并通過P1的異步數(shù)據(jù)接口實(shí)現(xiàn)控制指令接收與設(shè)備狀態(tài)發(fā)送。

      5.2 通信性能測試

      采用圖13所示的總線式控制系統(tǒng),在自研的軟件集成開發(fā)環(huán)境FX_PLC Developer中編寫IEC61131-3邏輯代碼并下載到主站,對NCUC總線上各從站數(shù)字量輸出接口進(jìn)行操作。

      圖13 典型的總線式控制系統(tǒng)架構(gòu)Fig.13 Typical fieldbus control system architecture

      5.2.1 通信數(shù)據(jù)傳輸實(shí)時(shí)性測試

      考慮到百兆以太網(wǎng)鏈路的傳輸極限以及CANopen應(yīng)用層協(xié)議的數(shù)據(jù)傳輸機(jī)制對通信周期的約束。分別設(shè)置主站通信周期為1 000,500,250 μs,并按通信周期向各從站發(fā)送數(shù)字量輸出口電平翻轉(zhuǎn)指令。通過示波器觀察各從站數(shù)字量輸出口電平的變化。在圖14中,各從站電平翻轉(zhuǎn)呈現(xiàn)周期性,且與主站通信周期一致。測試結(jié)果表明,以CANopen作為系統(tǒng)應(yīng)用層協(xié)議時(shí),NCUC總線對系統(tǒng)的最小控制周期可達(dá)250 μs。

      5.2.2 總線同步精度測試

      圖14 NCUC以太網(wǎng)總線通信周期測試結(jié)果Fig.14 Test results of NCUC ethernet bus communication cycle

      NCUC控制器SYNC信號是通過時(shí)鐘同步補(bǔ)償后的基準(zhǔn)信號,各從站SYNC信號的時(shí)間誤差反映了NCUC控制器同步性能的優(yōu)劣。將系統(tǒng)各從站SYNC信號引入示波器,在系統(tǒng)正常建立通信后觀察SYNC信號的變化。圖15中,從站2和從站3與參考從站的SYNC信號分別相差27,32 ns。這表明在三從站系統(tǒng)中,NCUC實(shí)時(shí)以太網(wǎng)同步時(shí)間誤差在50 ns量級。

      圖15 NCUC以太網(wǎng)總線同步精度測試結(jié)果Fig.15 Test result of NCUC ethernet bus synchronization accuracy

      6 結(jié) 論

      本文針對可編程控制系統(tǒng)中高性能現(xiàn)場總線的自主可控問題,以NCUC實(shí)時(shí)以太網(wǎng)總線為基礎(chǔ),利用國產(chǎn)大容量FPGA芯片為平臺搭建了FPGA+PHY的通用以太網(wǎng)硬件架構(gòu),針對網(wǎng)絡(luò)數(shù)據(jù)傳輸特點(diǎn)設(shè)計(jì)了以太網(wǎng)控制器的內(nèi)部功能結(jié)構(gòu)。為了提高網(wǎng)絡(luò)數(shù)據(jù)的傳輸效率,對網(wǎng)絡(luò)幀結(jié)構(gòu)及通道數(shù)據(jù)傳輸方法進(jìn)行了研究,提出了一種通道映射的方法,使多節(jié)點(diǎn)系統(tǒng)中網(wǎng)絡(luò)數(shù)據(jù)的傳輸效率得到極大提升。通過分析實(shí)時(shí)以太網(wǎng)的傳輸原理,總結(jié)了各從站節(jié)點(diǎn)通信幀傳輸不同步的原因。建立了線型級聯(lián)網(wǎng)絡(luò)數(shù)據(jù)幀傳輸延遲模型,提出了各從站通信延時(shí)補(bǔ)償方法。此外,采用分布式時(shí)鐘同步的方法,對各從站本地時(shí)鐘相對參考時(shí)鐘的漂移和偏移進(jìn)行了補(bǔ)償,使系統(tǒng)各從站時(shí)鐘達(dá)到同步。最后,通過實(shí)驗(yàn)對總線通信速率和同步精度進(jìn)行測試。結(jié)果表明,本文設(shè)計(jì)的實(shí)時(shí)以太網(wǎng)總線的最小通信周期為250 μs,同步精度小于50 ns,達(dá)到國際先進(jìn)水平。

      猜你喜歡
      以太網(wǎng)延時(shí)報(bào)文
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于級聯(lián)步進(jìn)延時(shí)的順序等效采樣方法及實(shí)現(xiàn)
      CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      淺析反駁類報(bào)文要點(diǎn)
      中國外匯(2019年11期)2019-08-27 02:06:30
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      ATS與列車通信報(bào)文分析
      Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      莱芜市| 扶绥县| 梅河口市| 长宁县| 鄯善县| 如皋市| 新巴尔虎右旗| 东山县| 子长县| 肃宁县| 呼图壁县| 北宁市| 平原县| 高青县| 承德市| 桃源县| 武平县| 滨海县| 呼和浩特市| 察哈| 清水河县| 札达县| 定襄县| 江川县| 吉林省| 托里县| 普格县| 潞西市| 朝阳县| 辛集市| 隆回县| 贵溪市| 保康县| 永春县| 江川县| 瑞安市| 承德县| 海伦市| 柏乡县| 卢湾区| 堆龙德庆县|