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

基于FPGA和PCI接口的EtherCAT從站網卡設計

2018-10-23 01:50:02程天亨張舞杰
自動化與儀表 2018年9期
關鍵詞:信號設計

程天亨,張舞杰

(華南理工大學 機械與汽車工程學院,廣州 510640)

在一些工業自動化流水線生產領域,為了滿足生產需求,需要使用工業相機甚至使用多臺工業相機進行數據測量。面對成像技術不斷發展和進步的新時期,相機分辨率高信息數據量較大,實時性和同步性需求高[1-2],多相機數據傳輸成為新時期迫切需要解決的問題。同時,隨著計算機技術和工業以太網技術的發展與融合,工業以太網由于其速度快、成本低、擴展性好、抗干擾性強等特點取得了廣泛的應用。國際上許多著名的工業自動化公司也相繼提出工業以太網新標準。德國Beckhoff公司提出的 EtherCAT(Ethernet for control automation technology),具有靈活的網絡拓撲結構、系統配置簡單、數據傳輸全雙工、高速高效、總線利用率較高等特點[3-5],可以有效地運用在多相機數據傳輸領域。

然而工業相機的數據接口協議與EtherCAT協議不兼容。為解決工業相機接入EtherCAT網絡系統的問題,在此,提出一種將具有實時采集相機圖像和圖像處理功能的工控機作為從站設備與主站相連的解決方案,并設計了一款基于FPGA和PCI接口的EtherCAT從站網卡,將工控機接收到的圖像原始數據或圖像處理后的數據傳輸到EtherCAT網絡中,實現與EtherCAT主站數據交互的功能。

1 EtherCAT從站網卡組成框架

EtherCAT從站網卡由微處理器、EtherCAT模塊以及網絡物理層模塊組成,其結構如圖1所示。其中,EtherCAT模塊由EtherCAT協議控制器組成,用于實現物理層與數據鏈路層。文中選用倍福公司ET1100作為EtherCAT協議控制器;微處理器由FPGA芯片實現,選用Altera公司Cyclone IV系列的EP4CE6F17C8;物理層網卡芯片采用KS8721BL。

圖1 EtherCAT從站網卡設計框架Fig.1 Design framework of EtherCAT slave network card

2 從站網卡硬件設計

系統硬件包括FPGA與ET1100的PDI接口模塊、ET1100與以太網物理層PHY芯片的MII接口模塊和FPGA的PCI通信模塊。ET1100通過MII接口與以太網物理層芯片連接,再通過16位異步微處理的PDI接口與FPGA連接。從站網卡啟動后,接收到來自主站的報文數據,FPGA通過內部運行的狀態機與PCI和ET1100進行通信,完成工控機和主站的數據交互。

2.1 EtherCAT PDI接口

過程數據接口 PDI(process data interface)是實現從站控制器和應用之間的接口。ET1100支持3類過程數據接口,分別為數字量I/O,SPI從機、8/16位同步/異步微處理接口。PDI接口類型由寄存器0x0140—0x141進行配置[6]。在此使用16位異步微處理器接口與FPGA相連。

該總線接口使用復用的地址和數據總線,其ET1100和FPGA電路連接如圖2所示。

圖2 ET1100與FPGA硬件接口Fig.2 Hardware interface between ET1100 and FPGA

其工作原理為:當片選信號CS有效時,寫或者讀訪問開始。如果處于寫訪問,地址ADR和數據DATA隨著WR信號的下降沿而被置為有效值;寫訪問能通過WR信號或CS信號被置為無效。如果當前處于讀訪問時,地址ADR信號必須在RD信號的下降沿之前被置為有效值。讀出的數據會保持有效值直到ADR,RD或CS信號變化。

2.2 EtherCAT MII接口

ET1100可提供4個物理通信端口,每個端口都支持MII接口和EBUS接口。MII接口以工業以太網網線作為傳輸介質,可以與工控機直接相連,傳輸距離遠,可有效傳輸100 m[7]。文中采用雙MII接口,其ET1100和PHY芯片電路連接如圖3所示。

圖3 ET1100與PHY芯片硬件接口Fig.3 Hardware interface between ET1100 and PHY chip

2.3 PCI接口硬件設計

外設組件互連標準PCI(peripheral component interconnection),是由Intel公司1991年推出的用于局部總線的標準。PCI總線具有即插即用、中斷共享、高速數據傳輸等功能[8]。其FPGA和PCI總線的電路連接如圖4所示。

圖4 FPGA與PCI總線硬件接口Fig.4 Hardware interface between ET1100 and PCI bus

