EtherCAT从入门到精通(10)

接前一篇文章:EtherCAT从入门到精通(9)

本文内容参考:

《工业以太网现场总线EtherCAT驱动程序设计与应用》 郇极 刘艳强 编著 北京航空航天大学出版社

工业以太网现场总线 EtherCAT 驱动程序设计及应用学习笔记_ethercat总线-CSDN博客

特此致谢!

三、EtherCAT协议详解

3. EtherCAT报文寻址和通信服务

EtherCAT通信由主站发送EtherCAT数据帧读写从站设备的内部存储区来实现。EtherCAT报文使用多种寻址方式操作ESC内部存储区,实现多种通信服务。EtherCAT网络寻址方式如下图所示:

一个EtherCAT网段相当于一个以太网设备,主站首先使用以太网数据帧头的MAC地址 寻址到网段 ,然后使用EtherCAT子报文头中的32位地址 寻址到段内设备。

段内寻址 可以使用两种方式 :设备寻址 和逻辑寻址 。设备寻址针对某一个从站进行读写操作;逻辑寻址面向过程数据,可以实现多播,同一个子报文可以读写多个从站设备。支持所有寻址模式的从站称为完整型从站 ;而只支持部分寻址模式的从站称为基本从站。

(3)逻辑寻址和FMMU

逻辑寻址时,从站地址并不是单独定义的,而是使用寻址段内4GB()逻辑地址空间中的一段 区域。报文内的32位地址区作为整体的数据逻辑地址完成设备的逻辑寻址。

逻辑寻址方式由现场总线内存管理单元(FMMU,Fieldbus Memory Management Unit)实现,FMMU功能位于每一个ESC内部,将从站本地物理存储地址(16位)映射到网段内逻辑地址(32位),其原理如下图所示:

现场总线内存管理单元(FMMU)运行原理

FMMU单元由主站设备配置,并在数据链路启动过程中传送给从站设备。每个FMMU单元需要以下配置信息:数据逻辑位起始地址、从站物理内存起始地址、位长度、表示映射方向(输入或输出)的类型位,从站设备内的所有数据都可以按位映射到主站逻辑地址。

一个映射实例如下表和图所示:

FMMU配置寄存器 数值
数据逻辑起始地址 0x00014711
数据长度 2
数据逻辑起始位 3
数据逻辑终止位 0
从站物理内存起始地址 0x0F01
物理内存起始地址 1
操作类型(1:只读,2:只写,3:读写) 2
激活(使能) 1
[FMMU配置示例]

将主站控制变量区0x00014711从第3位开始的6位数据映射到由设备地址0x0F01第1位开始的6位数据写操作。0x0F01是一个开关量输出设备。

FMMU映射举例

从站设备收到一个数据逻辑寻址的EtherCAT子报文时,检查是否有FMMU单元地址匹配。如果有,它将输入类型数据插入到EtherCAT子报文数据区的对应位置,并且从EtherCAT子报文数据区的对应位置抽取输出类型数据。使用逻辑寻址可以灵活地组织控制系统、优化系统结构。逻辑寻址方式特别适用于传输或交换周期性过程数据。

FMMU操作具有以下功能特点:

  • 每个数据逻辑地址字节只允许被一个FMMU读和另一个FMMU写操作,或被同一个FMMU进行读写交换操作;
  • 对一个逻辑地址的读写操作与使用一个FMMU读和另一个FMMU写操作具有相同的结果;
  • 按位读写操作不影响报文中没有被映射到的其它位,因此允许将几个从站ESC中的位数据映射到主站的同一个逻辑字节;
  • 读写一个未配置的逻辑地址空间不会改变其内容。

更多内容请看下回。

相关推荐
敢敢のwings1 小时前
Long-WAM 深度解析:机器人怎样记住过去、预测未来,并及时完成下一段动作
机器人
不脱发的程序猿4 小时前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
敢敢のwings6 小时前
从 VPP 到 VPP2:让机器人看懂未来,再把未来变成动作
机器人
小lo想吃棒棒糖7 小时前
把机器人训练从 GPU 搬到昇腾 NPU:启元 Q1 起身动作 PPO 训练全记录
python·机器人·昇腾·启元机器人
天树星智源8 小时前
机器人 VLA 一个模型同时动手和动脑:动作参数只占 0.21%,万级扰动任务 85.9%
论文阅读·机器人·vla·全身控制
lisw058 小时前
基于神经网络的机器人导航系统的设计与执行!
神经网络·机器人·自动化
敢敢のwings9 小时前
机器人如何通过触觉认识物体:从材质分类到接触状态判断
分类·机器人·材质
lishen217 小时前
06 · 我把开发流程拆成了 AI 能执行的技能
嵌入式
米糕闯编程1 天前
鱼香ros2(二十五)导航
机器人·slam·ros2·launch·navigation2