工具/软件:
您好的团队、
我的客户想了解 SPI 的相关信息。
cc2538 用作 SPI 通信的从器件、但在 5MHz 进行通信时存在问题。
所附的用户指南似乎未介绍 SPI 通信的建立/保持时间 (19.4.2.2+)。
另一方面、有一个关于 MICROWIRE 的说明(图 19-12)、它与此处相同吗?
如果您能向我们发送任何有关时序特性的文档、例如 SPI 通信的设置/保持时间、我们将不胜感激。
e2e.ti.com/.../CC2538swru319c.pdf
此致、
Kenley
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 的相关信息。
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 中汇总、因此请一起检查。





您可以看到、随着通信速度的增加、时间已关闭。
您是否指的是上升/下降时间与周期/占空比的比较? 返回到上一个问题。
它们是在 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
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、
感谢您的支持。
客户请求 您能说明要检查的项目的具体寄存器名称和设置值吗?
例如、“更改为 SPI 主模式(将寄存器设置为****至 0x**)“等
这是因为客户希望消除寄存器设置和过程中的错误、以节省资源。
对于以下问题、自上电以来、它一直处于工作模式。
在接收 SPI 字节之前器件是否处于任何低功耗模式、如果是、如果器件保持在活动模式、行为是否会改善?
此致、
Kenley