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.

[参考译文] TMS320F28P650DK:预计 MOSI 会在芯片选择之前更新吗?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1436214/tms320f28p650dk-is-it-expected-for-mosi-to-update-before-chip-select

器件型号:TMS320F28P650DK

工具与软件:

为什么在启用芯片选择之前 MOSI 会开始像 SPI 引脚一样工作? 在许多使用多种通信方法的器件上、MOSI 的行为会根据预期的通信类型向辅助器件发送信号。 通过 MOSI 在芯片选择之前应用其 SPI 值、除非使用外部芯片选择、否则无法与所有这些外设通信。 这是 C2000 SPI 上的预期行为吗? 除了使用外部芯片选择之外、是否有权变措施可以解决此问题。

SPI A
数据宽度:16
DMA:通道4 (RX)+通道3 (TX)
SPI 有效载荷:13 x 16位字
SPI 时钟:2MHz
SPI_PROT_POL0PHA1
事务结束启用中断:可以
芯片选择由 SPI 外设处理

示波器屏幕截图:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:TMS320F28P650DK

    工具与软件:

    如何使 C2000 SPI 外设在 SPI  事务结束时的行为类似于广泛接受的 SPI 标准? 根据我的测试结果、 在 SPI 事务结束时的完整时钟周期之前会停用芯片选择。 根据我的理解、此行为甚至与数据表时序图不一致。 您能否确认预期行为是什么、并提供确认行为的示波器截图?

    SPI A
    数据宽度:16
    DMA:通道4 (RX)+通道3 (TX)
    SPI 有效载荷:13 x 16位字
    SPI 时钟:2MHz
    SPI_PROT_POL0PHA1
    事务结束启用中断:可以
    芯片选择由 SPI 外设处理

    示波器屏幕截图与外部源的预期 SPI 行为间的关系。

      

    TMS320F28P650DK 产品说明书:

    我仍然不理解这个时序图、因为它没有显示极性1的情况、而从我收集到的情况来看、此时序图并不存在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请注意、在第一个图像中、它错误地写入了"Phase & POLARITY = 0 & 1"、而应该是"Phase & POLARITY = 1 & 0"。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新了相位和极性校正图像、使用更常见的顺序并使用正确的值。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已将该讨论拆分为一个 单独的 e2e主题:请使用该主题讨论原始问题、即 MOSI 在 CS 之前更新的位置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ali:

    感谢您提供这些附加信息。 为了确保我理解正确、您要根据测试结果询问为什么 CS 在最后一个时钟周期之前变为高电平/是否变为高电平?  

    [报价 userid="601238" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1436214/tms320f28p650dk-is-it-expected-for-mosi-to-update-before-chip-select/5507197 #5507197"]

    TMS320F28P650DK 产品说明书:

    我仍然不理解这个时序图、因为它没有显示极性1的情况、而从我收集到的情况来看、此时序图并不存在。

    [报价]

    根据数据表时序图、在传输开始时、CS 变为低电平/有效以启动 SPI 协议。 传输结束时、CS 在时钟变为高电平/非活动状态、此时数据应该已经传输完毕。  通过第二个时钟时序图(第一个时钟时序图表示极性= 0)以及其余行显示了极性= 1。

    您能否确认设置/保持时间? 您的 DMA 和 GPIO 的时钟速度是多少? 是否可以让 SPI 以更高的速度计时?

    这些关于两个极性/相位的注释意味着什么? 共享总线上的所有 SPI (C2000/其他)应配置相同的极性和相位。

    此致、

    Aishwarya.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Aishwarya

    "您问:根据您的测试结果、CS 为什么/是否在最后一个时钟周期之前变为高电平?" => 标题为"预计 MOSI 在芯片选择之前更新吗?"

    我想很明显、这个问题在问为什么在芯片选择前要更新 MOSI。

    "根据数据表时序图、在传输开始时、CS 变为低电平/有效以启动 SPI 协议。" 可以从示波器截图中清楚地看到没有发生这种情况。 所以我不知道你为什么不理解这个问题。

    "在传输结束时、CS 在时钟变为高电平/非活动状态、此时数据应该已经发送。" 如果您注意到 SPI 的工作方式有所不同、CS 必须在一个完整的时钟周期后(而不是在其更新边沿之后)处于非活动状态。 因此、有人提出这个问题。

    通过第二个时钟时序图(第一个是极性= 0)以及其余行显示了极性= 1。 可能这还不清楚、我在写第二个问题时将相位和极性混淆了。 我提供的图表中包含了这些信息、这是对的。 不过、所有问题仍然是相同的、因为 SPI 行为与任何预期的 SPI 行为都不匹配。  

    "您能否确认设置/保持时间?" 为什么这很重要?

    "您的 DMA 和 GPIO 的时钟速度是多少?" 2MHz 已在开机自检时重复了几次。 如果您的意思是我们进行交易的频率、那么答案是1kHz、这与提出的原始问题无关。

    "是否可以让您的 SPI 以更高的速度进行计时?" 否

    "这些关于两极性/相位的评论意味着什么? 共享总线上的所有 SPI (C2000/其他)应配置相同的极性和相位。" 显然、您不知道 C2000与所有其他器件使用的极性和相位不匹配。 请参阅数据表、并将 C2000数据表与此链接或任何其他介绍 SPI 模式的非 C2000源进行比较: www.analogue.com/.../introduction-to-spi-interface.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ali:

    明天我再给您介绍一些其他详细信息。

    此致、

    Aishwarya.  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ali:

    离线对齐时、 31.3.6 SPI 时钟方案  TRM  部分中的下图 显示了 SPI 在事务开始和结束时的预期行为。 这与您之前提供的非 C2000 SPI 的图表略有不同。  

    如果没有其他问题、我将继续、并将该主题标记为已解决。

    此致、

    Aishwarya.