EtherCAT从站学习条记——3.2从站掌握芯片ESC先容3.2.1 ESC紧张功能
EtherCAT从站掌握芯片ESC是实现EtherCAT数据链路层协议的专用集成电路芯片。它处理EtherCAT数据帧,并为从站掌握装置供应数据接口。
ESC构造如图3-2所示,紧张具有以下功能:
1) 集成数据帧转发处理单元,通信性能不受从站微处理器性能限定。每个ESC最多可以供应4个数据收发轫口;主站发送EtherCAT数据帧操作被ESC称为ECAT帧操作。

2) 最大64K字节的双端口存储器DPRAM存储空间,个中包括4K字节的寄存器空间和1~60K字节的用户数据区,DPRAM可以由外部微处理器利用并行或串行数据总线访问,访问DPRAM的接口称为物理设备接口PDI(Physical Device Interface)。
3) 可以不用微处理器掌握,作为数字量输入/输出芯片独立运行,具有通信状态机处理功能,最多供应32位数字量输入输出。
4) 具有FMMU逻辑地址映射功能,提高数据帧利用率。
5) 由储存同步管理器通道SyncManager(SM)管理DPRAM,担保了运用数据的同等性和安全性。
6) 集成分布时钟(Distribute Clock)功能,为微处理器供应高精度的中断旗子暗记。
7) 具有EEPROM访问功能,存储ESC和运用配置参数,定义从站信息接口(SII, Slave Information Interface)。
ESC可供应2~4个数据收发轫口,每个端口都可以收发以太网数据帧。数据帧在ESC内部的传输顺序是固定的,如图3-3所示。常日,数据从端口0进入ESC,然后按照端口3→端口1→端口0的顺序依次传输。如果ESC检测到某个端口没有外部连接,则自动闭合此端口,数据将自动回环并转发到下一个端口。
ESC利用两种物理层接口模式:MII和EBUS。MII是标准的以太网物理层接口,利用外部物理层芯片,一个端口的传输延时约为500ns。EBUS是利用LVDS标准定义的数据传输标准,可以直接连接ESC芯片,不须要额外的物理层芯片,从而避免了物理层的附加传输延时,一个端口的传输延时约为100ns。EBUS最大传输间隔只有1 0m,适用于间隔较近的I/O设备或伺服驱动器之间的连接。
3.2.2 LAN9252先容实现EtherCAT从站必须要有专用的从站掌握器芯片,这一点与从站的繁芜与否无关。从站实现方案即从站掌握芯片的选择方案有两种:IP-Core方案和ASIC方案。
1) IP-Core方案
从站掌握器可由EtherCAT的IP核实现,其具备可配置的特性,通过EtherCAT的IP核实现EtherCAT和从站之间的数据传输。通过配置数据传输办法,可实现不同的通信需求,知足不同特性产品的需求。
倍福公司在设计Ether CAT 的 IP 核时没有实例化FPGA资源,未依赖专用FPGA的分外功能,也不须要做针对性的修正也由于如此IP核在FPGA的运用上具备更广泛的适用性。因此,通过配置EtherCAT的IP核实现知足不同需求的从站掌握器的方案,更适用于FPGA。IP核虽然相对繁芜,但其具备较高的可配置性,适用范围广,对资源环境以及FPGA的性能哀求不高,覆盖性范围广。但因适应特定 FPGA 而进行的配置是具有针对性的,不能直接用在不同的FPGA上。目前,主流的FPGA设计厂商都有自己所设计的EtherCAT IP核,但是须要昂贵的授权费,不适用于中小批量场合。
2) ASIC方案
早期市情上的EtherCAT从站掌握器芯片险些都是倍福公司的,比如ET1100,ET1200等。随着EtherCAT的遍及,很多厂商都推出了自己的ESC芯片,例如瑞萨的R-IN32M3-EC,TI的AM335x,Microchip的LAN9252等。我司目前紧张运用LAN9252作为从站ESC芯片,其与ET1100的特性比较见表3-1。
ET1100最多支持4个MII,但是由于端口资源有限,如果用4个MII接口就用不了并行总线接口,只能用SPI串行接口。以是采取并行总线接口,LAN9252和ET1100的MII接口都只能用两个。同步管理器一样平常都只用到4个,SM0和SM1作为邮箱读写通道,SM2和SM3作为PDO周期性数据读写通道。
如图3-4所示为LAN9252内部功能框图,ESC包含三个MII标准以太网物理层接口,个中两个设有内部PHY。每个端口都具有自动回环和转发功能,用以收发以太网数据帧,可以灵巧得构成多种拓扑构造。其他接口中的IIC接口可以挂载EEPROM,用来存储XML设备描述文件;LED接口通过灯的闪烁频率 ,可以反响当前ESC的运行状态;分布式时钟接口,可以连到EtherCAT从站微处理器MCU的中断引脚上,实现多个EtherCAT从站命令输出好采样输入的时候同步;PDI(Parallel Data Interface)接口用来连接LAN9252与微处理器MCU通信。