在 BiSS-C 通信中,控制器可以通过 MA 线路发送控制帧而不会中断位置数据通信。这是通过在每个 BiSS 帧内发送控制帧的一个位来实现的。
如 节 2.3.1 中介绍的,控制器每个 BiSS 帧发送一个数据位,称为 CDM。同样,编码器每个 BiSS 帧使用一位响应(称为 CDS)来响应这些 CDM 位。这会重复进行,直到通过多个 BiSS 帧发送完整的控制帧并收到响应。
有两种类型的 BiSS-C 控制帧:
- 寄存器通信帧:编码器中内部寄存器的读取或写入
- 命令帧:向编码器发送命令
注: 根据提供的信息,TIDM-1010 不实现命令帧。如果系统开发人员需要,可将此功能添加到设计中。在命令帧中,控制选择位 (CTS) 为零 (CTS = 0)。使用命令帧来支持多点连接不在此设计的范围内。因此,本文档仅关注寄存器通信帧。
以下步骤介绍了读取或写入访问。请参阅图 2-5 和图 2-6。
- 控制器在 CDM = 0 时发送至少 14 个 BiSS-C 帧
- CDM = 1 指示控制帧的开始位 S。
- 下一个 CDM 位称为 CTS(控制选择位)。对于寄存器访问,CTS 为 1。
- 然后,控制器发送一个 3 位 ID,以识别正在访问的从器件。
- ID 后跟一个 7 位寄存器地址和一个 CRC。
- 接下来的 3 个位为读取位 (R)、写入位 (W) 和开始位 (S)。R W S 定义如下:
- 写入访问:RWS 等于 011b
- 读取访问:RWS 等于 101b
- 控制器:
- 将 CDM 位保持为低电平,以进行读取访问
- 发送要写入的 8 位数据 + CRC,以进行写入访问
- 停止位 (P) 指示控制帧结束。
注: 在第 6 步中,该协议允许编码器为读取或写入请求额外的处理时间。这是通过用 S = 0(而不是如图所示的 S = 1)进行响应来完成的。当前实现不支持此功能,但开发人员可以通过更新 CD 状态机 C 代码来添加此功能。并非所有编码器都需要此额外时间。请参阅特定编码器的规格。
注: BiSS 协议支持连续寄存器的背对背读取或背对背写入。当控制器发送一个停止位 (P = 1) 并立即后跟另一个开始位 (S = 1) 时,此功能启用。此功能未在 TIDM-1010 中实现。每个控制帧仅支持单次读取或单次写入。