【EtherCAT分析】一、EtherCAT从站硬件分析

1、EtherCAT从站控制芯片

   EtherCAT从站控制芯片ESC是实现EtherCAT数据链路层协议的核心,它处理EtherCAT数据帧,并提供数据接口。从站控制器通常都有一个内部的DPRAM,并提供存取这些应用内存的接口范围:

1)串行SPI(串行外围接口):主要用于数量较小的过程数据设备,如模拟量I/O模块、传感器、编码器和简单驱动等。该接口通常使用8位微控制器,如MCU芯片STM8/32、DSP等。

2)8/16位微控制器并行接口与带有DPRAM接口的传统现场总线控制器接口相对应,尤其适用于数据量较大的复杂设备。

3)32位并行I/O接口不仅可以连接多达32位数字输入/输出,而且也适用于简单的传感器或执行器的32位数据操作。这类设备无需主机CPU。

    ESC由德倍福自动化有限公司提供,包括ASIC芯片和IP-Core。倍福提供的ASIC专用芯片有ET1100和ET1200。

     也有多家制造商根据倍福提供的IP-Core,通过价格低廉的FPGA,也可实现从站控制器的功能,包括MicroChip的LAN9252、英飞凌XMC4800芯片、亚信ASIX AX58100。

     目前使用最多的还是ET1100和LAN9252,ET1100相对而言价格较贵,且无内置PHY;但其FMMU、SyncMagager、RAM性能都优于LAN9252。在初始学习,不考虑成本情况下,选择ET1100作为倍福公司的EtherCAT从站控制芯片,毕竟EtherCAT是倍福提出的,且主站TwinCAT也是倍福公司的,兼容性会更好。当然不同方案的整体思路是一致的,学习好一种ESC方案后,切换到另外一种ESC芯片还是很方便的。

2、ET1100芯片介绍

  ET1100芯片是倍福公司推出的EtherCAT从站控制器专用芯片。它最多支持4个数据收发端口,每个端口都可以处于打开或者闭合状态。每个ET1100芯片有8个现场总线管理单元、8个同步管理单元、4K控制寄存器、8K过程数据存储器和64位的分布时钟。ET1100能够直接作为32位数字量输入输出站点,或者通过过程数据接口与微处理器连接,组成具有复杂功能的从站设备。ET1100的结构图如图所示。

ET1100芯片有一些特定的引脚可以复用为配置引脚,在从站上电时,这些引脚的电平由ET1100作为配置信息锁存,信号被锁存后,引脚可以用作其他用途,引脚信号的方向也可以改变。配置引脚的方法是外接上拉或者下拉电阻,外接上拉电阻时,配置为1;外接下拉电阻时,配置为0。有些配置引脚在配置阶段结束以后,会被用作状态输出引脚来外接LED灯,如果配置为1,则引脚输出为0时LED点亮,如果配置为0,则引脚输出为1时LED点亮。ET1100的引脚配置表如表所示。

3、基于ET1100+STM32的EtherCAT从站设计

   EtherCAT硬件电路设计分为2个部分:应用层微处理器电路设计、数据链路层电路设计。这里数据链路层采用倍福公司提供的ET1100从站控制芯片,应用层控制器采用STM32单片机,这里采用串行SPI方式进行通讯。系统整体的硬件框架如下图所示。

   应用层控制器采用STM32处理器,它通过SPI实现与ET1100数据交换,并实现EtherCAT应用层协议。链路层电路的核心为ET1100,它能处理EtherCAT数据帧,并为从站设备提供数据接口。晶振用于给ET1100提供时钟信号,EEPROM用于存储从EtherCAT主站下载的配置信息。ET1100芯片只支持MII(介质独立接口)的以太网物理层PHY器件,本设计中,选用与ET1100兼容的KS8721BL芯片作为PHY芯片。主站发来的数据,通过网络RJ45连到EtherCAT从站,经过H1102隔离变压芯片隔离变压后,经过KS8721BL芯片后到达ET1100进行相应处理。

【EtherCAT分析】一、EtherCAT从站硬件分析_带 ethercat 从站的芯片-CSDN博客

### EtherCAT配置与实现 #### 1. 配置过程 在TwinCAT环境中对设备进行组态时,软件首先利用其硬件网卡搜索网络上的所有EtherCAT设备。旦发现这些设备,便能够将XML文件烧录到LAN9252所连接的EEPROM之中[^2]。这意味着每当设备启动供电之时,物理层(PHY)组件可以根据预先存储于EEPROM内的数据完成自我设定。 对于具体的EEPROM操作而言,在系统初始化阶段即复位状态下是由主负责管理EEPROM的操作流程;随后权限转移给外围设备接口(PDI),允许后者接管并继续执行必要的设置动作。此过程中涉及到读取或修改ESC(EtherCAT Slave Controller)下的EEPROM控制寄存器以达到调整目的,特别是用于指定工作模式以及选择合适的通信接口形式。为了简化这复杂的过程,Beckhoff提供了专门工具`et1100_configuration_and_pinout_v4.4.xls`来辅助用户轻松地完成寄存器级别的细致化配置任务[^3]。 #### 2. 实现方式 要创建个功能完备的EtherCAT,通常需要遵循如下几个方面: - **硬件准备**:选用支持EtherCAT协议栈的微控制器单元(MCU), 如STM32系列,并搭配专用芯片如LAN9252作为物理层器件。 - **固件开发**:编写适用于选定MCU平台的应用程序代码,该部分逻辑应能响应来自主的各种命令请求,并按照既定规则更新本地状态信息。以下是基于C/C++的个简单示例函数框架,展示了如何处理接收到的数据包: ```c++ void handle_ethercat_frame(uint8_t* buffer, size_t length){ // 解析帧头获取类型和其他必要字段 uint16_t frame_type = extract_field(buffer); switch(frame_type){ case CMD_READ_REG: send_response(read_register(extract_address(buffer))); break; case CMD_WRITE_REG: write_register(extract_address(buffer), extract_value(buffer)); send_acknowledgement(); break; default: send_error_message(INVALID_COMMAND); break; } } ``` - **集成测试**:最后步是对整个系统的稳定性进行全面验证,确保各个节点之间可以稳定可靠地交换消息。这可能涉及到了解特定厂商提供的调试工具和服务的支持情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值