EtherCAT笔记(三) —— 主站与从站的硬件组成

1. EtherCAT 主站的硬件组成

EtherCAT主站使用标准以太网控制器,也即EtherCAT主站可以使用以太网控制器的任何设备。当我们有一台带网口的笔记本、工控机,甚至是树莓派也可以作为EtherCAT主站。

EtherCAT协议是对Ethernet协议在实时控制等方面的优化,因此对于一个能够支持Ethernet通信的设备,就可以支持EtherCAT协议的实现。

EtherCAT主站的组成:

 其中

以太网控制器完成以太网数据链路的介质访问控制功能(MAC, Media Access Control Twisted Pair)。

PHY芯片主要完成数据的编码、译码和收发的功能。

事实上,上述的结构是一个网卡的组成结构。EtherCAT主站还需要包含其软件部分,EtherCAT主站通常是纯软件实现的,不需要任何专用的硬件。如果在嵌入式主站中,通信控制器通常被嵌入到微控制器中,链接是在Zynq上实现EtherCAT主站的一些介绍。

2. EtherCAT从站硬件组成

EtherCAT从站一方面实现与主站的通信,另一方面完成控制或信号处理功能(这取决于从站功能定义)。因此需要对两部分进行区分。

2.1 从站控制器

从站控制器负责与EtherCAT从站控制器(ESC)做数据交换并完成控制和信号监测任务。从站控制器更像是一个物理模块的MCU,一方面通过 ESC 读取主站发送的控制参数,或将自身的数据发放到ESC上,然后通过主站读取。另一方面控制着硬件模块的执行动作或采集数据。

2.2 ESC:EtherCAT从站控制器

为确保通信效率和实时性,ESC完全负责与主站的通信过程。EtherCAT报文经过从站时,ESC从报文中提取发送给自己的输出命令数据,并将其存储到内部存储区。ESC同时会将需要写给主站的数据写入相应的子报文中。数据的提取和插入都是由数据链路层硬件完成的。

ESC使用两种物理层接口模式:MII 和 EBUS。 MII时标准的以太网物理层接口。而EBUS是德国倍福公司开发的基于LVDS标准的数据传输协议,比如倍福IO模块的耦合,绝大多数使用这种接口。

ESC芯片通常使用ET1100,也有其他型号的从站控制芯片,当使用MII方式时,必须要使用PHY芯片和隔离变压器等标准以太网物理层器件。

3. ESC专用芯片与FPGA IP-Core

ESC作为EtherCAT从站数据链路层协议的专用集成芯片,是开发从站不可获取的元件。ESC的硬件部分可以使用ASIC芯片或IP-Core来实现。

ASIC: 专用集成电路

IP-Core:FPGA的IP核,用于实现某些功能,这里专门实现ESC相关功能

 3.1 ESC ASIC芯片主要特性(ET1100为例)

端口:4个端口,EBUS/MII

FMMU:Fieldbus Memory Management Unit,现场总线内存管理单元,8个

存储同步管理单元:3个

过程数据RAM:8KB

分布时钟:64位

物理设备接口(PDI):32bit数字量IO, 8/16bit 异步/同步微处理器接口、串行外设接口

EEPROM:16KB

封装:BGA128, 10mm * 10mm 

3.2 以IP-Core方式实现ESC

Altra公司的ET18xx IP core可用于ESC。

Altra公司已于2015年被Intel收购,因此尚不确定该IP-Core是否还能使用

需要注意的是:IP-Core可以用于实现ESC功能。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/737255.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爬虫笔记14——爬取网页数据写入MongoDB数据库,以爱奇艺为例

下载MongoDB数据库 首先,需要下载MongoDB数据库,下载的话比较简单,直接去官网找到想要的版本下载即可,具体安装过程可以看这里。 pycharm下载pymongo库 pip install pymongo然后在在python程序中我们可以这样连接MongoDB数据库…

git stash Pop 后丢失,要如何找回?

文章目录 须知背景描述解决过程 须知 写在前面:我们都知道 stash list 中如果 pop 出来一条,那 list 里就会少一条,但其实使用 git stash pop 并没有真正地将该条 stash 删掉的,而是删除引用而已,因此当我们误 pop 时…

STM32学习 修改系统主频

前面时钟树的学习说明单片机的主频是可以修改的,那么怎么更改系统的主频,这里做一个简单的介绍。首先要明白,单片机的程序是如何运行,这里简单说明一下。 对应的代码在startup_stm32....文件里面,这里是复位程序的汇编…

vue3封装菜树,递归展示只显示第一层

问题描述 vue3封装菜树,递归展示只显示第一层 解决 需要在递归的组件中导出自己给自己使用

