999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的EtherCAT從站控制器FMMU模塊設計

2018-08-27 12:41:22姚旺君王永利邢計元
網絡安全與數據管理 2018年8期
關鍵詞:物理設計

姚旺君,林 浩,王永利,邢計元,張 鵬

(1.工業控制系統信息安全技術國家工程實驗室,北京 100083;2. 中國電子信息產業集團有限公司第六研究所,北京 100083)

0 引言

EtherCAT是由BECKHOFF提出和設計的一種工業以太網現場總線技術,廣泛應用于運動控制領域[1-2]。

EtherCAT主要優勢在于高速、高實時性以及精確時鐘同步。這些優勢的實現基于EtherCAT設計的幾個關鍵技術:飛讀飛寫(processing on the fly)、FMMU(Fieldbus Memory Management Unit)、DC(Distribute Clock)。以上幾個關鍵技術都是在EtherCAT從站控制器ESC(EtherCAT Slave Controller)中實現,ESC是實現EtherCAT通信協議的關鍵[3-4]。

目前,EtherCAT從站控制技術由國外掌握,IP核和芯片全部是由國外公司提供。我國正在執行智能制造2025國家戰略,沒有自主化的先進的工業現場總線,工業系統升級就只能是亦步亦趨,跟隨國外公司的步伐,無法開發出具有自主創新技術的專用產品。在工業控制系統領域,國外工業控制系統企業占據競爭優勢,然而,工業現場總線是工業控制系統運行的樞紐,無論什么數據都要經過這個樞紐進行傳輸,出于系統安全的考慮,有必要對工業現場總線進行研究,以實現自主化設計。目前國內已經有針對EtherCAT總線技術的研究的:文獻[5]設計并驗證了ESC實現的通信鏈路可行性,文獻[6]提出了一種使用FPGA實現FMMU的算法,但是上述研究都是進行理論推導與算法設計,沒有工程實踐應用。針對該問題,本文基于FPGA依據EtherCAT工作原理,設計一種能滿足工程實踐的EtherCAT功能單元FMMU,實現了FMMU的地址映射以及數據字節和位提取的功能。

1 EtherCAT系統及功能組成

EtherCAT主站與從站組成結構如圖1所示。主從站的單次通信過程是:主站遍歷所有從站設備,數據幀通過某一從站時,從站設備根據報文命令分析尋址到本機報文并定位到指定位置進行數據讀/寫,數據幀到達最后一個從站后,該從站把處理后的數據幀發送給主站。主站收到此上行電報后處理并返回數據,一次完整的通信過程結束[5-7]。EtherCAT系統整個通信過程由主從站內部狀態機控制,主站采用廣播尋址、自增量尋址、配置地址尋址、邏輯尋址等尋址方式和命令,這個階段,主站獲取了所連從站的基本信息,從站也根據主站數據幀要求對自身進行配置,有過程數據要求的對相關從站的FMMU進行配置,這些工作完成后,主從站轉入OP(Operation)態[7-8]。

圖1 EtherCAT系統組成簡圖

EtherCAT從站控制器IP主要包括端口控制(Ports)處理單元、Auto-forwarder模塊、Loopback模塊、FMMU、SyncManager、PDI(Process Data Interface)單元、復位處理單元、分布時鐘、EEPROM接口單元、REGS及RAM區,每個功能模塊之間的關聯如圖2所示。根據不同的通信階段及從站配置類型,EtherCAT可通過FMMU直接訪問從站控制器的地址控制,讀寫RAM或寄存器區;有的從站過程數據交互時必須先通過SyncManager,才能對RAM或寄存器區進行讀寫訪問,其中SyncManager是為了數據一致性以及數據安全性而設計的,既用作訪問RAM或寄存器區的管理單元,又可以作為PDI和ECAT數據同步的調度接口。

圖2 ESC從站控制器架構

2 FMMU原理及實現

2.1 FMMU運行原理

