blj28

导航

杂记2025-11-24

ETHERCAT 报文启动过程中对0x0600( 现场总线管理单元)地址操作有什么作用
 

好的,这个问题非常深入。将 0x0600 地址范围称为 “现场总线管理单元” 非常准确,它直接指向了 EtherCAT 从站控制器 的核心管理功能。

在 EtherCAT 启动过程中,对 0x0600 地址区的操作是初始化从站控制器和配置其基本运行参数的关键步骤。这相当于在启动一个计算机时,先设置它的 CPU(从站控制器)的寄存器和运行模式。

下面我们来详细分解这些操作的具体作用:

0x0600 地址区是什么?

这个地址范围(大约从 0x0600 到 0x07FF)包含了 EtherCAT 从站控制器 的 “寄存器” 。这些寄存器不同于过程数据映像区,它们用于控制 ESC 本身的行为,例如配置同步管理器、分布式时钟、FMMU 等硬件单元。

启动过程中的具体操作和作用

主站在启动阶段(通常在 INIT 到 PRE-OP 状态转换期间)会写入一系列配置值到这些寄存器,主要目的包括:

1. 配置同步管理器

  • 作用:同步管理器是 ESC 内部用于管理数据交换的“缓冲区控制器”。主站需要为每个同步管理器通道配置其类型(邮箱或过程数据)、方向(输入/输出)、以及其在物理内存中的起始地址和长度。

  • 操作:主站会向 0x0800-0x080F 等地址(这些地址是 SM 的配置寄存器,属于 0x0600 管理单元的一部分)写入参数,告诉从站:“SM0 用于邮箱输出,数据区在地址 0x1000;SM1 用于邮箱输入,数据区在地址 0x1000 + 邮箱大小...” 等等。

  • 重要性:这是建立主站与从站之间通信通道(无论是非周期性的邮箱通信还是周期性的过程数据通信)的基础。没有正确的 SM 配置,通信无法进行。

2. 配置 FMMU

  • 作用:FMMU 是一个地址映射单元,它负责将逻辑过程数据映像区中的某一段地址,“翻译”并映射到从站本地物理内存的特定地址。这是实现 EtherCAT “飞读飞写” 和高效过程数据交换的核心。

  • 操作:主站会向 FMMU 配置寄存器写入逻辑起始地址、物理起始地址、数据长度等参数。例如,主站配置 FMMU0,将逻辑地址 0x1001:02 映射到本地的 0x1600(一个 PDO 的输入地址)。

  • 重要性:这使得主站可以用一个单一的以太网帧,同时访问网络中所有从站的特定过程数据,实现了极高的效率和确定性。

3. 初始化分布式时钟

  • 作用:如果从站支持 DC 功能,主站需要对其进行初始化和同步。

  • 操作:主站会操作 DC 相关的控制寄存器(例如在 0x0900-0x09FF 范围内),例如:

    • 系统时间偏移:写入一个值,用于补偿从站时钟与参考时钟之间的传输延迟。

    • 循环时间:设置从站 DC 的同步周期。

    • 启动/停止 DC:通过控制位来激活 DC 单元。

  • 重要性:这是实现所有从站高精度同步(纳秒级)的基础,对多轴同步运动控制等应用至关重要。

4. 配置其他全局参数

  • 看门狗:配置过程数据看门狗和邮箱看门狗的超时时间,以确保从站在通信异常时能安全地进入错误状态。

  • AL 控制寄存器:写入应用层控制寄存器,控制从站的状态机转换(如从 INIT 到 PRE-OP)。

总结

对 0x0600(现场总线管理单元) 地址的操作,可以概括为:主站对从站控制器的“硬件编程”。

  • 目的:搭建一个高效、可靠、可同步的通信框架。

  • 类比:就像在组装一台电脑后,你需要进入 BIOS/UEFI 设置界面,配置内存时序、CPU 频率、启动设备顺序等。对 0x0600 地址的操作就是 EtherCAT 主站的“BIOS 设置”过程。

  • 结果:经过这些配置后,从站控制器就知道了:

    • 数据从哪里来,到哪里去(SM 和 FMMU 配置)。

    • 如何与网络中的其他设备保持同步(DC 配置)。

    • 在什么情况下应该进入安全状态(看门狗配置)。

只有完成了这些底层硬件的配置,后续的邮箱通信(如 SDO 参数配置)和周期性过程数据交换(PDO)才能正常进行。

 

image

 

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

FMMU 单元由主站设备配置, 并在数据链路启动过程中传送给从站设备。
每个FMMU单元需要以下配置信息:数据逻辑位起始地址、从站物理内存起始地址、位长度、表示映射方向(输入或输出)的类型位, 从站设备内的所有数据都可以按位映射到主站逻辑地址。
将主站控制变量区0x00014711 从第3 位开始的6 位数据映射到由设备地址0x0F01 第1位开始的6 位数据写操作。0x0F01 是一个开关量输出设备。

image

 

 

从站设备收到一个数据逻辑寻址的EtherCAT 子报文时, 检查是否有FMMU 单元地址匹配。如果有, 它将输入类型数据插入到EtherCAT 子报文数据区的对应位置,
以及从EtherCAT 子报文数据区的对应位置抽取输出类型数据。使用逻辑寻址可以灵活地组织控制系统,优化系统结构。
逻辑寻址方式特别适用于传输或交换周期性过程数据。FMMU 操作具有以下功能特点:
每个数据逻辑地址字节只允许被一个FMMU读和另一个FMMU 写操作, 或被|司一个FMMU 进行读写交换操作;

对一个逻辑地址的读写操作与使用一个FMMU 读和另一个FMMU 写操作具有相同的结果;

按位读写操作不影响报文中没有被映射到的其他位, 因此允许将儿个从站ESC中的位数据映射到主站的|百j一个逻辑字节;

读写一个未配置的逻辑地址空间不会改变其内容。

 

 

posted on 2025-11-26 15:08  bailinjun  阅读(0)  评论(0)    收藏  举报