PCI總線接口控制器設計中用到的信號,按照功能,可分為系統信號、地址數據信號、接口控制信號、錯誤報告信號和中斷信號[9]。系統信號包括CLK和RST信號,提供系統時鐘和系統復位信號。AD引腳為地址和數據的復用引腳。

3 從站網卡軟件設計

根據從站網卡設計框架,需要對微處理器FPGA進行模塊化、標準化的編程,其中包括對FPGA頂層模塊框架的結構化設計,并根據邏輯操作需求設計合理的狀態機,提高設計的通用性[10]。

3.1 FPGA頂層模塊框架

在FPGA頂層模塊的設計中,首先設計接口模塊,使用FPGA提供的IP核構造PCI總線,用于實現讀寫PCI數據的功能。

在FPGA的程序開發中,由于PCI總線、PDI接口以及FPGA頂層狀態機處于3個不同的相互獨立的時鐘中,傳輸速率不匹配,會導致數據丟失的情況發生。為此引入異步FIFO技術,用于存儲、緩沖多個異步時鐘之間的數據傳輸,實現不同時鐘系統之間快速準確地傳輸實時數據[11-12]。使用FPGA提供的IP核,構造2個16位256雙字節大小的雙端口DPRAM模塊用于實現異步FIFO,分別取名為ET_RAM和PCI_RAM。ET_RAM用于存儲通過PDI接口從ET1100讀取到的數據,PCI_RAM用于存儲通過PCI總線讀取到的數據。

由于存在多個數據組合邏輯以及寄存器邏輯,在FPGA的頂層模塊中構建有限狀態機實現預期的數據交互等邏輯操作。最終設計FPGA頂層模塊框架如圖5所示。

圖5 FPGA頂層模塊設計框架Fig.5 FPGA top-level module design framework

通過狀態機不同狀態遷移實現的邏輯操作如下:讀取PCI總線數據并寫入到PCI_RAM中,從PCI_RAM中獲取數據通過PDI接口輸出;讀取PDI接口數據并寫入到ET_RAM中,從ET_RAM獲取數據通過PCI總線接口輸出。

3.2 FPGA狀態機

狀態機是整個軟件設計中最核心的部分,各種控制、數據交換、命令都在狀態機的管理下進行[13]。狀態機一方面將存入FIFO數據結構中的PCI輸入信號通過PDI接口發送出去,另一方面將讀取PDI接口的輸入信號存入FIFO,使應用層用戶能夠順利的執行讀寫操作,完成數據交互。狀態機通過設置數據長度,對多字節數據進行連續的讀寫操作,極大程度地提高讀寫效率。

該狀態機共由13個狀態組成,采用異步復位方式,所有的狀態轉移都發生在時鐘上升沿。具體的控制流程如圖6所示。

圖6 FPGA狀態機Fig.6 FPGA state machine

4 測試驗證

4.1 模塊功能性測試

Altera公司Quartus 16.1軟件中的SignalTapII在線邏輯分析儀,可以在線監視FPGA的數據引腳。Windriver是Jungo公司推出的一套設備驅動程序開發工具,可以對PCI總線進行配置和讀寫。Twin-CAT System Manager為倍福公司的總線配置工具,可以實現解析XML配置文件,管理從站狀態,實現主從站之間數據的傳輸[14]。

測試時,使用Windriver讀寫PCI總線數據,使用TwinCAT與從站網卡設備進行數據通信,使用邏輯分析儀監測FPGA狀態機與PCI和PDI模塊通信時是否正常運行。

首先使用Windriver工具識別PCI設備,再由TwinCAT識別從站設備并使其進入OP狀態。使用Windriver向PCI設備的0xA00地址寫入數據0x12342345。FPGA頂層模塊獲取到PCI數據0x12342345后,根據地址寫入PCI_RAM。觀察邏輯分析儀,當FPGA狀態機進入PRE_WRITE1狀態后,從PCI_RAM中根據地址獲取到1個雙字節數據0x2345;接著WR和CS引腳被置低,數據0x2345通過PDI接口寫入ET1100中,WR和CS恢復高電平,寫操作結束。數據長度為16個雙字節,故此處循環寫入16次。打開TwinCAT從站界面,正確讀取到從站0xA00地址輸出的數據0x12342345。

接著使用TwinCAT工具對地址0x800輸入0x56786789。當FPGA狀態機進入PRE_READ1狀態時,RD和CS引腳被置低,通過PDI接口讀取到ET1100地址輸出0x800,輸出數據0x6789,將此時的數據和地址值存入ET_RAM中,接著RD和CS恢復高電平,寫操作結束。數據長度為16個雙字節,此處循環讀取16次。頂層模塊會獲取ET_RAM相關數據并輸出到PCI總線中。在Windriver工具上正確讀取到0x800地址的數據值0x56786789,測試過程中FPGA狀態機邏輯分析儀讀寫階段的時序如圖7所示。觀察控制信號和數據信號變化,可以看出數據傳輸過程準確且快速。