FMMU作為EtherCAT從站控制器的核心功能之一,采用地址映射技術將主站的邏輯地址轉換為從站的物理地址,映射地址空間達4 GB。FMMU用于主站對于從站的邏輯尋址命令幀中,而且能在一個數據子幀中對多個分布式從站進行尋址,既能節約數據幀資源,提高數據幀利用率,又能方便主站本地的地址空間管理和分配。

EtherCAT系統運行時,每個EtherCAT從站都有一個配置文件,即ESI(EtherCAT Slave Information)文件,規定了每個從站的軟件版本、類型、資源配置包括FMMU個數等情況。主站利用配置工具,將每個從站的ESI文件作為輸入生成ENI(EtherCAT Network Information)文件,主站軟件根據各個ENI文件了解自身所在EtherCAT網絡的從站信息。主站運行起來后會根據ENI文件要求對各個從站進行配置,FMMU就是由主站在PREOP到SAFEOP狀態轉換過程中進行配置的,主站根據每個從站的ENI信息對相關從站的FMMU配置以下信息:主站邏輯起始地址、字節長度、邏輯起始位、邏輯結束位、從站物理起始地址、從站物理起始位、訪問方式(讀、寫、讀寫)、使能。映射實例如表1和圖3所示。

表1 FMMU配置實例

圖3 FMMU映射舉例

本實例是將32位的主站邏輯地址0x00014708映射到本地從站物理地址0x0F05,從實例配置表中可以看出,邏輯映射起始位為bit 5,結束位為bit 3,映射長度為7 bit,操作類型是寫。

從站FMMU是由主站在PREOP狀態利用FPWR(Configured Address Physical Write)命令進行配置的。從站配置成功,并且系統轉入OP狀態之后,在進行過程數據的交互時,從站會收到主站發出的邏輯尋址的EtherCAT子報文,根據各個從站的FMMU邏輯配置情況,查詢是否有與子報文中邏輯地址區相匹配的區域,如果有,且為輸入類型數據(主站讀訪問操作),則從站FMMU會將映射的物理地址區數據插入到EtherCAT子報文數據區的對應位置;如果配置邏輯地址在子報文邏輯地址區域內且為輸出類型數據(主站寫訪問操作),則從站FMMU根據配置要求將邏輯地址區數據抽取到被映射的相應物理地址區。

2.2 FMMU實現原理

根據以上FMMU運行原理及配置實例分析,可將FMMU的實現原理分為兩部分:FMMU配置設計與實現、FMMU數據處理設計與實現。

2.2.1FMMU配置設計與實現

根據EtherCAT協議和規范,從站的FMMU只能由主站進行配置,配置寄存器的基地址為0x0600開始的256B(FMMU個數為8,每個FMMU配置寄存器個數為16)的區域,表2~9所示為FMMU的所有配置寄存器描述說明(其中y表示FMMU索引,值為0~15)。

表2 FMMU邏輯起始地址寄存器描述

表3 FMMU長度寄存器描述

表4 FMMU邏輯地址起始位寄存器描述

表5 FMMU邏輯地址停止位寄存器描述

表6 FMMU物理起始地址位寄存器描述

表7 FMMU物理起始位寄存器描述

表8 FMMU類型寄存器描述

表9 FMMU激活寄存器描述

FMMU的配置實現過程(即在PREOP狀態,主站發FPWR命令幀進行配置)如圖4所示。從站FPGA根據EEPROM配置的FMMU個數(0x0004寄存器的值,即圖中變量n)依照圖4所示邏輯對從站的FMMU進行配置,配置的邏輯地址起始位要大于等于配置的物理地址起始位。

圖4 FMMU配置方法

2.2.2FMMU數據處理-主站讀

