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.
客户代码 在正常模式下仅以 SPI_A 为主模式运行、没有任何问题、但是我们发现、如果我们还启用 SPI_B 主模式运行、SPI_A STE 信号将变得异常、您可以检查下面红色块中的 SPI_A STE 信号异常波形。
下面的波形中显示了更多详细信息、SPI_B 完成转换且 STE (黄色)变为低电平至高电平后、SPI_A 开始转换和 STE (紫色)变为高电平至低电平、 但是、SPI_A STE 在 MOSI 中间有一个异常高电平脉冲(绿色)、它会导致该帧中的 SPI_A 通信错误。 我们是否知道有人知道这种问题?
请清楚地解释。 我无法理解您在这里试图解释的问题?
通常情况下、当 SPI_A 发送数据时、STE 驱动器会变为低电平、并应保持低电平直到16位 MOSI 信号完成、然后 STE 变为高电平。
然而、在某些情况 下、STE 并不总是在一个帧中保持低电平、它将在8位 MOSI 数据后变为高电平、然后在一个 clk 后返回低电平、然后在保持8位 MOSI 数据后、STE 变为高电平。 此异常帧将导致 SPI 通信错误。
我们检查许多波形、最终发现此 SPI_A 问题 帧通常发生在 SPI_B 完成发送之后(这意味着 SPI_B STE 变为高电平的时序)。 尽管我们认为 SPI_A 和 SPI_B 应该是独立模块、 但似乎 SPI_B 会影响 SPI_A STE 信号、我们无法理解原因。
Terry、
我想知道这是否是电路板伪迹。 此问题是否仅在客户电路板(或) TI 电路板设置上出现? 您是否曾在 TI 电路板设置中尝试重现此问题?
此致、
曼诺伊
您好、Manoj
我们尚未在 TI 电路板上进行过测试。 但我们尝试修改客户代码以将 STE 引脚功能更改为 GPIO、然后通过 GPIO 设置/清除操作此信号以替换 SPI 模块 STE 功能、问题消失了。 因此、这个问题很可能是 SPI 模块情感问题、但不是电路板伪迹问题。 并查看 SPI STE 异常脉冲的波形、它 在一个时钟下非常稳定、它不像噪声、而更像逻辑信号。 那么、我们怀疑是否有任何可能的情况会触发芯片内部电路中的此类逻辑信号?
Terry、
客户可以共享 SPIA/SPIB 配置代码吗? 如果他们可以提供他们的代码来重新生成问题。 我们可以尝试从侧面重新创建问题、然后检查设计以运行仿真以了解问题。
此外、我希望客户对使用 SPISTE 引脚作为 GPIO 引脚作为权变措施感到满意吗?
此致、
曼诺伊
TMS320F28004x 微控制器数据表(修订版 F) 针对主控模式中的 STE 引脚提供了以下注意事项:
当程序在主控模式下同时使用 SPI_A 和 SPI_B 时、可能会更改软件时序、这意味着对于 SPA_A、不再存在连续传输、从而导致 STE 引脚暂时取消置位、然后重新置位。
每帧中有多少位?
Gillon
它在每个帧中为16位。 我是否可以了解更多详细信息以获得您的建议?很抱歉、我不清楚什么是"背靠背传输"以及如何影响 STE 引脚?
Terry、
您能回答我在上述帖子中的问题吗?
此致、
曼诺伊
您好、Manoj
问题已找到根本原因、在 SPI-A 发送第一个16位帧后、它被 SPI-B 接收中断暂停、因此 SPI-A STE 变为高电平;然后在中断完成后、SPI-A 继续发送第二个16位帧、以便 STE 再次变为低电平。 客户可以解决此问题、感谢您的支持。
为什么 SPIASTE 在进入 SPI-B RX 中断时被拉高?
客户已解决此问题、根本原因就像我在上一篇文章中提到的。 谢谢你。