3.7 EtherCAT从站信息接口 (SII)
EtherCAT从站控制器采用EEPROM来存储所需要的设备相关信息,称为从站信息接口SII(SlaveInformationInterface)。
EEPROM的容量为1KB~4MB,取决于EtherCAT从站控制器规格。
EEPROM数据结构见表3-50。
表3-50EEPROM数据结构
EEPROM使用字地址,字0~63是必需的基本信息,其各部分描述如下。
1)EtherCAT从站控制器的寄存器配置区(字0~7),由EtherCAT从站控制器在上电或复位后自动读取后装入相应寄存器,并检查校验和。
2) 产品标识区(字8~15),包括厂商标识、产品码、版本号和序列号等。
3) 硬件延时(字16~19),包括端口延时和处理延时等信息。
4)引导状态下邮箱配置(字20~23)。
5)标准邮箱通信SM通道配置(字24~27)。
3.7.1 EEPROM中的信息
EtherCAT从站控制器配置数据见表3-51。
EEPROM中的分类附加信息包含了可选的从站信息,有以下两种类型的数据。
① 标准类型。
② 制造商定义类型。
所有分类数据都使用相同的数据结构,包括一个字的数据类型、一个字的数据长度和数据内容。标准的分类数据类型见表3-52。
表3-51EtherCAT从站控制器配置数据
表3-52 标准的分类数据类型
3.7.2 EEPROM的操作
EtherCAT从站控制器具有读写EEPROM的功能,主站或PDI通过读写EtherCAT从站控制器的EEPROM控制寄存器来读写EEPROM,在复位状态下由主站控制EEPROM的操作之后可以移交给PDI控制。EEPROM控制寄存器功能描述见表3-53。
表3-53EEPROM控制寄存器功能描述
(续)
1.主站强制获取操作控制
寄存器0x0500和0x0501分配EEPROM的访问控制权。
如果0x0500.0=0,并且0x0501.0=0,则由EtherCAT主站控制EEPROM访问接口,这也是EtherCAT从站控制器的默认状态;否则由PDI控制EEPROM。
双方在使用EEPROM之前需要检查访问权限,EEPROM访问权限的移交有主动放弃和被动剥夺两种形式。
双方在访问完成后可以主动放弃控制权,EtherCAT主站应该在以下情况通过写0x0500.0=1,将访问权交给应用控制器。
1)在I→P转换时。
2)在I→B转换时并在BOOT状态下。
3)若在ESI文件中定义了“AssignToPdi”元素,除INIT状态外,EtherCAT主站应该将访问权交给PDI一端。
EtherCAT主站可以在PDI没有释放控制权时强制获取操作控制,操作如下。
1) 主站操作EEPROM结束后,主动写0x0500.0=1,将EEPROM接口移交给PDI。
2) 如果PDI要操作EEPROM,则写0x0501.0=1,接管EEPROM控制。
3)PDI完成EEPROM操作后,写0x0501.0=0,释放EEPROM操作。
4) 主站写0x0500.0=0,接管EEPROM控制权。
5)如果PDI未主动释放EEPROM控制,主站可以写0x0500.1=1,强制清除0x0501.0,从PDI夺取EEPROM控制。
2.读/写EEPROM的操作
EEPROM接口支持以下3种操作命令。
① 写一个EEPROM地址。
② 从EEPROM读。
③ 从EEPROM重载EtherCAT从站控制器配置。
需要按照以下步骤执行读/写EEPROM的操作。
1) 检查EEPROM是否空闲(0x0502.15 是否为0)。如果不空闲,则必须等待,直到空闲。
2) 检查EEPROM是否有错误(0x0502.13是否为0,或0x0502.14是否为0)。如果有错误,则写0x0502.[10:8]=[000]清除错误。
3)写EEPROM字地址到EEPROM地址寄存器。
4)如果要执行写操作,首先将要写入的数据写入EEPROM数据寄存器0x0508~0x0509。
5) 写控制寄存器以启动命令的执行。
① 读操作,写0x500.8=1。
② 写操作写0x500.0=1 和0x500.9=1,这两位必须由一个数据帧写完成。0x500.0为写使能位可以实现写保护机制,它对同一数据帧中的EEPROM命令有效,并随后自动清除;对于PDI访问控制不需要写这一位。
③ 重载命令,写0x500.10=1。
6)EtherCAT主站发起的读/写操作是在数据帧结束符EOF(EndOfFrame)之后开始执行的,PDI发起的操作则马上被执行。
7)等待EEPROM忙位清除(0x0502.15是否为0)。
8)检查EEPROM错误位。如果EEPROM应答丢失,可以重新发起命令,即回到第5)步。在重试之前等待一段时间,使EEPROM有足够时间保存内部数据。
9)获取执行结果。
① 读操作,读到的数据在EEPROM数据寄存器0x0508~0x050F中,数据长度可以是2或4个字节,取决于0x0502.6。
② 重载操作,EtherCAT从站控制器配置被重新写入相应的寄存器。
在EtherCAT从站控制器上电启动时,将从EEPROM载入开始的7个字节,以配置PDI接口。
3.7.3 EEPROM操作的错误处理
EEPROM接口操作错误由EEPROM控制/状态寄存器0x0502~0x0503指示,见表3-54。
EtherCAT从站控制器在上电或复位后读取EEPROM中的配置数据,如果发生错误,则重试读取。连续两次读取失败后,设置设备信息错误位,此时EtherCAT从站控制器数据链路状态寄存器中PDI允许运行位(0x0110.0)保持无效。发生错误时,所有由EtherCAT从站控制器配置区初始化的寄存器保持其原值,EtherCAT从站控制器过程数据存储区也不可访问,直到成功装载EtherCAT从站控制器配置数据。
EEPROM无应答错误是一个常见的问题,更容易在PDI操作EEPROM时发生。
连续写EEPROM时产生无应答错误的原因如下。
1)EtherCAT主站或PDI发起第一个写命令。
2)EtherCAT从站控制器将写入数据传送给EEPROM。
3)EEPROM内部将输入缓存区中数据传送到存储区。
4) 主站或PDI发起第二个写命令。
5)EtherCAT从站控制器将写入数据传送给EEPROM,EEPROM不应答任何访问,直到上次内部数据传送完成。
6)EtherCAT从站控制器设置应答/命令错误位。
7)EEPROM执行内部数据传送。
8)EtherCAT从站控制器重新发起第二个命令,命令被应答并成功执行。
表3-54EEPROM接口操作错误