主站發LRD(邏輯讀)或者LRW(邏輯讀寫)命令幀,通過FMMU對從站進行讀操作,讀操作分為按位讀(bit-wise reading)和按字節讀 (byte-wise reading)兩種方式,按位讀支持對從站任何允許的地址區域操作。邏輯讀操作處理邏輯為: FPGA代碼判斷訪問類型是否為讀配置、幀命令是否為LRD和LRW、地址是否在邏輯映射地址區間內,滿足這三個條件后,置一個標志位,在此標志位為1的情況下,將被映射的物理地址中的數據插入到數據幀的邏輯地址空間。

2.2.3FMMU數據處理-主站寫

主站發LWR或者LRW命令幀,通過FMMU對從站進行寫操作,寫操作分為按位寫和按字節寫兩種方式。對于按位操作來說,對同一個從站內的兩個FMMU都進行按位寫操作的情況下,兩個FMMU的邏輯起始地址之差值設置為大于等于3。對于按字節操作來說,沒有這個限制。按位寫只支持對從站地址區域為0x0F00:0x0F03的數字量輸出寄存器的按位寫操作,對于除此區域之外的其他地址區域的按位寫操作,未映射的區域將會被寫入非定義的值,按字節寫沒有這種區域限制。圖5所示為寫操作的實現邏輯。

圖5 寫操作的實現邏輯

在寫操作的實現邏輯中,通過設置掩碼,將需要寫入的bit置1,不需要寫入的bit置0,然后將掩碼與原先物理地址區域或寄存器中的原值進行邏輯運算,既將要寫入的bit寫入了物理寄存器中,又保留了不需要更新的物理寄存器中的原值保留。

3 功能測試

功能測試選取LWR命令進行驗證,對兩個從站采用按位寫的映射方式。通過在testbench(測試臺)中編寫EtherCAT邏輯寫測試包激勵,使用Modelsim對設計的FMMU模塊設計進行仿真測試,驗證從站0xF00:0xF03中最終被寫入數據的正確性。

3.1 測試例說明

測試例采用兩個從站,從站的0xF00:0xF03寄存器值默認復位都為0;主站采用LWR命令,邏輯起始地址0x01000011,寫入5B數據0xaa556789ab,網絡協議采用高字節順序,即高字節數據存放在低字節地址,而且在傳輸中最先傳輸最低位,數據格式見表10所示。

表10 邏輯寫命令數據格式

第一個從站的配置如表11所示,假設此從站物理寄存0x0F00:0F03初始值為0xabcdef78,按FMMU實現原理分析,FMMU模塊截取邏輯寫幀的值應該為6 bit: 010100,寫入到物理寄存器0x0F00:0x0F03(leastbit:10101001即為0x95)的值為0x95cdef78。

表11 第一個從站配置

第二個從站的配置如表12所示,假設此從站物理寄存0x0F00:0F03初始值為0x12345678;按FMMU 實現原理分析,FMMU模塊截取邏輯寫幀的值應該為6 bit: 001101,寫入到物理寄存器0x0F00:0x0F03(leastbit:00011010即為0x58)的值為0x12585678。

3.2 仿真測試驗證

仿真采用Modelsim軟件進行,根據表11和表12的配置要求,對從站1和從站2分別進行邏輯按位寫仿真驗證。

表12 第二個從站配置

根據表11中第一個從站的測試例,取主站邏輯地址0x01000011中的數據0x55,得到的mask為0x3E00,處理后的數據為0x1540;取主站邏輯地址0x01000012中的數據0xaa,得到的mask為0x0040,處理后的數據為0x2a95,如圖6所示。

圖6 從站1數據及地址輸入處理仿真

對數據進行掩碼操作處理,將物理地址0x0F00 中bit1~bit6對應的6 bit數據用邏輯地址0x01000011對應的bit3開始的6 bit數據替換,得到從站1的物理地址0x0F00的數據為0x95,數據處理仿真結果如圖7所示。