4.2 測試平臺搭建

圖7 FPGA狀態機讀寫階段的時序Fig.7 Timing of FPGA state machine reading and writing phase

為測試相機和工控機作為EtherCAT從站是否能正常工作,搭建了基于EtherCAT總線網絡的機械手流水線抓取系統。工業相機將抓取到的圖像數據通過千兆網卡傳輸到工控機端,經過圖像處理得到機器人坐標值,再通過PCI總線傳輸到從站網卡中,主站通過連接從站網卡和機器人驅動器,實現機器人對流水線目標物體的抓取。經過試驗測試,主站能正常接收到從站網卡發送的坐標值并控制機器人抓取目標物體。

在工控機上安裝Wireshark網絡數據包捕獲軟件,捕獲上述主從站通信過程中收發的EtherCAT數據幀并進行統計分析,數據幀發送到轉發的時間間隔為25 μs至幾μs之間。這個時間包括從站接收數據幀、從站處理數據幀、從站轉發數據幀的時間。可以看出該EtherCAT網絡的實時性能夠滿足設計需求。

5 結語

作為一種工業實時以太網技術,EtherCAT因其高性能、高靈活性及完全開放性而引人注目。文中闡述了基于FPGA和PCI接口的EtherCAT從站網卡設計方案,并介紹了從站網卡軟硬件設計細節,為開發從站設備提供了有力的參考。使用具有EtherCAT從站功能的FPGA板卡,通過PCI接口將工控機作為具有圖像采集及圖像處理功能的從站模塊接入EtherCAT總線系統中,構建了一種工業相機和工控機融合的EtherCAT從站系統。該方案改變并拓寬了EtherCAT從站形式,通過試驗驗證了該設計從站能夠很好地工作。

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
現代裝飾(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
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 欧美日韩成人在线观看| 国产精品视频观看裸模| 久热99这里只有精品视频6| 自拍中文字幕| 国产精品嫩草影院av| 国产白浆在线| 欧美亚洲日韩中文| 婷婷五月在线视频| 内射人妻无套中出无码| 精品久久久久成人码免费动漫 | 午夜欧美理论2019理论| 国产拍揄自揄精品视频网站| 精品少妇人妻一区二区| 亚洲最新地址| 婷婷综合亚洲| 国产情侣一区二区三区| 欧美国产成人在线| 爆乳熟妇一区二区三区| 亚洲欧美不卡视频| 国产91精品调教在线播放| 一级一级一片免费| 国内毛片视频| 国产鲁鲁视频在线观看| а∨天堂一区中文字幕| 亚洲一区二区无码视频| 日韩在线1| 全免费a级毛片免费看不卡| 2048国产精品原创综合在线| 先锋资源久久| 日韩在线播放中文字幕| 在线视频亚洲色图| 综合社区亚洲熟妇p| 草逼视频国产| 日韩精品毛片人妻AV不卡| 又爽又大又黄a级毛片在线视频| 国产99视频精品免费观看9e| 精品国产免费观看一区| 一级全免费视频播放| 午夜精品福利影院| 五月天香蕉视频国产亚| 99久久精品国产综合婷婷| 日韩高清一区 | 国产精品视频观看裸模| 亚洲无码91视频| 丁香五月激情图片| 精品久久久久无码| 亚洲 欧美 日韩综合一区| 真实国产精品vr专区| 亚洲欧美在线看片AI| 亚洲av成人无码网站在线观看| 国产一级α片| 黄色在线不卡| 毛片最新网址| 午夜视频www| 九色视频在线免费观看| 国产美女自慰在线观看| 欧美精品高清| 色综合久久综合网| 日日拍夜夜操| 最新亚洲人成无码网站欣赏网 | 一级香蕉视频在线观看| 精品三级在线| 国产精品一区二区不卡的视频| 成人国产精品2021| 精品久久久久久久久久久| 成人在线亚洲| 日本AⅤ精品一区二区三区日| 免费人成在线观看视频色| 国产交换配偶在线视频| a亚洲视频| 国产美女免费网站| 日本精品影院| 91精品啪在线观看国产91| 国产成人精品一区二区秒拍1o| 国产日本一区二区三区| 黄色成年视频| 久久99热66这里只有精品一| 国产性生大片免费观看性欧美| 538精品在线观看| 色有码无码视频| 国产亚洲美日韩AV中文字幕无码成人 | 九九热精品视频在线|