ZHCU481E october 2022 – july 2023
Tamagawa 是一家编码器技术制造商,该项技术在机床、机器人、电机驱动等领域用于获取高精度位置信息。Tamagawa 旋转编码器主要分为两种类型:增量编码器或绝对编码器。增量编码器提供脉冲序列,而绝对编码器提供绝对数字值。绝对编码器包括单圈和多圈两种类型。
TIDM-1011 参考设计主要针对通过 RS-485 线路驱动器提供数字输出的绝对编码器。TIDM-1011 支持的事务协议格式称为 T-Format。
C2000 T-Format 编码器接口提供了控制器与编码器通信所需的物理层。此编码器接口提供 RS-485 驱动控制,以便通过编码器发送和接收数字信息。在这种情况下,T-Format 事务是从控制器发送的请求以及来自编码器的响应。从编码器接口的角度来看,一个事务可以分为 FRAME_STATES,如图 2-2 所示:
与编码器的每个事务都会重复此模式。
T-Format 通信协议大致分为三种类型的事务:数据读取、复位和 EEPROM 访问。每个事务都有一个由协议定义的唯一数据 ID。数据 ID 用于标识控制器通过编码器接口发出的特定请求。
事务类型 | 数据 ID | 传输 |
---|---|---|
读取 | ID 0 | 旋转一圈的绝对数据 |
ID 1 | 多圈数据 | |
ID 2 | 编码器 ID | |
ID 3 | 以上所有内容加上编码器错误状态 | |
复位 | ID 7 | 复位旋转一圈的绝对数据 |
ID 8 | 复位多圈数据 | |
ID C | 复位错误 | |
EEPROM | ID D | 读取编码器的 EEPROM |
ID 6 | 写入编码器 EEPROM |
每个事务由 10 位字段组成。每个字段具有表 2-3 中所示的格式。第一个位是起始位(始终为 0),最后一个位是定界位(始终为 1)。起始位和定界位之间 8 位数据的内容取决于字段的具体类型。
位 1 | 位 2 | 位 3 | 位 4 | 位 5 | 位 6 | 位 7 | 位 8 | 位 9 | 位 10 | |
---|---|---|---|---|---|---|---|---|---|---|
内容 | 起始位 始终为 0 |
8 个数据位:最低有效位优先。 内容取决于特定字段。这 8 位数据包含在 CRC 计算中。 |
定界位 始终为 1 |
T-Format 协议定义的字段为:
请求中使用的字段如表 2-4 所示。控制器会通过编码器接口发送请求来开始事务。请求会以包含数据 ID 的 ControlField 开始。编码器使用数据 ID 来识别所请求的确切事务。对于读取或复位请求,只需要 ControlField。在 EEPROM 读取或写入的情况下,控制器还会发送一个 EEPROM AddressField 和 EEPROM DataField(用于写入),后跟一个 CRCField。
请求类型 | 传输的字段 | |||
---|---|---|---|---|
读取 | ControlField | |||
复位 | ControlField | |||
EEPROM 写入 | ControlField | EEPROM AddressField | EEPROM DataField | CRCField(1) |
EEPROM 读取 | ControlField | EEPROM AddressField | CRCField |
编码器响应中使用的字段取决于特定的请求。对于读数和复位事务(表 2-5),编码器会以 ControlField 的回波进行响应,之后是 StatusField 和一个或多个 DataFields。最后,编码器会始终发送一个 CRCField。CRCField 可用作已接收数据的完整性检查。
数据 ID | 类型 | 控制 字段(1) |
状态 字段 |
DataField (DF0:DF1:….DF7) + CRC (2) (3) | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
ID 0 | 读取 | CF | SF | ABS0(4) | ABS1 | ABS2 | CRC | |||||
ID 1 | 读取 | CF | SF | ABM0(5) | ABM1 | ABM2 | CRC | |||||
ID 2 | 读取 | CF | SF | ENID(6) | CRC | |||||||
ID 3 | 读取 | CF | SF | ABS0 | ABS1 | ABS2 | ENID | ABM0 | ABM1 | ABM2 | ALMC(7) | CRC |
ID 7 | 复位 | CF | SF | ABS0 | ABS1 | ABS2 | CRC | |||||
ID 8 | 复位 | CF | SF | ABS0 | ABS1 | ABS2 | CRC | |||||
ID C | 复位 | CF | SF | ABS0 | ABS1 | ABS2 | CRC |
在以下数据读取示例中,控制器请求多圈数据(数据 ID 1)。参考表 2-5,响应 DataFields 对应于多圈数据 (ABM0:ABM1:ABM2)。
请求: | 数据 ID 1 的 ControlField |
|||||
响应: | 数据 ID 1 的 ControlField |
StatusField | DataField0 | DataField1 | DataField2 | CRC |
对于 EEPROM 事务,编码器会以 ControlField + EEPROM AddressField + EEPROM DataField + CRCField 进行响应,如表 2-7 所示。
数据 ID | 申请 | 字段 0 | 字段 1 | 字段 2 | 字段 3 |
---|---|---|---|---|---|
ID 6 | 写入 | ControlField | EEPROM AddressField |
EEPROM DataField (1) |
CRCField(3) |
ID D | 读取 | ControlField | EEPROM AddressField |
EEPROM DataField (2) |
CRCField |