TI中文支持网
TI专业的中文技术问题搜集分享网站

IWR1843: 代码中设置的SPI通信速率与示波器检测CLK的速率不同

Part Number:IWR1843

您好:

我们使用的是 SDK3.6.0 与 radar toolbox 1.0.0.26 软件版本。开发IWR1843使用SPI协议通信中发现,在代码中设置的SPI通信速率与实际示波器检测CLK输出的频率不一致,具体测试的几组对应关系如下:

代码中设置SPI通信速率(MHz)

示波器检测到CLK(MHz)

 10

 10.57

 30

33.333 

 40

50 

这里我有两个问题请教:

1. 请问代码设置的SPI速率与最终输出的CLK的频率是一一对应的,还是每个雷达芯片的对应关系的差距较大(这个因为我没有大量统计18雷达芯片输出频率对应关系,因此不确定)

2. 代码设置的速率与实际输出速率不同,这个是SPI通信速率设置有什么规则还是一种软件缺陷?

如果说不同18雷达芯片在设置相同的SPI通信速率均能输出基本一致的CLK频率的话,这个也满足正常的使用。如果您能帮忙解释一下这个现象出现的原因的话,请不吝赐教,谢谢。

Gary Lu:

https://www.ti.com/lit/ds/symlink/iwr1843.pdf?ts=1691978991827&ref_url=https%253A%252F%252Fdev.ti.com%252F

你好,在第八章(34至41页)有说明,你这边可以参考,希望可以帮助到您,谢谢。

,

zhjos:

您好,这个文档我已经看过了,我还是没有找到我提问的两个问题的答案,您可以说的详细一点吗?

,

Gary Lu:

您好,您的问题我们已咨询e2e工程师,请关注帖子的回复。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1259149/iwr1843-the-spi-communication-rate-set-in-the-code-is-different-from-the-rate-at-which-the-oscilloscope-detects-clk

,

zhjos:

好的,感谢您的耐心回复

,

Gary Lu:

您好,有关 MibSPI 外设,请参阅相关技术参考手册第 23 节:https://www.ti.com/lit/ug/swru522e/swru522e.pdf

具体请看23.2.2 MibSPI Mode下的图:

在这里您可以看到实际上直接影响生成的时钟的系统/寄存器。高级 SDK 代码/API 抽象了直接控制时钟的能力;但是,您可以修改寄存器值本身(或者至少读取它们并了解其中的值如何配置时钟)。预分频块控制时钟分频,从而从 VBUS 外设时钟生成 SPICLK 的速度。 SPIFMT0 寄存器的 PRESCALE 字段和 EXTENDED_PRESCALE 寄存器在寄存器级别设置预分频量。

所以,回答您的问题:

1. 是的,SDK SPI API 和寄存器中设置的值之间存在 1:1 的相关性。您可以查看 SDK 函数来了解这一点。

2. 这是可以预料的,使用离散预分频器只能达到一定的粒度。

3. 如果您在 18 个雷达上设置相同的 CLK 速度(使用 SDK API),则雷达的最终时钟速度将全部“关闭”相同的量。

,

zhjos:

您好,第三点中“雷达的最终时钟速度将全部“关闭”相同的量”具体是什么含义了?

,

Gary Lu:

您好,已跟进

,

Gary Lu:

您观察到,当您在代码中请求 30MHz clk 时,您的示波器正在检测 33.33MHz 的实际输出 SPI 时钟。如果您对运行相同 SDK 的多个雷达运行相同的测试,您会看到它们全部为 33.33MHz。

您在软件中请求的时钟与您实际看到的输出时钟之间的差异是确定性的,并且在运行相同代码的所有测试雷达中都是相同的。

,

zhjos:

感谢您的答复

,

Gary Lu:

不客气,有问题随时交流

赞(0)
未经允许不得转载:TI中文支持网 » IWR1843: 代码中设置的SPI通信速率与示波器检测CLK的速率不同
分享到: 更多 (0)