根據表12中第二個從站的測試例,取主站邏輯地址0x01000013中的數據0x89,得到的mask為0x3E00,處理后的數據為0x19C0;取主站邏輯地址0x01000014中的數據0x67,得到的mask為0x0040,處理后的數據為0x2295,如圖8所示。

對數據進行掩碼操作處理,將物理地址0x0F01 中bit1~bit6對應的6 bit數據用邏輯地址0x01000013對應的bit3開始的6 bit數據替換,得到從站2的物理地址0x0F01的數據為0x58,數據處理仿真結果如圖9所示。

圖8 從站2數據及地址輸入處理仿真

圖9 從站2物理寄存器0x0F01數據結果仿真

4 結論

通過對FMMU實現邏輯代碼的Modelsim仿真數據結果,驗證了FMMU原理及其邏輯實現的正確性,說明用FPGA實現EtherCAT從站控制器FMMU模塊是完全可行的,為開發完善的ESC從站控制器創造了條件。

猜你喜歡
物理設計
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
如何打造高效物理復習課——以“壓強”復習課為例
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
處處留心皆物理
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
我心中的物理
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
三腳插頭上的物理知識
主站蜘蛛池模板: 第九色区aⅴ天堂久久香| 欧美伦理一区| 国产午夜福利亚洲第一| 国产精品第一区在线观看| 少妇极品熟妇人妻专区视频| 国产激爽大片高清在线观看| 精品国产中文一级毛片在线看 | 亚洲国产第一区二区香蕉| 国产精品乱偷免费视频| 小蝌蚪亚洲精品国产| 夜色爽爽影院18禁妓女影院| 欧美成人午夜影院| 日韩在线成年视频人网站观看| 欧美一区二区丝袜高跟鞋| 国产激情无码一区二区APP| 亚洲精品中文字幕午夜| 在线无码九区| 拍国产真实乱人偷精品| 黄色免费在线网址| 国产成人高精品免费视频| 综合网久久| 久久这里只精品热免费99| 日韩A∨精品日韩精品无码| 国产麻豆福利av在线播放| 亚洲欧美一区二区三区蜜芽| 国产欧美日本在线观看| 精品中文字幕一区在线| www.日韩三级| 亚洲日本中文字幕乱码中文| 久久黄色小视频| 亚洲中文精品人人永久免费| 日韩黄色大片免费看| 精品久久久久久成人AV| 亚洲黄色激情网站| 日韩无码黄色| 呦女亚洲一区精品| 欧美第九页| 无遮挡国产高潮视频免费观看| 国产网友愉拍精品视频| 国产一区在线视频观看| 青青青国产视频手机| 国产成人无码综合亚洲日韩不卡| 国产1区2区在线观看| 久久综合五月| 激情综合网激情综合| 一级一级一片免费| 亚洲无码精品在线播放| 久久免费看片| 夜夜拍夜夜爽| 国产爽爽视频| 亚洲精品在线影院| 日韩精品免费在线视频| 香蕉久久国产超碰青草| 日韩精品久久久久久久电影蜜臀| 思思99热精品在线| 国产麻豆精品手机在线观看| 香蕉久久永久视频| 亚洲av无码久久无遮挡| 欧美三級片黃色三級片黃色1| 国产精品无码AV中文| 欧美一区二区三区欧美日韩亚洲| 国产三级国产精品国产普男人| 国产欧美日韩资源在线观看| 久久免费精品琪琪| 亚洲国产综合自在线另类| 天天躁狠狠躁| 在线观看91精品国产剧情免费| 试看120秒男女啪啪免费| 无码又爽又刺激的高潮视频| 欧美精品v| 亚洲日韩第九十九页| 欧美性天天| 欧美激情视频一区| 手机看片1024久久精品你懂的| 国产成人三级在线观看视频| 人妖无码第一页| 精品欧美日韩国产日漫一区不卡| 在线观看无码av免费不卡网站 | 成人福利在线观看| 高清久久精品亚洲日韩Av| 亚洲区一区| 最新午夜男女福利片视频|