【每周分享】LAN9252的核心模块详解之一:FMMU模块

发布时间:2026/5/25 22:00:55

【每周分享】LAN9252的核心模块详解之一:FMMU模块 Microchip出品的LAN9252是一款支持HP Auto-MDIX的集成以太网PHY的2/3端口的EtherCAT控制器芯片可以通过8/16总线与大多数8/16/32位嵌入式控制器进行连接和通信并且支持3个FMMU和4个SM在电机运动控制器、工厂自动化和阀控制系统等领域应用广泛。其中FMMU是其核心模块之一占据着重要的地位今天就带大家一起来了解下FMMU希望可以给从事工业自动化产品的兄弟们提供一些应用价值FMMU全称FieldbusMemory Management Unit即现场总线存储器管理单元看字面意思其实就是一种用来管理现场总线EtherCAT等存储器的一种技术一种机制或者说是实现EtherCAT协议高效数据交换的核心硬件模块其主要作用是将EtherCAT主站使用的逻辑地址映射到从站设备本地的物理地址上其涉及的内部框图截图如下正是因为有了FMMU的硬件映射EtherCAT从站才能实现硬件级别的数据处理极大地缩短了通信的延迟并确保了数据交换的确定性非常符合工业自动化对实时性的严苛要求。因为FMMU是通过内部地址映射机制将逻辑地址转换为物理地址的因此FMMU允许对跨越多个从站设备的数据段使用逻辑寻址单个数据报可寻址分布在多个任意ESCEtherCAT Slave ControllerEtherCAT从站控制器即指ESC芯片LAN9252等中的数据而每个FMMU通道将一个连续的逻辑地址空间映射到从站的一个连续物理地址空间。接下来我们通过解读与FMMU模块相关的寄存器来进一步了解一下。查看LAN9252数据手册与FMMU相关的寄存器主要包括下面这些FMMU支持寄存器的详解如下这个寄存器的值即该芯片支持的FMMU模块的个数为3个。其中ECAT类型表示主站对寄存器的操作权限RO只读PDI类型表示从站模块本地程序对寄存器的操作权限RO只读。我们在TwinCAT软件中连上LAN9252从站模块也可以通过读取寄存器偏移地址的方式获取到FMMU模块的个数FMMU[2:0]寄存器的偏移地址从0600h开始每个FMMU用16个字节描述下面的表格详细给出了每个FMMU的基址后续FMMU 寄存器将以相对于这些不同基址的偏移量的形式进行引用其中以下位说明中使用变量“x”表示FMMU 0至FMMU 2FMMU[2:0]寄存器总共有9种寄存器其详解分别如下所示同样的在TwinCAT软件中也可以查询到它们的值以上这些寄存器只能通过主站对其进行写操作从站模块本地只能执行读操作。另外我们再看下其他有关FMMU模块功能的一些配置。固定FMMU配置固定为可变配置即支持通过主站软件进行FMMU寄存器的动态修改不支持修改只读模式。FMMU操作固定为针对位操作效率高不支持修改只读模式以上所有便是对FMMU模块的一些解读。接着我们通过Wireshark抓包来看下FMMU的数据使用ecat.fmmu的过滤条件来找到有FMMU的EtherCAT数据包随便看一个FMMU的数据从LogStart到Activate之间的数据不就是之前介绍的FMMU的寄存器对应的值嘛这就与芯片底层逻辑连上关系了对应数据来解读寄存器会更加易于理解。对FMMU模块的一些介绍就暂时告一段落了~~---------------------作者dffzh链接https://bbs.21ic.com/icview-3508092-1-1.html?_dsign8dc6e440来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。

相关新闻