Thread 中讨论的其他器件:EK-TM4C1294XL
我使用 TM4C123GXL Launchpad 来确定 ARM M4系列微控制器是否适用于我的应用、该应用包括 SSI 位置编码器(IC-MU)。 编码器的时序规格如下:
t_tos 规格为1.5Xt_MAS (即时钟周期)、因此它随时钟速度而变化。 编码器报文长度为32位、这意味着我需要使用 SSI 外设产生一个时钟信号、该外设具有32个时钟周期 、在 第16位之后它不能有两个时钟周期的间隙、否则它将超时。
使用此 Launchpad 进行一些修补后、此 Tiva C 系列上的 SSI 外设似乎无法以这种方式进行配置、因为它必须在写入 TX FIFO 的16位之间暂停(本文提供了图像和说明):
在单个字传输的情况下、在数据字的所有位都已传输后
在最后一位之后的一个 SSInClk 周期内、SSInFss 线返回到其空闲的高电平状态
捕获。
但是、在连续背靠背传输的情况下、SSInFss 信号必须是脉冲信号
因为从器件选择引脚会冻结其串行数据、所以每个数据字传输之间的数据为高电平
外设寄存器、如果 SPH 位清零、则不允许对其进行更改。 因此、主器件
器件必须在每次数据传输之间将从器件的 SSInFss 引脚拉高、以启用
串行外设数据写入。 连续传输完成后、返回 SSInFss 管脚
在最后一位被捕获后的一个 SSInClk 周期内进入空闲状态。
那么、我的问题是:我是否正确地认为、如果不在消息中间超时、就无法使用此 MCU 与该编码器进行通信(使用其 SSI 接口)? 或者、是否有方法可以像使用 C2000器件那样在 TX FIFO 条目之间生成 SPI 时钟信号而不存在任何间隙?
谢谢!