【网络安全的神秘世界】SQL注入漏洞

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 本章知识使用的靶场:DVWA 一、漏洞简介 SQL:结构化查询语言,是一种特殊的编程语言&#…

【设计模式深度剖析】【11】【行为型】【解释器模式】| 以算术表达式求值为例加深理解

👈️上一篇:状态模式 设计模式-专栏👈️ 文章目录 解释器模式定义英文原话直译 解释器模式中的角色1. 抽象表达式(AbstractExpression)2. 终端表达式(TerminalExpression)3. 非终端表达式(Non…

电容的命名规则

给如下参数给采购,就可以获取 还有一些参数需要重视 容值随着环境温度而保持的程度 常规应用时是可以不用看材质,但是如果使用在新能源汽车和极端环境下的电子产品,就需要关注材质,曾有供应商把可用级电容供应车企,导致…

微信小程序学习(六):常用原生 API

🔗API官方文档 1、网络请求 wx.request({// 接口地址,仅为示例,并非真实的接口地址url: example.php,// 请求的参数data: { x: },// 请求方式 GET|POST|PUT|DELETEmethod: GET,success (res) {console.log(res.data)},fail(err) {console.…

vue3源码(五)ref、toRef、toRefs、proxyRefs

1.ref 功能 ref与reactive功能类似,都是将数据变为响应式,ref通常用来定义基本类型数据,如字符串、数字、布尔值等。而reactive用来定义对象(或数组)类型数据。虽然ref也可以用来定义对象或数组类型的数据,但内部会通…

淦!在外包开发的三年给整废了,备战两个月终拿到Android阿里字节哈啰offer总结,阿里P6+这回稳了!

面试时候就感觉不靠谱,因为面试地点是位于近江附近的望江国际里面的温州银行,面试前网上搜了广电运通的信息,说是国企,所以我就硬着头皮接下 offer 了,没想到面试 Android 结果做的 C,而且也是驻场开发。 …

安装react之nvm版本低引起的问题

1.背景 准备搭建一个react,然后看官网文档 创建项目,使用命令行 npx create-next-applatest 创建项目的流程都是正常的。当我准备运行项目的时候,报错了 原先的报错没有了,从网上找了一个类似的 重要的内容是:当前…

[面试题]Jenkins

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

发表在SIGMOD 2024上的高维向量检索/向量数据库/ANNS相关论文

前言 SIGMOD 2024会议最近刚在智利圣地亚哥结束,有关高维向量检索/向量数据库/ANNS的论文主要有5篇,涉及混合查询(带属性或范围过滤的向量检索)优化、severless向量数据库优化、量化编码优化、磁盘图索引优化。此外,也…

k8s 部署 ruoyi 前后端分离项目

本文视频版 https://www.bilibili.com/video/BV17ugkePEeN 参考 https://blog.csdn.net/qq_50247813/article/details/136934090 https://gitee.com/nasaa/RuoYi-Vue-cloud https://www.itsgeekhead.com/tuts/kubernetes-129-ubuntu-22-04-3/ https://kubernetes.io/docs/se…

Kimichat使用案例026:AI翻译英语PDF文档的3种方法

文章目录 一、介绍二、腾讯交互翻译TranSmart https://transmart.qq.com/三、沉浸式翻译三、谷歌网页翻译一、介绍 短的文章,直接丢进kimichat、ChatGPT里面很快就可以翻译完成,而且效果很佳。但是,很长的PDF文档整篇需要翻译,怎么办呢? 二、腾讯交互翻译TranSmart https…

示例:WPF中应用DependencyPropertyDescriptor监视依赖属性值的改变

一、目的:开发过程中,经常碰到使用别人的控件时有些属性改变没有对应的事件抛出,从而无法做处理。比如TextBlock当修改了IsEnabled属性我们可以用IsEnabledChanged事件去做对应的逻辑处理,那么如果有类似Background属性改变我想找…

构建未来应用的核心,云原生技术栈解析

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、云原生技术栈 1、容器和容器编排 1.1 Docker 1.2 Kubernete…

如何在Android中实现多线程与线程池?

目录 一、Android介绍二、什么是多线程三、什么是线程池四、如何在Android中实现多线程与线程池 一、Android介绍 Android是一种基于Linux内核的开源操作系统,由Google公司领导开发。它最初于2007年发布,旨在为移动设备提供一种统一、可扩展的操作系统。…

朴素贝叶斯案例

一、朴素贝叶斯算法: 朴素贝叶斯算法,是一种基于贝叶斯定理与特征条件独立假设的分类方法,基于贝叶斯后验概率建立的模型,它用于解决分类问题。朴素:特征条件独立;贝叶斯:基于贝叶斯定理。属于…

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二&a…