
SSI Encoders
同步串行接口 同步串行接口 (SSI) 是一种广泛使用的串行接口标准,适用于主设备(即控制器)和从设备(即传感器)之间的工业应用。时钟由主 (控制器) 驱动,数据线由从机 (传感器) 驱动。当非工作状态时, clock 和 data line 都为高电平。位置值从最高有效位 (MSB) 开始同步传输到控制系统的时钟信号。一旦 clock sequence 的 clock 信号第一次从高变为低(图 1 A),传感器数据就会被冻结(锁存)以防止它在传输中发生变化. 随着 clock 信号的后续上升沿 (图 1 B) 转换,传输从最高有效位 (MSB) 开始。对于 clock 信号的每个后续 rising edge transition,下一个 bit 在 data line 的 output 上设置。在最低有效位 (LSB) 移出后,时钟信号的最后一个上升沿转换(图 1 C)将数据线切换到低电平(传输端)。
暂停时间
在 clock的最后一个 Falling edge 之后, data line 在一段时间内保持低电平,称为 transfer timeout (在较早的出版物中也称为 monoflop time)。这是从站意识到数据传输完成所需的最短时间。在 tm 之后,数据线设置为 idle (图 1 D),slave 开始更新其数据。如果在该时间内收到 clock 信号 (data-output request),则将再次发送相同的数据(参见 multiple transmission)。最小暂停时间为 20 微秒,最大暂停时间不受限制。
图 1:SSI 传输

中断传输
通过停止向编码器发送时钟信号,可以随时中断传输。Pause Time 过后,数据值将更新,编码器已准备好发送数据。不需要进一步的 stop 命令,也不可能通过发送错误的命令等来破坏接口。
SSI 传输二进制数据表示
编码器制造商未对数据表示进行标准化。Binary Code 最常见的数据表示形式是左对齐数据。这意味着数据从 MSB 开始,MSB 是多圈编码器的最高位(图 2 顶部)或单圈编码器的最高位(图 2 底部)。
图 2:SSI 传输数据表示二进制代码
Mxx – 表示多圈编码器 25 位的 Revolution 数据
sxx – 表示 13 位单圈编码器的角度数据

格雷码数据表示
编码器数据有时用 Gray Code 表示。在此代码中,称为 “Tannenbaum - format” 的表示形式仍然很常见。在此表示形式中,前 12 位表示多圈数据(转数),后 13 位表示单圈数据。数据以 13 Clk 循环为中心,请在 (图 3) 中找到示例。
图 3:SSI 传输数据表示格雷码

多传输 / Ringshift
为了确保数据的完整性,可以多次传输相同的数据并比较接收到的值。此过程通常也称为多次传输或移环。实现 Multitransmission 的顺序是在接收到完整的数据字后继续发送 clock 信号(图 4 A)。在单个 “0” 字节之后,数据再次以 MSB 开头。multiple transmissions 的结束方式与单次 transmission 相同,只是停止发送 clock signals。请注意:并非所有编码器型号都支持多传输功能。
图 4:SSI 多重传输

物理学和电缆
物理传输是根据 EIA-422 (RS-422) 标准实现的,可确保组件的可用性,并确保即使在工业环境中也能可靠传输。好处是:
传输距离长达 1200 米(4000 英尺)
差分传输提高了抗噪能力
宽共模范围允许主设备和从设备之间的接地电位差
建议使用符合 RS422 标准的双绞线电缆。Maximum Baud rate (最特率) 取决于电缆长度,作为指导,可以使用以下值:
Cable Length in m (ft) | 13 (42) | 44 (144) | 85 (278) | 300 (984) | 750 (2460) |
Maximum Clock Rate | 2 MHz | 1 MHz | 600 kHz | 200 kHz | 80 kHz |
提示和提示
如何连接单圈分辨率超过 13 位的编码器?
控制器通常限制为 13 位单圈分辨率。如果想连接具有更高单圈分辨率(即 16 位)的编码器,可以尝试在 25 位多圈模式下使用控制器,并使用控制器的缩放功能。