Ethercat FMMU
总线内存管理单元是从站数据链路层的中的功能模块,用户只需要知道其作用即可,其配置完全由主站执行。
FMMU - Fieldbus Memory Management Units.总线内存管理单元。
FMMU的功能是将主站分配的逻辑地址转换为本地地址,每一个FMMU通道将一段连续的物理地址映射到一段连续的逻辑地址中。这样就实现了主站的逻辑寻址和实际物理地址的映射。
举个例子来理解一下,上学的时候每个人都有学号,同时每个人都有一个名字,名字是父母分配的相当于固定的一般来讲这辈子可能就不会变了,学号是学校分配的,学校在分配学号时会根据一定的规则来编学号使得每个人的学号都不同。这样就建立出一个对应关系,一个学号对应一个学生。学校想找到某个学生时可以通过学号来搜素到唯一的一位学生并找到他的所有信息,而如果通过名字去寻找的话,那就可能出现重名的问题。
主站在检测到所有的从站设备后,会按照链接的顺序给每一个总线上的Slave分配一段地址,并将这段地址下发给各个Slave。FMMU就负责将主站分配的地址和Slave本身的物理地址建立映射关系。
FMMU设置:
1、 主站读取每一个从站的硬件配置包括输入输出数据的长度。
2、 主站组织数据编址。
3、 主站将为每一个从站的分配好的逻辑地址下发到各个从站中(配置FMMU configuration register)。
4、 数据开始传输。
FMMU的配置工作由主站操作。对于从站的开发来说只需要核对好设备描述文件中的地址分配就可以了。