3.3 EtherCAT从站控制器ET1100
3.3.1 ET1100概述
ET1100是一种EtherCAT从站控制器(ESC)。它将EtherCAT通信作为EtherCAT现场总线和从站之间的接口进行处理。它具有4个数据收发端口,8个FMMU单元,8个SM通道,4KB控制寄存器,8KB过程数据储存器,支持64位的分布时钟功能。
ET1100可支持多种应用。例如,它可以直接作为32位数字量输入/输出站点,且无须使用分布式时钟的外部逻辑,或作为具有多达4个EtherCAT通信端口的复杂微控制器设计的一部分。
ET1100的主要特征见表3-10。
表3-10ET1100的主要特征
EtherCAT从站控制器ET1100的功能框图如图3-8所示。
EtherCAT从站控制器有64KB的地址空间。第一个4KB的块(0x0000:0x0FFF)专用于寄存器。过程数据RAM从地址0x1000开始,其大小为8KB(结束地址为0x2FFF)。
图3-8EtherCAT从站控制器ET1100的功能框图
ET1100存储空间描述符号说明见表3-11。
表3-11ET1100存储空间描述符号说明
ET1100存储空间描述见表3-12。
表3-12ET1100存储空间描述
(续)
(续)
(续)
3.3.2 ET1100引脚介绍
输入引脚不应保持开路/悬空状态。未使用外部或内部上拉/下拉电阻的未用输入引脚(用方向UI表示)不应保持在打开状态。如应用允许,应下拉未用的配置引脚。当使用双向数字I/O时,注意PDI [39:0] 区域中的配置信号。未用的PDI [39:0] 输入引脚应下拉,所有其他输入引脚可直接连接到GND。
上拉电阻必须连接到VCCI/O,而不能连接到不同的电源。否则,只要VCCI/O低于另一个电源,ET1100就可以通过电阻和内部钳位二极管供电。
1.ET1100引脚分布
ET1100采用BGA128封装,其引脚分布如图3-9所示,共有128个引脚。
图3-9ET1100的引脚分布
ET1100引脚信号见表3-13,其中列出了ET1100的所有功能引脚,按照功能复用分类,包括PDI接口引脚、ECAT帧接口引脚、芯片配置引脚和其他功能引脚。ET1100的供电引脚信号见表3-14。
表3-13ET11OO引脚信号
(续)
(续)
注:1.表中带“*”引脚表示可以通过配置引脚CTRL_STATUS_MOVE分配PD[23:16]或PD[15:8]作为控制/状态信号。
2.表中带“/”引脚表示逻辑非,如/CS引脚。
3.表中RD/nWR引脚中的“n”表示逻辑非。
表3-14ET1100的供电引脚信号
2.ET1100的引脚功能
ET1100的引脚功能描述见表3-15。
表3-15ET1100的引脚功能描述
(续)
3.3.3 ET1100的PDI信号
ET1100的PDI信号描述见表3-16。
表3-16ET1100的PDI信号描述
(续)
3.3.4 ET1100的电源
ET1100支持3.3VI/O(或5VI/O,不推荐)以及可选的单电源或双电源的不同电源和I/O电压选项。
VCC I/O电源电压直接决定所有输入和输出的I/O电压,即3.3VVCC I/O,输入符合3.3VI/O标准,且不耐5V。如果需要5V容限I/O,VCC I/O必须为5V。
核心电源电压VCC Core/VCC PLL (标称2.5V)由内部LDO从VCC I/O生成。VCC Core始终等于VCC PLL。内部LDO无法关闭,如果外部电源电压高于内部LDO 输出电压,则会停止工作,因此外部电源电压(VCC Core/VCC PLL)必须高于内部LDO(至少0.1V)输出电压。
使用内部LDO 会增加功耗,5VI/O电压的功耗明显高于3.3VI/O的功耗。建议对VCC Core/VCC PLL使用3.3VI/O电压和内部LDO。
1.I/O电源
I/O电源引脚可以连接到3.3V 或5.0V(不推荐5.0V),具体取决于所需的接口电压。所有电源引脚都必须连接,并且需要VCC I/O/GNDI/O电源上的稳压电容。
2.逻辑核心电源
核心电源电压为2.5V。核心电源由内部LDO(由I/O电源提供)或外部产生。在这两种情况下,都必须将稳压电容连接到VCC Core/GNDCore电源。
3.PLL电源
PLL电源电压为2.5V。PLL电源由内部LDO(由I/O电源提供)或外部产生。在这两种情况下,必须将稳压电容连接到VCC PLL/GNDPLL。
ET1100电源示例原理图如图3-10所示。
图3-10ET1100电源示例原理图
推荐使用的稳压电容:每个电源引脚对使用220pF和100nF陶瓷电容,另为VCC I/O和VCC Core/VCC PLL用10μF电容,即总共两个10μF电容。GNDI/O、GNDCore和GNDPLL可连接到同一个GND电位。
如果实际VCC Core/VCC PLL电压高于标称LDO输出电压,则内部LDO将自动关闭。
3.3.5 ET1100的时钟源
OSC IN:连接外部石英晶体或振荡器输入(25MHz)。如果使用MII 端口且CLK25OUT1/2不能用作PHY的时钟源,则必须使用振荡器作为ET1100和PHY的时钟源。25MHz时钟源的初始精度应为25ppm或更高。
OSC_OUT:连接外部石英晶体。如果振荡器连接到OSC_IN,则应悬空。
时钟源的布局对系统设计的EMC/EMI影响最大。
虽然25MHz的时钟频率不需要大量的设计工作,但以下规则有助于提高系统性能。
① 保持时钟源和ESC尽可能靠近。
② 这个区域的地层应该无缝。
③ 电源相对时钟源和ESC时钟呈现低阻抗。
④ 电容应按时钟源组件的建议使用。
⑤ 时钟源和ESC时钟电源之间的电容量应该相同(值取决于电路板的几何特性)。
ET1100的石英晶体电路连接如图3-11所示,石英晶体作为ET1100和以太网PHY时钟源如图3-12所示,振荡器作为ET1100和以太网PHY时钟源如图3-13所示。
图3-11ET1100的石英晶体电路连接
图3-12 石英晶体作为ET1100和以太网PHY时钟源
图3-13 振荡器作为ET1100和以太网PHY时钟源
3.3.6 ET1100的RESET信号
集电极开路复位输入/输出(低电平有效)表示ET1100的复位状态。如果电源为低电平,或者使用复位寄存器0x0040启动复位,则在上电时进入复位状态。如果复位引脚被外部器件保持为低电平,ET1100也会进入复位状态。
RESET引脚的内部复位逻辑和示例原理图如图3-14所示。
图3-14RESET引脚的内部复位逻辑和示例原理图
建议将PHY和微控制器连接到复位引脚。这可确保在ET1100处于复位状态(丢帧)时PHY不通信,并且允许在意外情况下通过EtherCAT复位整个EtherCAT从设备。
3.3.7 ET1100的RBIAS信号
RBIAS是用于LVDSTX电流调节的偏置电阻,应用11kΩ,RBIAS引脚通过偏置电阻接地。
如果仅使用MII端口(没有使用EBUS),则可以在10~15kΩ的范围内选择RBIAS引脚偏置电阻。
图3-15RBIAS电阻的示例原理图
RBIAS电阻的示例原理图如图3-15所示。LVDSRBIAS电阻的值应为RBIAS=11kΩ。
3.3.8 ET1100的配置引脚信号
配置引脚在上电时作为输入由ET1100锁存配置信息。上电之后这些引脚都有分配的操作功能,必要时引脚信号方向也可以改变。RESET引脚信号指示上电配置的完成。ET1100配置引脚信号见表3-17。
这些引脚外接上拉或下拉电阻。外接下拉电阻时,配置信号为0;使用上拉电阻时,配置信号为1。EEPR0MS1ZE/RUN、PCONF [0~3]/LinkAct(0~3)等配置引脚也可以用作状态输出引脚来外接发光二极管LED,LED 的极性取决于需要配置的值。如果配置数据为1,则需要上拉引脚输出为0(低)时LED导通。如果配置数据为0,则引脚需要下拉,引脚输出为1(高)时LED导通。
表3-17ET1100配置引脚信号
(续)
配置引脚用于通过上拉或下拉电阻在上电时配置ET1100。上电时,配置引脚作为输入由ET1100锁存配置信息。上电后,引脚被分配有相应的操作功能,必要时引脚信号的方向也可以改变。在释放nRESET引脚之前,上电阶段结束。在没有上电条件的后续复位阶段,配置引脚仍具有其操作功能,即ET1100配置未再次锁存且输出驱动器保持工作状态。
配置值0由下拉电阻实现,配置值1由上拉电阻实现。由于某些配置引脚也用作LED输出,LED输出的极性取决于配置值。
配置输入/LED输出引脚的示例原理图如图3-16所示。
图3-16 配置输入/LED输出引脚的示例原理图
1.端口模式
端口模式配置物理端口数和相应的逻辑端口,见表3-18。
表3-18 端口模式配置
术语“物理端口”仅用于对ET1100接口引脚进行分组。寄存器组以及任何主、从软件始终基于逻辑端口。物理端口和逻辑端口之间的区别是为了增加可用PDI引脚的数量。每个逻辑端口只与一个物理端口相关联,并且可以配置为EBUS或MII接口。
MII端口始终分配给较低的物理端口,然后分配EBUS端口。如果配置了任何MII端口,则最低的逻辑MII端口始终连接到物理端口0,下一个更高的逻辑MII端口连接到物理端口1,依此类推。然后,最低逻辑EBUS端口(如果已配置)连接到物理MII端口之后的下一个物理端口,即端口 [MII端口数]。如果没有MII端口,EBUS端口将从物理端口0开始连接。
如果仅使用EBUS或仅使用MII端口,则物理端口号与P_MODE [1:0]=00,01或11的逻辑端口号相同。
2.端口配置
P_CONF [3:0] 确定物理层配置(MII或EBUS)。P_CONF [0] 确定逻辑端口0 的物理层,P_CONF [1] 确定逻辑端口1,P_CONF [2] 确定下一个可用逻辑端口的物理层(3为P_MODE [1:0]=10,否则2),并且P_CONF [3] 确定逻辑端口3。如果未使用某个物理端口,则不使用相应的P_CONF配置信号。ET1100端口配置见表3-19。
表3-19ET1100端口配置
双端口配置,使用逻辑端口0和1。端口信号在物理端口0和1处可用,具体取决于端口配置。双端口配置(P_MODE [1:0]=00)见表3-20。
表3-20 双端口配置(PMODE [1:0]=00)
P_MODE[1:0]必须设置为00。P_CONF[1:0]确定逻辑端口的物理层(1:0)。不使用P_CONF[3:2],但P_CONF[2]不应保持开路(建议连接到GND)。如果应用程序允许的话,P_CONF[3]应尽可能下拉(在表3-20中用“-”表示)。
3.CPU时钟输出模式
CLK_MODE 用于向外部微控制器提供时钟信号。如果CLK_MODE 不是00,则CPU_CLK在PDI[7]上可用,因此该引脚不再用于PDI信号。对于微控制器的PDI,PDI[7]是ADR [15],如果选择了CPU_CLK,则将其视为0。CPU_CLK模式见表3-21。
表3-21CPUCLK模式
4.TX相位偏移
可以通过C25_SHI [x] 信号获得MIITX信号(TX_ENA,TX_D [3:0])的相移(0/10/20/30ns),TX相位偏移见表3-22。通过硬件选项支持所有C25_SHI [1:0] 配置,以便以后进行调整。
表3-22TX相位偏移
5.CLK25OUT2使能
ET1100可以在PDI[31]/CLK25OUT2引脚上提供以太网PHY使用的25MHz时钟。这仅在使用3个MII端口时才有意义。在少于3个MII端口的情况下,因为未使用LINK_MII(2),引脚LINK_MII(2)/CLK25OUT1无论如何都提供CLK25OUT。如果使用4个MII 端口,无论CLK25OUT2是否使能,PDI [31]/CLK25OUT2都提供CLK25OUT2。CLK25OUT2使能见表3-23。
表3-23CLK25OUT2使能
6.透明模式使能
ET1100能够基于每个端口与其他MAC共享MII 接口。通常,禁用透明模式,ET1100可以独占地访问PHY的MII 接口。在透明模式打开的情况下,可以将MII 接口分配给ET1100或其他MAC,例如具有集成MAC的微控制器。在处理网络流量时,重新分配并不意味着要执行。
透明模式主要影响PERR(x)/TRANS(x)信号。如果启用透明模式,PERR(x)/TRANS(x)将变为TRANS(x)(低电平有效),它控制每个端口的透明状态。PERR(x)在透明模式下不可用。
TRANS(x)仅影响同一端口的TXENA(x)/TX_D(x)信号以及MI_CLK/MI_DATA。RX_CLK(x)、RX_DV(x)、RX_D(x)和RX_ERR(x)都连接到ET1100和其他MAC。
只要TRANS(x)为高电平,每个MII接口就像往常一样,ET1100控制MII接口。如果TRANS(x)为低电平,则端口变为透明(或隔离),即ET1100 将不再主动驱动TX_ENA(x)/TX_D(x),因此,其他MAC可以驱动这些信号。
Link/Act(x)LED仍然由ET1100驱动,因为它采样RX_DV(x)和TX_ENA(x)(在端口透明时变为输入)以检测活动。
只要至少一个MII接口不透明,ET1100就可以控制MII 管理接口。打开透明模式后,可以通过PDI接口访问ET1100的PHY管理接口,因此微控制器可以访问管理接口。如果所有MII接口都是透明的,则ET1100会释放MI_CLK和MI_DATA驱动,可以由其他MAC驱动。透明模式使能见表3-24。
表3-24 透明模式使能
启用透明模式会禁用LinkPolarity配置为高电平有效。
3.3.9 ET1100的物理端口和PDI引脚信号
ET1100有4个物理通信端口,分别命名为端口0~端口3,每个端口都可以配置为MII接口或EBUS接口两种形式。
ET1100引脚输出经过优化,可实现最佳的数量和特性。为了实现这一点,有许多引脚可以分配通信或PDI功能。通信端口的数量和类型可能减少或排除一个或多个可选PDI。
物理通信端口从端口0~端口3编号。端口0和端口1不干扰PDI引脚,而端口2 和端口3可能与PDI [39:16] 重叠,因此限制了PDI的选择数量。
端口的引脚配置将覆盖PDI的引脚配置。因此,应先配置端口的数量和类型。
ET1100有40个PDI引脚,PDI [39:0],它们分为4组。
①PDI [15:0](PDI字节0/1)。
②PDI [16:23](PDI字节2)。
③PDI [24:31](PDI字节3)。
④PDI [32:39](PDI字节4)。
物理端口和PDI组合见表3-25。
表3-25 物理端口和PDI组合
1.MII信号
ET1100没有使用标准MII接口的全部引脚信号,ET1100的MII接口信号描述见表3-26。
表3-26ET1100的MII接口信号描述
(1)CLK25OUT1/2信号
如果使用25MHz晶体生成时钟,ET1100必须为以太网PHY提供25MHz时钟信号(CLK25OUT)。如果使用25MHz振荡器,则不需要CLK25OUT,因为以太网PHY和ET1100可以共享振荡器输出。根据端口配置和C25_ENA,CLK25OUT可通过不同引脚输出,见表3-27。
表3-27CLK25OUT1/2信号输出
(续)
不应连接未使用的CLK25OUT引脚,以降低驱动器负载。
CLK25OUT引脚(如果已配置)在外部或ECAT复位期间提供时钟信号,时钟输出仅在上电复位期间关闭。
(2)MII连接的示例原理图
ET1100与PHY连接的示例原理图如图3-17所示。
注意要正确配置TX相位偏移、LINK_POL和PHY地址。
图3-17ET1100与PHY连接的示例原理图
2.EBUS信号
EtherCAT协议自定义了一种物理层传输方式EBUS。EBUS传输介质使用低压差分信号LVDS(LowVoltageDifferentialSignal),由ANSI/TIA/EIA~644“低压差分信号接口电路电气特性”标准定义,最远传输距离为10m。
EBUS接口信号描述见表3-28。
表3-28EBUS接口信号描述
ET1100的EBUS端口具有开放式故障保护,即ET1100检测EBUS端口是否连接并在内部关闭端口(无物理链路)。
当信号为EBUS(x)-RX+/EBUS(x)-RX-时,EBUSLVDS接收信号。EBUS_RX+引脚内置一个下拉电阻RLI+,EBUS_RX-引脚内置一个上拉电阻RLI-,但引脚没有为EBUS进行配置。
当信号为EBUS(x)-TX+/EBUS(x)-TX-时,EBUSLVDS发送信号。
阻抗为100Ω的LVDS终端通常通过外接阻值为100Ω的电阻RL实现。仅EBUS端口需要接此电阻,并且将其放置在EBUS_RX输入端。LVDS终端如图3-18所示。
图3-18LVDS终端
EBUS可以满足快速以太网100Mbit/s的数据比特率。它只是简单地封装以太网数据帧,所以可以传输任意以太网数据帧,而不只是EtherCAT。
3.3.10 ET1100的MII接口
ET1100使用MII接口时,需要外接以太网物理层PHY芯片。为了降低处理/转发延时,ET1100的MII接口省略了发送FIFO。因此,ET1100对以太网物理层芯片有一些附加的功能要求。ET1100选配的以太网PHY芯片应该满足以下基本功能和附加要求。
1.MII接口的基本功能
MII接口的基本功能如下。
1) 遵从IEEE802.3100BaseTX或100BaseFX规范。
2) 支持100Mbit/s全双工链接。
3) 提供一个MII接口。
4) 使用自动协商。
5)支持MII管理接口。
6) 支持MDI/MDI-X自动交叉。
2.MII接口的附加条件
MII接口的附加条件如下。
1)PHY芯片和ET1100使用同一个时钟源。
2)ET1100不使用MII接口检测或配置连接,PHY芯片必须提供一个信号指示是否建立了100Mbit/s的全双工连接。
3)PHY芯片的连接丢失响应时间应小于15μs,以满足EtherCAT的冗余性能要求。
4)PHY的TX_CLK信号和PHY的输入时钟之间的相位关系必须固定,最大允许5ms的抖动。
5)ET1100不使用PHY的TX_CLK信号,以省略ET1100内部发送FIFO。
6)TX_CLK和TX_ENA及TX_D[3:0]之间的相移由ET1100通过设置TX相位偏移补偿,可以使TX_ENA及TX_D[3:0]延迟0、10ns、20ns或30ns。
上述要求中,时钟源最为重要。ET1100的时钟信号包括OSC_IN和OSC_OUT。时钟源的布局对系统设计的电磁兼容性能有很大的影响。
ET1100通过MII接口与以太网PHY连接。ET1100的MII接口通过不发送FIFO进行了优化,以实现低的处理和转发延迟。为了实现这一点,ET1100对以太网PHY有额外的要求,这些要求可由PHY供应商轻松实现。
3.MII接口信号
ET1100的MII接口信号如图3-19所示。
MI_DATA引脚应接一个外部上拉电阻,推荐ESC使用4.7kΩ电阻。MI_CLK 采用轨到轨(Rail-to-Rail)的驱动方式,空闲值为高电平。
ET1100端口为0的MII接口电路图如图3-20所示。
图3-19ET1100的MII接口信号
图3-20ET1100端口为0的MII接口电路图
MI_DATA应该连接外部上拉电阻,推荐阻值为4.7kΩ。MI_CLKK为轨到轨驱动,空闲时为高。
每个端口的PHY地址等于其逻辑端口号加1(PHYAD_OFF=0,PHY地址为1~4),或逻辑端口号加17(PHYAD_OFF=1,PHY地址为17~20)。
4.PHY地址配置
ET1100使用逻辑端口号(或PHY地址寄存器的值)加上PHY地址偏移量来对以太网PHY进行寻址。通常,以太网PHY地址应与逻辑端口号相对应,因此使用PHY地址0~3。
可以应用16位的PHY地址偏移,通过在内部对PHY地址的最高有效位取反,将PHY地址移动到16~19位。
如果不能使用这两种方案,则PHY应该配置为使用实际PHY地址偏移量1,即PHY地址1~4。ET1100的PHY地址偏移配置保持为0。
3.3.11 ET1100的EBUS/LVDS接口
两个ET1100的EBUS连接使用两对LVDS线对,一对接收数据帧,一对发送数据帧。每对LVDS线对只需要跨接一个100Ω的负载电阻,不需要其他物理层元件,缩短了从站之间的传输延时,减少了元器件。
3.3.12 ET1100的PDI描述
ESC芯片的应用数据接口称为过程数据接口(ProcessDataInterface)或物理设备接口(PhysicalDeviceInterface),简称PDI。ESC提供以下两种类型的PDI接口。
1)直接I/O信号接口。无须应用层微处理器,最多32位引脚。
2)DPRAM数据接口。使用外部微处理器访问,支持并行和串行两种方式。
ET1100的PDI接口类型和相关特性由寄存器(0x0140~0x0141)进行配置,ET1100的PDI接口配置见表3-29。
表3-29ET1100的PDI接口配置
(续)
PDI配置寄存器(0x0150)以及扩展PDI配置寄存器(0x0152~0x0153)的设置取决于所选择的PDI类型,Sync/Latch接口的配置寄存器(0x0151)与所选用的PDI接口无关。
ET1100的可用PDI描述见表3-30。
表3-30ET1100的可用PDI描述
1.PDI禁用
PDI类型为0x00时,PDI被禁用。PDI引脚处于高阻抗状态下而无法驱动。
2.数字I/O接口
PDI控制寄存器0x140=4时,ET1100使用数字量接口,它支持不同的信号形式,通过寄存器(0x150~0x153)可以实现多种不同的配置。
(1)接口
当PDI类型为0x04时选择数字I/OPDI。ET1100的数字I/O接口信号如图3-21 所示,ET1100的数字I/O接口信号描述见表3-31。
图3-21ET1100的数字I/O接口信号
接口信号中除I/O[31:0]以外的信号称为控制/状态信号,它们分配在引脚PDI[39:32]。如果从站使用了两个以上的物理通信端口,则PDI[39:32]不能用作PDI信号,即控制/状态信号无效。此时,可以通过配置引脚CTRLSTATUSMOVE 分配PDI[23:16]或PDI[15:8]作为控制/状态信号。
表3-31ET1100的数字I/O 接口信号描述
数字量输入/输出信号在ET1100存储空间的映射地址见表3-32。主站和从站通过ECAT帧和PDI接口分别读写这些存储地址来操作数字输入/输出信号。
表3-32 数字量输入/输出信号在ET1100存储空间的映射地址
(2)配置
通过将PDI控制寄存器0x0140中PDI类型设为0x04来选择数字I/O接口。它支持位于寄存器0x0150~0x0153中各种不同的配置。
(3)数字输入
数字输入量出现在地址为0x1000~0x1003的过程存储器中。EtherCAT器件使用小端(LittleEndian)字节排序,因此可以在0x1000等处读取I/O [7:0]。通过具有标准PDI写操作的数字I/OPDI将数字输入写入过程存储器。
可以采用以下四种方式将数字输入配置为通过ESC采样。
1)在每个以太网帧的开始处对数字输入进行采样,这样EtherCAT读命令到地址0x1000:0x1003时将呈现在同一帧开始时采样的数字输入值。SOF信号可以在外部用于更新输入数据,因为SOF在输入数据被采样之前发出信号。
2)可以使用LATCH_IN信号控制采样时间。每当识别出LATCH_IN信号的上升沿,ESC就对输入数据进行采样。
3) 在分布式时钟SYNC0事件中对数字输入进行采样。
4) 在分布式时钟SYNC1事件中对数字输入进行采样。
对于分布式时钟SYNC输入,必须激活SYNC生成寄存器(0x0981)。SYNC输出寄存器(0x0151)不是必需的。SYNC脉冲寄存器(0x0982~0x0983)长度不应设置为0,因为数字I/OPDI无法确认SYNC事件。采样时间从SYNC事件的开始计起。
(4)数字输出
数字输出原理图如图3-22所示。
图3-22 数字输出原理图
数字输出量必须写入寄存器0x0F00~0x0F03(寄存器0x0F00 控制I/O[7:0])。不通过具有标准读命令的数字I/OPDI来读取数字输出量,而是通过直接连接的方式读取,以获得更快的响应速度。
过程数据WDT(寄存器0x0440)必须处于启用状态或禁用状态,否则数字输出将不会更新。可以通过以下四种方式对数字输出进行更新。
1)在EOF模式下,数字输出在每个EtherCAT帧结束时更新。
2) 在DCSYNC0模式下,使用分布式时钟SYNC0事件更新数字输出。
3) 在DCSYNC1模式下,使用分布式时钟SYNC1事件更新数字输出。
4)在WD_TRIG模式下,数字输出在EtherCAT帧结束时更新,触发过程数据WDT(典型的SyncManager配置:对0x0F00~0x0F03中至少一个寄存器有写访问权的帧)。仅当EtherCAT帧正确时才会更新数字输出。
即使数字输出保持不变,输出事件也总是由OUTVALID上的脉冲发出信号。
要使输出数据在I/O信号上可见,必须满足以下条件。
1)SyncManagerWDT必须处于启用状态(已触发) 或禁用状态。
2)OE_EXT(输出使能) 必须设为高电平。
3) 输出值必须写入有效EtherCAT帧内的寄存器0x0F00:0x0F03。
4) 输出更新事件必须被配置好。
在加载EEPROM之前,不会驱动数字输出(高阻抗)。根据配置,如果WDT过期或输出被禁用,也不会驱动数字输出。使用数字输出信号时必须考虑此情况。
(5)双向模式
在双向模式下,所有数据信号都是双向的(忽略单独的输入/输出配置)。输入信号通过串联电阻连接到ESC,输出信号由EtherCAT从站控制器主动驱动。如果使用OUTVALID(触发器或锁存器)锁存输出信号,则永久可用。双向模式的输入/输出连接如图3-23所示。
可以按照数字输入/数字输出中的说明配置输入样本事件和输出更新事件。
即使数字输出保持不变,输出事件也会通过OUTVALID上的脉冲发出信号。重叠输入事件和输出事件将损坏输入数据。
(6)EEPROM_LOADED
在EEPROM正确装载之后,EEPROM_LOADED信号指示数字量I/O接口可操作。使用时需要外接一个下拉电阻。
图3-23 双向模式的输入/输出连接
3.3.13 ET1100的SPI从接口
当PDI控制寄存器0x140=0x05时,ET1100使用SPI接口。它作为SPI从机由带有SPI接口的微处理器操作。
由于SPI接口占用的PDI引脚较少,剩余的PDI引脚可以作为通用I/O引脚使用,包括16个通用数字量输入引脚GPI(GeneralPurposeInput)和16个通用数字量输出引脚GPO(GeneralPurposeOutput)。通用数字量输入引脚对应寄存器0x0F18~0xF1F,通用数字量输出引脚对应寄存器0x0Fl~0xF17。PDI接口和ECAT帧都可以访问这些寄存器,这些引脚以非同步的刷新方式工作。
1.接口
PDI类型为0x05的EtherCAT器件是SPI从器件。SPI有5个信号:SPI_CLK,SPI_DI(MOSI),SPI_DO(MISO),SPI_SEL 和SPI_IRQ。SPI主从互连电路如图3-24所示,SPI信号见表3-33。
图3-24SPI主从互连电路
表3-33SPI信号
2.配置
PDI控制寄存器0x0140中的PDI类型为0x05时选择SPI从接口。它支持SPI_SEL 和SPI_IRQ的不同时序模式和可配置信号极性。SPI配置位于寄存器0x0150中。
3.SPI访问
SPI访问分为地址阶段和数据阶段。
在地址阶段,SPI主机发送要访问的第一个地址和命令。
在数据阶段,读取数据由SPI从机提供(读取命令),或写入数据由主机发送(写入命令)。地址阶段由2个或3个字节组成,具体取决于地址模式。每次访问的数据字节数可以是0~N个字节。在读取或写入起始地址后,从器件内部递增后续字节的地址。地址、命令和数据的位都以字节组的形式传输。
主机通过置位SPI_SEL启动SPI访问,并通过取回SPI_SEL来终止SPI访问(极性由配置决定)。当SPI_SEL置位时,主机必须为每个字节的传输循环SPI_CLK8次。在每个时钟周期中,主机和从机都向彼方发送一个位(全双工)。通过选择SPI模式和数据输出采样模式,可以配置主机和从机SPI_CLK的相关边沿。
首先发送字节的最高有效位,最低有效位为最后一位,字节顺序为低字节优先。Ether-CAT设备使用小端(LittleEndian)字节排序。
4.命令
第二个地址/命令字节中的命令CMD0可以是READ、具有等待状态字节的READ、WRITE、NOP或地址扩展。第三个地址/命令字节中的命令CMD1可能与其具有相同的值。
SPI命令CMD0和CMD1见表3-34。
表3-34SPI命令CMD0和CMD1
5.寻址模式
SPI从机接口支持两种寻址模式,2字节寻址和3字节寻址。通过双字节寻址,SPI主控制器选择低13位地址位A[12:0],同时假设SPI从器件中高3位A [15:13] 为000b,那么在EtherCAT从站地址空间中只有前8位可以访问。三字节寻址用于访问EtherCAT从器件中整个64KB地址空间。
对于仅支持多个字节连续传输的SPI主控制器,可以插入附加的地址扩展命令。
没有地址模式(没有等待状态字节的读访问) 见表3-35。
表3-35 没有地址模式(没有等待状态字节的读访问)
3.3.14 ET1100的异步8/16位微控制器接口
1.接口
异步微控制器接口采用复用的地址总线和数据总线。双向数据总线数据宽度可以为8位或16位。EtherCAT器件的异步微控制器接口如图3-25所示。
图3-25EtherCAT器件的异步微控制器接口
微控制器信号见表3-36。
表3-36 微控制器信号
一些微控制器有READY信号,其功能与BUSY信号相同,只是极性相反。
2.配置
通过将PDI控制寄存器0x0140中PDI类型设为0x08选择16位异步微控制器接口,将PDI类型设为0x09 选择8位异步微控制器接口。通过修改寄存器0x0150~0x0153可支持不同的配置。
3.微控制器访问
每次访问8位微控制器接口时读取或写入8位,16位微控制器接口支持8位和16位读或写访问。对于16位微控制器接口,最低有效地址位和字节高位使能(BHE)用于区分8位低字节访问、8位高字节访问和16位访问。
EtherCAT器件使用小端(LittleEndian) 字节排序。
8位微控制器接口访问类型见表3-37。
16位微控制器接口访问类型见表3-38。
表3-378位微控制器接口访问类型
表3-3816位微控制器接口访问类型
4.写访问
写访问从片选(CS)的断言开始。如果没有永久断言,地址、字节高使能和写数据在WR的下降沿下置位(低电平有效)。一旦微控制器接口不处于BUSY状态,在WR的上升沿就会完成对微控制器的访问。终止写访问可以通过WR的置位(CS 保持置位)来实现,或通过解除置位或片选(同时WR保持置位),甚至可以通过同时取消置位WR和CS来实现。在WR的上升沿后不久,可以通过取消对ADR、BHE 和DATA的置位来完成访问。微控制器接口通过BUSY信号指示其内部操作。由于仅在CS置位时驱动BUSY信号,因此在CS设置为无效后将释放BUSY驱动器。
在内部,写访问在WR的上升沿之后执行,实现了快速写访问。然而,紧邻的访问将被前面的写访问延迟(BUSY长时间有效)。
5.读访问
读取访问从片选(CS)的断言开始。如果没有永久断言,地址和BHE在RD 的下降沿之前必须有效,这表示访问的开始。之后,微控制器接口将显示BUSY状态,如果它不是正在执行先前的写访问,便会在读数据有效时释放BUSY信号。读数据将保持有效,直到ADR、BHE、RD或CS发生变化。在CS和RD被断言时,将驱动数据总线。CS被置位时将驱动BUSY。
6.微控制器访问错误
微控制器接口检测微控制器访问错误的方法如下。
1)对A [0]=1和BHE(激活为低)=1的16位接口进行读或写访问,即通过访问没有高位使能的奇数地址。
2) 当微控制器接口处于BUSY状态时,置位WR(或在WR保持置位时取消置位CS)。
3) 当微控制器接口处于BUSY状态时(读取尚未完成),在RD的反断言时(或当RD保持断言时CS置为无效),置位WR(或在WR保持置位时取消置位CS)。
对微控制器的错误访问会产生以下后果。
1)PDI错误计数器(0x030D) 将递增。
2)对于A [0]=1和BHE=1类访问,将不会在内部执行访问。
3)当微控制器接口处于BUSY状态时,WR(或CS)置为无效可能会破坏当前和前一次的传输(如果内部未完成)。寄存器可以接受写入数据,并且可以执行特殊功能(例如SyncManager缓冲器切换)。
4)如果在微控制器接口处于BUSY状态时(读取尚未完成)取消置位RD(或CS),则访问将在内部终止。虽然内部字节传输终止,但是可以执行特殊功能(例如SyncManager缓冲器切换)。
7.EEPROM_LOADED
EEPROM_LOADED信号表示微控制器接口可操作。因在加载EEPROM之前不会驱动PDI引脚,可通过连接下拉电阻实现正常功能。
8.与没有字节寻址的16位微控制器连接
如果ESC连接到仅支持16位(字)寻址的16位微控制器或DSP,则EtherCAT器件的ADR [0] 和BHE必须连接到GND,这样ESC将始终执行16位访问。所有其他信号照常连接。
EtherCAT器件连接无字节寻址的16位微控制器如图3-26所示。
9.与8位微控制器连接
如果ESC连接到8位微控制器,则不使用BHE信号和DATA[15:8]信号。
EtherCAT器件连接8位微控制器如图3-27所示。
图3-26EtherCAT器件连接无字节寻址的16位微控制器
图3-27EtherCAT器件连接8位微控制器