EtherCAT 之邮箱

EtherCAT特点

由于工作需要, 最近在学习EtherCAT总线,对于主站和从站的通信,发表一下我个人的理解。

EtherCAT 之邮箱_第1张图片

1. EtherCAT为保证低延迟高响应,不可能像MODBUS一样用软件解析数据包再转发的模式,而是采用“高速火车”不停车上下车的方式,不停车指的是底层转发完全靠硬件实现流处理,自动加载和提取数据,上层需配置相应的寄存器即可。

2. 通信兼容,最大化兼容以太网现有的设备,配置好上位机软件,可以直接使用电脑控制(需要一些实时性优化)。

从站协议状态机(硬件)

底层由硬件状态机处理,上层软件负责通信调度和管理。

 

EtherCAT 之邮箱_第2张图片

                                                                                   硬件工作原理简图 

端口状态机PSM

用于处理MAC帧并将其以八位位组的长度送到上一层处理。

①信息以一个八位位组的序列传输,而不是直接传输整个帧

②自动模式下端口自动开闭,或者由指令关闭该回路。

DLPDU处理状态机 (DHSM)

DLPDU为数据链路层处理数据单元,是一种特定的实时EtherType或特定的UDP目的端口的以太网帧解释器。包含EtherCAT处理循环帧的检测和自动增量地址的处理,更新WKC和FCS检测等功能。当该“解释器”识别到与本地内存和寻址,将产生与更高一层状态机的交互。

同步信号管理器状态机(SYSM)

同步信号管理器用作邮箱和缓存存储器的存储区域。邮箱服务将被转发到一个邮箱处理重试的状态机(PMSM),一般EtherCAT从机有四个同步管理器,每个同步管理器都对应一个SYSM。如果有一个特殊的内存地址对应到一个SYSM,则将有一个对应存储区域或者寄存器的请求。

恢复邮箱状态机(RMSM)

RNSM负责在操作读邮箱过程中进行重试操作和检查写邮箱指令的序列号。

从站信息访问状态机(SIISM)

负责读写和更新特定的从站寄存器接口。

邮箱介绍

EtherCAT 之邮箱_第3张图片

                                                                      EtherCAT数据流

邮箱位于同步管理器之上(SYSM), 对大多数从机应用的核心是邮箱的数据和过程的处理,一般使用邮箱封装CiA301协议(对象字典,CoE)的方式实现。以下为主站从站邮箱通信的说明。

邮箱是双向工作的:由主站到从站,及由从站到主站,它支持两个方向以上独立全双工通信和多数据链路用户协议。从站从站间的通信通过类似路由器的主站进行管理。邮箱首部包含了一个允许主站进行重定向服务的地址字段(上图Address)。
邮箱使用了两个同步管理器通道(SM),每个方向一个通道(如通道0用于主机发送到从站,通道1位从站到主站)。邮箱的通信一般是非周期性的,并对单个从站进行寻址。因此不需要FMMU(现场总线内存管理单元)的逻辑地址,而是使用物理寻址。

邮箱主站与从站的通信过程中,主站必须检查从站邮箱应答命令中的工作计数器,如果工作计数器没有增加(通常因为从站没有完全读取上一条命令)或在规定时间内没有响应,主站必须重发该邮箱命令。

重发命令后,如果命令响应丢失(主站没有收到应答),主站发送写SM_activate命令(反转repeat)后,不再读取邮箱。从站检查SM_activate检测出邮箱重复请求,将psRepeatMbx(上次发送的备份)缓存再次放入邮箱,并反转SM_read_toggle。 此时主站周期性的读取SM DL_user的CTRL,检查从站是否结束请求,当检查的到SM DL_user的CTRL反转时,主站再次读取发送邮箱。

从站到主站的通信,主站必须确定从站是否使用邮箱命令填满了同步管理器(从站预存数据),并尽快发送适当的读命令。从站接收到邮箱读事件,需保存发送缓冲器以用于可能的重复 (psRepeatMbx = psReadMbx)。

 

 

你可能感兴趣的:(EtherCAT)