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.

[参考译文] AM2432:SPI 外设模式开关特性

Guru**** 2810285 points

Other Parts Discussed in Thread: AM2434, AM2432

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1623095/am2432-spi-peripheral-mode-switching-characteristics

主题中讨论的其他器件:AM2432、AM2434

最大 SPI_CLK 最高可达 50MHz。

image.png

数据到时钟延迟最多可达 17.6ns、可能大于半个周期、将错过时钟周期中间的采样边沿。

例如、当时钟周期为 20ns(即 50MHz) 时)时、 主器件的采样点在时钟中间的相反的边沿上大约为 10ns、如果延迟 SS6 > 10ns、则将错过采样边沿、主器件无法正确地对数据进行采样。

image.png

因此、 17.6ns 听起来不合理、客户在定制板上测试延迟。30MHz 处的延迟约为 10ns、与 1MHz 处类似、在 SPI_CLK 频率范围内变化不大。

image.png

请帮助您再次确认 SS6 参数? 否则、17.6ns 不可能 支持最高 50MHz SPI_CLK、甚至无法支持 30MHz。

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

    尊敬的 Tony:

    从上表可以看出、所使用的 MCSPI 时钟周期并不像、外设传输时钟活动边沿和输出数据之间允许的最大延迟彼此相关。 否则、我认为有一个公式可以显示最大/最小延迟值与 MCSPI 时钟的 P 值的相关性。 考虑 MCSPI 控制器 RX 设置时序特性((tsu =建立时间)、  

     

    我同意、对于 f=MCSPI => P = 20ns、50MHz 外设延时 Tx 边沿到数据 17.12ns 将意味着数据采样不正确。 其中、边界值为更低值-> td  = P/2 - tsu_min = P/2 - SM4min = 10 - 2.8 = 7.2ns。 在该公式中、我不考虑任何引入延迟的 PCB 布线。

    谢谢

    此致

    Anastas Yordanov

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

    尊敬的 Anastas:

    展示了控制器模式时序、而不是外设模式。 它们是不同的。  

    在该客户用例中、SPI 在外设(从器件)模式下工作、尤其是担心外设发送开关特性参数、这是 SOC 的 IO 切换能力。

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

    AM243x 数据表中的最短周期时间仅定义了 AM243x SPI 外设的最大工作频率。 它不定义每个连接的设备可以存档的内容。

     必须评估每个器件的最小建立时间、最小保持时间以及相应的最大和最小输出延迟时间、以确定外设的实际最大工作频率。 您的系统设计应满足 AM243x 和连接器件的时序要求 、同时不超过最大工作频率。  无法保证外设在连接到所连接器件时能够以其最大频率运行。

    在标称器件上、客户可能没有遇到 17.12ns 的最大延迟、但在某些工作条件下、延迟可能会很长。 因此、选择不违反任何数据表时序参数的时序模式和工作频率对于实现可靠运行非常重要。

    此致、
    Paul

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

    尊敬的 Tony:

    [报价 userid=“35100" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1623095/am2432-spi-peripheral-mode-switching-characteristics

    数据到时钟延迟最多可达 17.6ns、可能大于半个周期、将错过时钟周期中间的采样边沿。

    例如、当时钟周期为 20ns(即 50MHz) 时)时、 主器件的采样点在时钟中间的相反的边沿上大约为 10ns、如果延迟 SS6 > 10ns、则将错过采样边沿、主器件无法正确地对数据进行采样。

    [/报价]

    根据您的解释、我理解您对最大值有顾虑 AM2432 SPI 外设 时钟有效传输边沿和 SPI 数据更新事件之间的传输延迟。 正如你已经得出的结论,如果延迟超过 P/2(我要说的是 ,它将更低

    p/2 - tsu_min - x) 在 50MHz 处、这会导致在 50MHz 进行不适当的数据采样。 在 SPI 总线的另一侧、您连接了对应的 AM2434 SoC MCSPI 作为接收器使用

    同样、两个对应器件 AM2432 — 外设模式下的 MCSPI 在控制器模式下(SPI_CLK 和 SPI_CS0 源)的用例的图。

    所以我认为我在这两个基础上组装的组合图应该是正确的。

    在本示例中、我不建议将 SPI 模式 3 作为最优模式。 模式 0 可能更好。

    Paul、

    非常感谢您的其他澄清!

    谢谢

    此致

    Anastas Yordanov   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    AM243x 数据表中的最短周期时间仅定义了 AM243x SPI 外设的最大工作频率。 它不定义每个连接的设备可以存档的内容。

    这与我的理解有点冲突。 由于这是在外设模式下、最大时钟值应该是可接受的且在“自身“的任何条件下可用的频率、延迟是“自身“的参数、而不是其他器件/元件。  

    至少大多数用户需要 20ns 的值、因为 SPI 可以在 50MHz 下作为外设工作。

    粘贴控制器模式延迟参数作为比较、没有人会质疑它在此延迟下支持最大 50MHz 的能力。

     必须评估每个器件的最短建立时间、最短保持时间以及各自的最长和最短输出延迟时间、以确定外设的实际最大工作频率。 您的系统设计应满足 AM243x 和连接器件的时序要求 、同时不超过最大工作频率。  不能保证外设在连接到所连接器件时能够以其最大频率运行。

    如果使用 AM243x 作为主器件、用户应自行确认所选从器件/外设的功能。  我说的是 AM243x 的 SPI 外设模式、延迟来自 AM243x、 自己的时序无法满足自己的时钟。

    客户在标称器件上可能没有遇到 17.12ns 的最大延迟、但在某些运行条件下、延迟时间可能很长。

    在什么情况下、延迟可以是 17.2ns、哪些因素会影响此延迟? 工艺差异? 是多少? 1.8V 或 3.3V IO 电压?  

    选择不违反任何数据表时序参数的时序模式和工作频率非常重要、这样才能实现可靠运行。

    同意、这就是我们在检查控制器和外设之间的时序时询问此延迟数据的原因。 最大数据延迟范围太大、无法确定如何选择采样边沿、如果确实超过了半个周期、可以参考全周期时序概念。

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

    尊敬的 Anastas:

    根据您的解释、我理解您对最大值有顾虑 AM2432 SPI 外设 时钟有效传输边沿和 SPI 数据更新事件之间的传输延迟。 正如您已经得出的结论、如果延迟超过 P/2 (我要说的是,延迟甚至低于

    我同意、我认为我们已经达成了共识。

    在此示例中、我建议不要使用 SPI 模式 3 作为最优模式。 模式 0 可能更好。

    当同时存在 Controller+外设时序时、最大外设模式周期应该 (17.12+2.8) x2=39.84ns=SPI、结论:两个可以以最大 25MHz SPI_CLK 通过 25.1MHz 进行通信。

    甚至忽略主器件侧建立时间的延迟、支持的最大外设 SPI_clk=1/(2x17.12) 29.2MHz。 在任何情况下都不支持通过 29.2MHz。  

    客户的用例需要在外设模式下支持 30MHz SPI_CLK、需要总结/建议如何操作 AM243x 可以支持的情况。

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

    更新了目前在外设模式下 30MHz SPI_CLK 测试中的 结果、测试结果证明数据表上的时序数据是错误的:

    SS6:10.8ns、比 17.2 短得多。 最小 2ns 也应该是不合理的、应仔细检查数据表上的 SS6 范围。

    SS7:12.4ns、数据表中该值最小为 20.95ns、肯定是错误的。

    SS8:14.2ns(从主机发送,可以根据需要进行调整)

    测试结果显示 AM243x SPI 可以在 30MHz 下作为外设模式工作、并且某些数据表参数错误、需要 BU 团队帮助再次确认这些参数、并确认 AM243x SPI 是否可以在 30MHz 下作为外设模式工作。

    多个工厂团队正在后台对此进行研究、 此处更新快照、以防需要更多专家进行研究。

    SS6:10.8ns

    SS7:12.4ns

    SS8:14.2ns

    器件: AM2431BSDGHIALVR

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

    尊敬的 Tony:

    感谢您对 AM2434 MCSPI 数据表参数的深入分析以及与 Paul 的讨论。

    我需要在此进行修订和总结。

    谢谢

    此致

    Anastas Yordanov

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

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

    您好、Tony、Kelven、  

    感谢您的测量结果、并提供了 今天与 Paul 讨论的时间图示摘要。

    此致

    Anastas Yordanov

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

    大家好!

    以下是根据您的讨论、 观察结果和执行的测试测量值、相对于 AM243x/AM64x 数据表“MCSPI"一“一章、有关要采取的更新操作的最终结论。

    更新操作   分别与 AM243x 数据表和 AM64x 数据表/部分 MCSPI — 外设模式/表、AM243x 开关特性 — 外设模式和“表、AM64x 开关特性 — 外设模式“相关:

    1. 指定了与参数 SS6 相关的最大延迟值  = 17.12ns(在当前 AM243x DS 修订版 H 和 AM64x DS 修订版 h) 大于必要值、该值将限制最大工作频率。  已确定为 SS6 定义的最大值可从 17.12ns 放宽到 10.5ns、并且仍然为 AM243x/AM64x SoC 在预期工艺电压温度 (PVT) 运行条件下能够在预期工艺电压温度 (PVT) 下正常运行提供足够的裕度。  该值将在数据表的下一个修订版本中更新。

    2.得出的结论是,与参数 SS7 相关的最小延迟值应被定义为最大值,而不是最小值。  20.95ns 的值也大于必要值、并可能限制最大工作频率。 在 AM243x/AM64x 数据表的下一个修订版中、计划将 SS7 的最小值从 20.95ns 更改为空白、将 SS7 的最大值从空白更改为 18.5ns。

    谢谢

    此致

    Anastas Yordanov

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已确定为 SS6 定义的最大值可从 17.12ns 放宽到 10.5ns、并且仍提供足够的裕度、以便在 AM243x/AM64x SoC 的预期工艺电压温度 (PVT) 运行条件下能够正常运行。  [/报价]

    如果设置为 10ns、则将消除所有误解。 从 IO 切换功能视图中、  

    我绘制一个简单的  

    根据客户捕获的波形、B 点应位于上升点、以便计算 AM243x IO 开关功能。 VIH 裕度或压摆率取决于超出 SOC 的电路板设计。

    因此、SOC 数据表可以提供更好的参数、无需考虑输出信号的上升时间。

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

    尊敬的 Tony:

    我已经与 Paul 讨论了将 SS6max 降低到 10ns 的建议。  

    10.5ns 是 AM243x/AM64x 可能实现的最低最大值。

    谢谢

    此致

    Anastas Yordanov