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.

[参考译文] CC2538:SPI 通信

Guru**** 2558250 points
Other Parts Discussed in Thread: CC2538

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1535782/cc2538-spi-communication

器件型号:CC2538


工具/软件:

您好的团队、

我的客户想了解 SPI 的相关信息。

cc2538 用作 SPI 通信的从器件、但在 5MHz 进行通信时存在问题。

所附的用户指南似乎未介绍 SPI 通信的建立/保持时间 (19.4.2.2+)。

另一方面、有一个关于 MICROWIRE 的说明(图 19-12)、它与此处相同吗?

 如果您能向我们发送任何有关时序特性的文档、例如 SPI 通信的设置/保持时间、我们将不胜感激。

e2e.ti.com/.../CC2538swru319c.pdf

此致、

Kenley

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

    尊敬的 Kenley:

    我理解《CC2538 用户指南》指出、对于从设备/外设 SSI 模式、系统时钟或 PIOSC 必须至少比 SSIClk 快六倍、并且在 32MHz 除以 6 大于 5MHz 的情况下是如此、但这不是一个干净的除法。  客户在 2 点使用 SPI 从器件还是在 4MHz 时是否遇到任何问题?  他们能否提供通信线路的任何示波器或逻辑分析仪屏幕截图、以及是否在 TI EVM 或定制硬件上进行测试?

    此致、
    Ryan

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

    尊敬的 Kenley:

    1.关于 MICROWIRE、它是 SPI 的子集、其中


    “... MICROWIRE 格式使用特殊的主从消息传递技术、以半双工方式工作。 在该模式下、当帧开始时、会向片外从器件发送一条 8 位控制消息。 在此发送期间、SSI 不接收传入的数据。 发送消息后、片外从器件对其进行解码、在 8 位控制消息的最后一位发送后等待一个串行时钟后、会以请求的数据进行响应。 返回的数据长度可以是 4 到 16 位、因此总帧长度为 13 到 25 位。“

    2.遗憾的是、旧器件的数据表中不包括 SPI 时序、因为这些类型的问题通常可以使用较低的时钟速度或略微增加的保持/建立时间来解决。 展望未来、我们将推动在较新器件的数据表中添加 SPI 时序。

    此致、

    按钮

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

    您好、Ryan 和 Bun、

    感谢您的支持。

    让我向您分享客户的反馈。

    4MHz 未发生通信错误。 当我使用示波器检查 SCL 和 MISO 的波形时、似乎他们的通信时间并不奇怪(如果发生通信错误)。

    示波器根据通信速度收集了通信线路的波形、我将向您发送一个屏幕截图。

    ・速度:1MHz、2MHz、3MHz、4MHz、5MHz

    主设备/从设备:摄像机/cc2538

    通信波形 2Ch:SCL 3Ch:MOSI 4 通道:MISO(设置 0x12/0x87)

    您可以看到、随着通信速度的增加、时序处于关闭状态。
    此外、相关的 SSI 寄存器设置值在 Excel 中汇总、因此请一起检查。

    e2e.ti.com/.../CC2538_5F00_SSI_5F00_RegisterSetting.xlsx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以看到、随着通信速度的增加、时间已关闭。

    您是否指的是上升/下降时间与周期/占空比的比较?  返回到上一个问题。

    它们是在 TI EVM 还是定制硬件上进行测试?

    硬件是否已提交至 SIMPLELINK-2-4GH-DESIGN-REPONS  

    4MHz 未发生通信错误。

    这足以不怀疑 SSI 寄存器设置、如果 SCLK 波形无法改进、这是可能的权衡。

    此致、
    Ryan

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

    您好、Ryan、

    以下是客户的反馈。

    MOSI 和 MISO 数据在 SCL 的上升沿读取。
    他们正在评估 usinbg 他们的定制硬件。

    但是、即使通信速度增加、数据的上升/下降时序也不会相对于 SCL 的上升沿偏离、并且似乎有足够的建立/保持时间。
    另一方面、随着 MISO 通信速度的增加、数据的上升/下降时序似乎相对于 SCL 的上升而言是延迟的、并且在 SCL 的上升时序不读取正常值。
    尤其是对于 4MHz 和 5MHz 波形、MISO 的上升和下降时序完全关闭半个周期、因此应读取意外的值。

    此致、

    Kenley

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

    当 SCLK 在不活动期间为高电平时、此配置为 SPO = 1(SCLK 高电平无效)和 SPH = 1(在后沿捕获数据)

    特别是对于 4MHz 和 5MHz 波形、MISO 的上升和下降时间完全关闭半个周期、因此应读取意外的值。

    示波器显示这些器件的工作 电压为 1.8V、2V 是 CC2538 的最小工作电压。  数据表和 TRM 中的大多数规格假定工作电压为 3V、因此在最低工作电压或更低工作电压下运行时需要权衡取舍。  TI 销售 电平转换器升压转换器、 用于客户的下一个硬件设计。

    此致、
    Ryan

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

    您好、Ryan

    感谢您的反馈。

    很抱歉缺少信息

    客户前天发送的示波器波形取自 1.8V 驱动器的摄像头侧、而非 3.3V 驱动器的 cc2538 侧的波形。

    3.3V<->1.8V 电平转换器使用:

    ・SCK、MOSI:SN74AUP1T08DCK

    MISO:SN74AUP2G08YZP(使用 2Ch)

    此致、

    Kenley

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

    感谢 Kenley 的解释、现在 CC2538 器件能够在这些条件下运行更有意义。  以前没有考虑过现有的电平转换器。  CC2538 侧是否有任何示波器屏幕截图、用于比较上升/下降时间?

    此致、
    Ryan

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

    您好、Ryan、

    客户已在 CC2538 端共享 oscilocop 屏幕截图。

    1 通道(黄色)为 CLK、3 通道(粉色)为 MISO(CC2538 输出信号)。

    由于线路是从外壳绘制的、尤其是 CLK 的振铃、但从时序角度来看、我认为它与 之前发送的波形没有太大不同。

    你怎么看?

    此致、

    Kenley

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

    我认为在 5MHz 时、CC2538 似乎没有相对于 CLK 速度适当地改变 MISO 线。  我认为 SPI 寄存器没有任何变化会影响这一点。  我没有重新创建此观察结果的硬件或时间。  4MHz 可能已经足够了。

    此致、
    Ryan

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

    您好、Ryan、

    感谢您的支持。

    那么、您建议客户如何解决此问题?  

    此致、

    Kenley

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

    Excel 工作表显示 SSI_CC 寄存器将 SYS DIV 用于深度睡眠(位 0)、并将 IO DIV 用于 PIOSC(位 2)。  让客户确认 SYS_CTRL_CLOCK_CTRL 寄存器的 32MHz 时钟 IO_DIV 和 SYS_DIV 位设置为 0x0。  这还需要 OSC 位来选择 32MHz 晶体振荡器(值为零)。  如果之前未清除、则需要为 SYS 和 IO 时钟提供 32MHz 晶体振荡器、才能实现最高 SPI 波特率。

    此致、
    Ryan

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

    您好、Ryan、

    让我澄清一下。 我真的不明白你的意思。

    请详细说明一下吗?

    如下所示、客户对 SSI_CC 寄存器的设置将 SYS DIV 用于深度睡眠(位 0)和 IO DIV 用于 PIOSC(位 2)。

    对于 SYS_CTRL_CLOCK_CTRL 寄存器、IO_DIV 和 SYS_DIV 都是 0。

    在这种情况下、选择 32MHz 晶体振荡器需要 OSC 位是什么意思; 如果之前未清除、则为 32MHz 和 IO 时钟提供源的 SPI 晶体振荡器将是实现最高 SPI 波特率的一项要求。

    此致、

    Kenley

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    《CC2538 用户指南》规定、对于从/外设 SSI 模式、系统时钟或 PIOSC 必须至少比 SSIClk 快六倍、并且在 32MHz 除以 6 大于 5MHz 的情况下也是如此、但这不是一个干净的除法。

    “当 SSI 时钟配置 (SSI_CC) 寄存器中的 CS 字段配置为 0x1 时、PIOSC 用作 SSIClk 的源。 对于主模式、系统时钟或 PIOSC 必须至少比 SSIClk 快两倍。 对于从模式、系统时钟或 PIOSC 必须至少比 SSIClk 快六倍。'

    务必确认 SYS/IO 时钟(以提供 PIOSC 的哪个)未从原始 32MHz 分频、因为这对于 TRM 中提到的 SPI 时序目的至关重要(因为默认值列为 0x1)。  很抱歉、我还没有意识到 Excel 电子表格底部已经提供了这些值。   我假设 OSC 也为零?  应该确认 32MHz 正在为 SPI 提供源、否则我没有其他想法可供分享。

    此致、
    Ryan

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

    您好、Ryan、

    SYS_CTRL_CLOCK_CTRL 寄存器的 OSC 在启动后立即设置为“0"。“。 那么、是否理解 SPI 源时钟是 32MHz?

    此外、由于处于从模式、32MHz / 5MHz = 6.4 次、超过 6 次。

    此致、

    Kenley

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

    我想在测试中、您可以更改为 SPI 主模式并 发送一个字节、如果 SPI 时钟与您的 CPSDVSR 和 SCR 设置对齐、则您就会知道时钟源符合预期。

    在接收 SPI 字节之前、器件是否处于任何低功耗模式、如果处于活动模式、行为是否会改善?

    此致、
    Ryan

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

    您好、Ryan、


    感谢您的支持。

    客户请求  您能说明要检查的项目的具体寄存器名称和设置值吗?

    例如、“更改为 SPI 主模式(将寄存器设置为****至 0x**)“等

    这是因为客户希望消除寄存器设置和过程中的错误、以节省资源。

    对于以下问题、自上电以来、它一直处于工作模式。

    在接收 SPI 字节之前器件是否处于任何低功耗模式、如果是、如果器件保持在活动模式、行为是否会改善?

    此致、

    Kenley

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

    这将涉及将 SSI_CR1 寄存器的位 2 (MS) 清零。  然后、您需要让 SPI 启动一个事务来监控 CLK 线路、这可以通过引用 代码示例来实现

    此致、
    Ryan

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

    您好、Ryan、

    CC2538 SPI 与主器件(摄像头)通信。

    需要时间来更换摄像头侧的主/从器件。

    客户想确认除了此主/从交换之外、他们是否还可以检查/尝试其他任何内容?

    是否可以使用 EVM?

    提前感谢您、

    Kenley

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

    为了清零、我最近才请求 CC2538 在主器件配置下发送一个字节作为测试、以验证最大时钟设置。  在这个环境中、不建议将 CC2538 永久更改为主器件。  您可以尝试使用 TI EVM 来验证是否能够以更高的 SPI 时钟频率与此设置进行通信。

    此致、
    Ryan