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.

[参考译文] IWR6843ISK:高 CLK 频率下的从器件 SPI 传输(>8MHz)

Guru**** 2462700 points
Other Parts Discussed in Thread: IWR6843ISK

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1480919/iwr6843isk-slave-spi-transfers-at-high-clk-frequencies-8mhz

器件型号:IWR6843ISK

工具与软件:

你(们)好、

我们目前正在尝试提高主控制器(连接到 IWR6843ISK 从器件)的 CLK 速度。 似乎在8MHz 之前就可以正常工作、但一旦我们尝试12.5MHz 和25MHz、MISO 线路(从6843传输的数据)会传输不正确的位。

我测试这只通过发送模式1010 1010等. 请查看下面的测试结果:

8MHz:

12.5MHz:

25MHz:

正如在12.5MHz 和25MHz 捕捉中看到的那样、6843似乎正在其字长(即8位)的边缘停留。 这在12.5MHz 捕获中可以非常清楚地观察到、其中每个第1位都是0、而不是1 (除了整个传输的第1位)。 在25MHz 捕获中、出于某种原因、我们只在传输的第二个字上看到它。

以下是我们的 SPI 配置:

对于此行为、是否可以提供任何帮助? SPI 驱动器是否存在一些硬件或软件限制、使其无法以 比8MHz 更快的速度运行?

谢谢!

Adam Gild

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

    您好、Adam、

    请允许我们在几天内回复。

    此致、

    Swarnendu

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

    另请注意、当6843应该从总线读取时、它也会将每第八位拉至低电平:



    我们还发现、器件似乎将该位拉低、而不是将该位反转(通过将读取 TX 虚拟数据设置为0x0000并观察到没有翻转的位进行测试)。

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

    您好!

    您是否尝试过 DMA 以外的其他 SPI 操作模式? 如果是、您是否在该模式下也遇到类似问题?

    此致、

    Sharan

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

    你(们)好、

    我尝试了禁用 DMA (我认为这会使其恢复到轮询)、但我仍然看到相同的问题。 是否要求每个字长(本例中为8位)切换 CS?

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

    您好!

    SPI 的工作时、您的输入时钟频率是多少?

    此致、

    Sharan

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

    它在8MHz 下正常运行。 12.5MHz 和25MHz 无法正常运行。 所有这3个频率的逻辑捕获都位于原始布置中

    谢谢!

    Adam

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

    您好!

    请允许我花几天时间在内部检查并与您联系。

    此致

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

    嗨、Sharan、

    通过在主处理器上每个字之间使用50ns 的延迟、我们已经解决了这个问题。 不过、我们现在遇到了传输每64个字节之间需要延迟的问题。 我认为这是6843 SPI 驱动程序上的一个已知问题、但我想知道您是否对此问题有任何更多的信息、或者我们是否有任何可以在 SDK 中实现的已知修复方法?

    我发现一篇文章详细介绍了类似的问题:
    e2e.ti.com/.../iwr6843-speed-up-larger-spi-transfers

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

    您好!

    请查看 SDK 中的 SPI 驱动程序文档(MMWAVE_SDK_03_06_02_00-LTS\MMWAVE_SDK_MODULE_DOCUMENTS)

    以了解有关使用多个 RAM 缓冲器进行 SPI 传输的更多信息。

    此致、

    Sharan