SSI 工作模式
Read time: 1 minute(s)
Mode0
BISS_IF 同时也可以支持 SSI 接口的工作模式,如下图 Mode0 模式所示,图中的 CLOCK 信号通过管脚 BISS-MA 输出,DATA 信号通过 SLO 输入。
SSI 接口的工作时序说明:
- 主机输出的 CLOCK 信号以及输入的 DATA 信号,在空闲状态的时候均为高电平
- 当主机需要获取从机的 bit 位置数据的时候,主动将输出信号拉低,持续至少 tcal 的时间后,然后连续发送 n 个时钟
- 当从机检测到主机 CLOCK 信号的拉低,在接下来的 CLOCK 的上升沿,会主动发送 bit 的位置数据,由于从机存在内部的逻辑延迟,所以数据传输存在 t1 的延迟时间(这里没有包括传输线的延迟)
- 当从机发送完 bit 的位置数据后,DATA 会保持一段时间的低电平(保持时间参考上图),然后进入空闲状态(高电平)。
- CLOCK 信号保持空闲状态至少 tR 的时间,才可以进行下一次的数据传输。
- 从机传输的数据常见的支持格雷码数据或二进制的数据,而这里 IF 接口是支持对格雷码数据的解析。
Mode0 工作模式数据传输前,BISS_IF 配置方式如下:
- 配置 BR 寄存器,选择 CLOCK 输出的时钟频率
- 配置 SIZE 寄存器,配置 RXD0、RXD1 的数据大小,其中数据结构如下图描述
- 配置 MOD 寄存器,设置为 SSI 的位置信息获取模式
- 配置 STF 寄存器,触发数据传输开始
- 等待 Status 寄存器的 END 比特置 1,表示本次的数据传输完成
数据结构图示:
Mode1
Mode1 为连续获取位置数据模式,即完成一次的位置数据获取后,通过硬件设置间隔时间,经过间隔时间后,自动进行下一次的位置数据获取,BISS_IF 的配置维持与上一次一致的配置。
在连续获取位置数据的过程中,如果出现异常状态,可以选择是停止获取数据操作,或无视异常继续进行获取数据。