EtherCAT
ethercat_i7
这个作者很懒,什么都没留下…
展开
-
EtherCAT ET1100从站信息接口介绍
ESC使用EEPROM来存储所需要的设备相关信息,称为从站信息接口SII(Slave Information Interface)。以Beckhoff 两通道模拟量输入模块EL3102为例,简单介绍 EEPROM中存储的各种信息的位置和含义。一、EEPROM内容一览 根据ET1100的datasheet,EEPROM中的存储结构如下: 以EL3102为例,从T原创 2016-10-10 16:32:51 · 25889 阅读 · 13 评论 -
EtherCAT一致性测试简介
在EtherCAT从站开发过程中,使用ETG官方提供的一致性测试软件对产品进行一致性测试是非常有必要的。一、获取软件EtherCAT Conformance Test Tool,简称CTT,必须以ETG会员的身份进行购买,订货信息为ET9400,每次购买的有效期为一年,过期后续重新购买。 ETG官网上关于CTT的介绍: https://www.ethercat.org.cn/cn/...原创 2018-05-24 14:08:22 · 10628 阅读 · 1 评论 -
EtherCAT从站开发入门
EtherCAT从站开发中,除了常见的ESC(FPGA IP)+DSP方案外,TI、瑞萨、英飞凌等芯片厂家也纷纷推出了集成ESC功能的芯片,本文介绍英飞凌xmc4800芯片的入门使用过程,并在后续文章中,基于英飞凌提供的从站例程,介绍EtherCAT基本原理和具体的代码实现过程。一、软硬件环境...原创 2018-05-24 10:22:40 · 26136 阅读 · 17 评论 -
EtherCAT---帧格式详解
以COE(CANopen over EtherCAT)的SDO服务为例,EtherCAT帧格式如下图所示:从图中可看出CANopen、EtherCAT和Ethernet这几个协议的大致关系。原创 2016-11-16 15:23:46 · 13592 阅读 · 4 评论 -
Etherlab源码解析----master状态机
Etherlab扫描和配置从站均由状态机相关代码完成,本文介绍其基本工作原理。1、ec_fsm_master 结构体ec_fsm_master是一个状态机实现过程中非常重要的结构体:struct ec_fsm_master { ec_master_t *master; /** ec_datagram_t *datagram; /** unsigned int原创 2017-08-30 14:41:23 · 3799 阅读 · 1 评论 -
EtherCAT主站实时性分析
一、实时性的意义 在主从DC同步模式下,主站需要以非常精准的时间发送过程数据,如下图所示:二、实时性的关键 如下图所示,影响实时性的关键因素是操作系统和网卡驱动,前者需要将过程数据准时送出,后者需要优化网卡驱动,即"准时出发,路上不能耽误"。操作系统的实时性体现在需要非常准时地调用EtherCAT主站协议栈的发送函数,例如SOEM的发送函数是e原创 2017-01-04 13:36:50 · 15404 阅读 · 15 评论 -
Etherlab源码解析----FMMU配置
FMMU的全称是Fieldbus Memory Management Unit, 负责将从站本地物理存储地址映射到网段内逻辑地址。本地物理存储地址可以是ESC的寄存器区域,最典型的应用是邮箱通信中,将SM1的状态位(0x80D.3)映射到逻辑地址,主站周期性地读这一位的状态来判断邮箱的状态。本地物理存储地址也可以是SM所管理的过程数据所在的地址空间,本文将简述IGH Etherlab在何时,以及如何原创 2017-11-14 16:03:20 · 7712 阅读 · 2 评论 -
Etherlab源码解析----同步管理器SM配置(邮箱通信)
主站和从站间的邮箱通信通常使用SM0和SM1,IGH Etherlab在控制从站进入preop之前 需要配置从站的SM0和SM1寄存器。1、SM寄存器SM0配置寄存器的起始地址为0x800,SM1配置寄存器的起始地址为0x808,每个通道使用8个字节。 2、执行配置Etherlab在扫描从站时,或者激活master以后,都要控制从站从init切换到preop状态,执行状态切换之前 将执行Fsm原创 2017-11-02 17:03:29 · 5540 阅读 · 0 评论 -
Etherlab源码解析----同步管理器SM配置(过程数据)
在进行过程数据通信之前,EtherCAT主站需要配置从站的同步管理器,通常为SM2和SM3,本文介绍IGH Etherlab配置从站SM2和SM3的过程。1、SM寄存器SM配置寄存器从0x800开始,每个通道使用8个字节。 2、执行配置当应用程序调用ecrt_master_activate(master)激活master以后,Etherlab状态机就会执行Fsm_slave_config.c原创 2017-10-10 09:03:15 · 6449 阅读 · 0 评论 -
使用ET2000和Wireshak分析Ethercat主站的实时性
在DC同步模式下,Ethercat主站能否在规定的时间内发送过程数据帧,是影响整个系统性能的关键因素,本文介绍如何使用Wireshark抓取总线上的Ethercat数据包,并将主站发过程数据帧的时间间隔以曲线的形式显示出来。1、连接ET2000将ET2000串接在网络中:2、启用ESL协议打开Wireshark -> 分析 ->启用的协议对话框,勾选esl_et...原创 2017-08-22 14:05:07 · 8679 阅读 · 11 评论 -
EtherCAT主站SOEM源码解析----Raw Socket
SOEM使用Raw Socket收发EtherCAT,即调用系统的bind、send和recv函数实现EtherCAT通信。1、创建Socket初始化函数ec_init(ifname)最终会调用/oshw/linux/nicdrv.c下的以下这个函数完成绑定网卡和创建1个Raw Socket。int ecx_setupnic(ecx_portt *port, const char *ifname原创 2016-10-18 12:34:34 · 7241 阅读 · 2 评论 -
EtherCAT主站SOEM源码解析----同步管理器SM配置
本文介绍SOEM(Simple Open Source Master)如何配置从站的SM(SyncManager)寄存器。1、SM寄存器SM配置寄存器从0x800开始,每个通道使用8个字节,如下图所示: 附:寄存器详情其中控制寄存器各位的含义如下: 状态寄存器各位的含义如下: 激活控制寄存器各位含义为: PDI控制寄存器各位含义为:原创 2016-10-14 16:27:19 · 9863 阅读 · 5 评论 -
EtherCAT主站SOEM源码解析----IOmap
SOEM通过函数ec_config_map(&IOmap)完成逻辑地址和物理地址的映射,应用程序需要定义一个数组IOmap,例如: char IOmap[4096]; 完成映射后,应用程序就可以通过读写数组IOmap[]来完成与从站的数据交换。1、映射关系SOEM首先将所有从站的输出映射到IOmap[]的开始位置,然后是输入,如下图所示: 2、具体实现函数ec_config_m原创 2016-10-17 13:06:02 · 11133 阅读 · 0 评论 -
EtherCAT主站SOEM源码解析----EEPROM访问
SOEM(Simple Open EtherCAT Master)是一个开源的EtherCAT主站。本文介绍其中读取从站EEPROM信息的步骤。1、ESC EEPROM访问控制寄存器从站控制芯片ESC EEPROM控制寄存器如下: 2、读EEPROM步骤 读的一般步骤为: (1) 读取EEPROM控制/状态寄存器0x0502:0x0503的内容,确认EEPROM没有处于Busy状态原创 2016-10-12 12:46:39 · 6471 阅读 · 10 评论 -
EtherCAT主站SOEM源码解析----ecx_siiPDO()
1、从站EEPROM的PDO信息从站EEPROM存储的PDO信息如下如所示: TxPDO的类型名为50(0x0032),RxPDO的类型名为51(0x0033). 每个PDO占用的EEPROM字节数为8+8*er(er位Entry个数)。2、读取PDOx信息SOEM中函数ecx_siiPDO()读取EEPROM中PDO信息,返回值所有PDO中bit len的总和。int ecx_siiPDO(e原创 2016-10-13 10:16:48 · 7406 阅读 · 13 评论 -
EtherCAT FoE简介
FoE(File Access over EtherCAT)可实现EtherCAT节点之间的文件传输,本文介绍FoE的基本原理,以及FoE在开源EtherCAT主站Etherlab中的实现过程。一、软件更新方式在产品开发调试过程中,我们一般使用仿真器更新程序。当产品发布后,我们通常使用串口、CAN或者WiFi等端口更新程序。如果是EtherCAT从站设备,使用FoE在bootstrap...原创 2018-08-07 13:29:24 · 11348 阅读 · 6 评论