news 2025/12/23 11:59:27

EtherCAT 逐帧报文解析:配置SM/FMMU

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EtherCAT 逐帧报文解析:配置SM/FMMU

1、APWR 写 0x10 寄存器:设定从站地址

发:

回:

2、APRD读0x130:读取AL状态

发:

回:

3、FPWR 写 0x910、0x990、0x981、0x930、0x934 寄存器:清空DC配置

发:

回:

4、APWR 写 0x120 寄存器:写入 AL 状态进入INIT状态

发:

回:

5、重复操作(遍历从站):

操作内容:重复步骤 1-4 的 APWR/FPWR 写操作,完成后连续执行 FPRD→APRD→APRD→BRD 指令,访问设置所有从站节点

遍历对象:第二个 0x3ea 从站及后续所有从站

6、FPWR 写0x800、0x808:配置SM信息

寄存器地址偏移寄存器名称作用说明
+0h~+1hSyncManager x Physical Start Address Register(同步管理器 x 物理起始地址寄存器)配置当前 SyncManager 对应的从站物理内存起始地址,即该 SyncManager 的数据缓冲区在从站硬件内存中的起始位置
+2h~+3hSyncManager x Length Register(同步管理器 x 长度寄存器)配置当前 SyncManager 的数据缓冲区长度,决定该 SyncManager 单次可传输的数据字节数
+4hSyncManager x Control Register(同步管理器 x 控制寄存器)配置 SyncManager 的工作模式,包括数据传输方向(邮箱写 / 读、过程数据输入 / 输出)、是否启用 PDI 中断等功能
+5hSyncManager x Status Register(同步管理器 x 状态寄存器)反馈当前 SyncManager 的工作状态,例如缓冲区是否空闲、是否触发中断等
+6hSyncManager x Activate Register(同步管理器 x 激活寄存器)控制当前 SyncManager 的启用 / 禁用状态,写入对应值(例如 0x01)可激活该 SyncManager 的功能,使其参与 EtherCAT 数据传输
+7hSyncManager x PDI Control Register(同步管理器 x PDI 控制寄存器)配置从站 PDI(过程数据接口)与 SyncManager 的交互逻辑,控制 PDI 对 SyncManager 缓冲区的访问权限或触发条件

发:

回:

7、FPWR 配置 FMMU:

寄存器地址偏移寄存器名称作用说明
+0h~+3hFMMUx Logical Start Address Register(FMMUx 逻辑起始地址寄存器)配置 EtherCAT 帧中的逻辑地址起始位置,即主站发送数据时的目标逻辑地址
+4h~+5hFMMUx Length Register(FMMUx 长度寄存器)配置该 FMMU 映射的数据字节长度,决定单次映射传输的数据量
+6hFMMUx Logical Start Bit Register(FMMUx 逻辑起始位寄存器)配置逻辑地址中数据的起始位(用于位级映射,适配非字节对齐的数据)
+7hFMMUx Logical Stop Bit Register(FMMUx 逻辑终止位寄存器)配置逻辑地址中数据的终止位,与起始位共同限定逻辑地址的位范围
+8h~+9hFMMUx Physical Start Address Register(FMMUx 物理起始地址寄存器)配置从站物理内存的起始地址,即逻辑地址映射到从站硬件内存的目标位置
+AhFMMUx Physical Start Bit Register(FMMUx 物理起始位寄存器)配置物理内存中数据的起始位,实现从站物理内存的位级访问
+BhFMMUx Type Register(FMMUx 类型寄存器)配置 FMMU 的访问类型(读 / 写 / 读写),限定主站对该映射区域的操作权限
+ChFMMUx Activate Register(FMMUx 激活寄存器)控制该 FMMU 的启用 / 禁用状态,写入对应值可激活映射功能
+Dh~+FhFMMUx Reserved Register(FMMUx 保留寄存器)预留寄存器,无实际功能,通常配置为 0

发:

回:

8、设置成pre-op:

发:

回:

9、重复上述操作,对所有从站操作。最后使用FPRD-APRD-APRD-BRD统一对所有从站进行0x130读操作,确认所有从站进入pre-op状态。

======================配置SM/FMMU阶段结束================================

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/20 21:49:51

Springboot连锁药店进销存业务系统98i85(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能:员工,供应商,药品信息,药品采购,进货出库,药品销售,退货入库,药品报损,药品销毁开题报告内容基于SpringBoot的连锁药店进销存业务系统开题报告一、选题背景与意义1.1 行业现状与痛点随着医疗行业的快速发展和人们对健康需求的日益增加&…

作者头像 李华
网站建设 2025/12/21 22:12:59

智能测试指标动态权重分配研究

随着人工智能与机器学习技术在软件测试领域的深度渗透,传统静态权重分配模式已难以适应瞬息万变的测试环境。本文基于2025年行业实践数据,提出以动态权重分配为核心的新型测试评估体系,通过构建具备自适应能力的指标权重矩阵,有效…

作者头像 李华
网站建设 2025/12/21 13:30:26

std::promise 重难点

std::promise 重难点全拆解 std::promise 是 C11 异步编程的核心组件,但其难点不在于语法本身,而在于状态管理、生命周期控制、异常传递等“隐性规则”——踩中任何一个都可能导致程序崩溃或逻辑异常。本文用“专业底层逻辑通俗比喻分步实操”的方式&…

作者头像 李华
网站建设 2025/12/22 7:01:16

基于单片机的PID调节脉动真空灭菌器上位机远程监控设计

基于单片机的PID调节脉动真空灭菌器上位机远程监控设计概述 点击链接下载设计资料:https://download.csdn.net/download/qq_39020934/92091240 1.1 研究背景与设计意义 脉动真空灭菌器广泛应用于医疗器械、生物实验室以及制药行业,是保证器械和材料无菌…

作者头像 李华