This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C123GH6PGE:SSI 位置编码器的 SSI/SPI 帧格式

Guru**** 661510 points
Other Parts Discussed in Thread: EK-TM4C1294XL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1060689/tm4c123gh6pge-ssi-spi-frame-format-with-ssi-position-encoder

器件型号:TM4C123GH6PGE
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 时钟信号而不存在任何间隙?

谢谢!