Thread 中讨论的其他器件:SysConfig、 C2000WARE
您好!
库中配置 SPI 的函数表明 SPI 数据速率的限制为6MHz (< device freq /4、即25MHz)。
为什么它受到这样的限制? 可以将其设置得更高还是此 MCU 的限制?
谢谢!
吊车
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 的函数表明 SPI 数据速率的限制为6MHz (< device freq /4、即25MHz)。
为什么它受到这样的限制? 可以将其设置得更高还是此 MCU 的限制?
谢谢!
吊车
吊车、
请检查 F280040数据表的代码段。 最大 LSPCLK = 100MHz。 所提供的示例代码将 LSPCLK 配置为25MHz。 您可以将其更改为100MHz、然后获得25MHz 的 MAX SPI 波特率。
您可以通过将 LSPCLK 定义更改为 DEVICE_SYSCLK_FREQ / 1、在 device.h 中更改 LSPCLK = 100MHz
此致、
Manoj
尊敬的 Manoj:
我当时正在做一些其他的事情、现在必须尝试一下。
如果更改了 device.h 中的值、则 device init 中的以下语句将导致软件中断:
assert (SYSCTL_getLowSpeedClock (DEVICE_OSCSRC_FREQ)= DEVICE_LSPCLK_FREQ);
我不确定这是否与 SysConfig 中的值未更改相关。
另一个问题是、由于 device.h 已由 SysConfig 分级、是否必须在 SysConfig 中进行更改? 如果是、它在 SysConfig 中的位置?
谢谢!
吊车
吊车、
1)您需要单击下面突出显示的时钟树工具图标。
2) 2)获取您的输入时钟、PLL 配置以实现100MHz。
3)然后将 LOSPCP 从/2更改为/1。 当 SYSCLK=100MHz 时、这将配置 LSPCLK=100MHz。
4)您可以在 clocktree.h 中检查时钟配置 编译示例代码后、您可以检查由时钟树工具创建的 clocktree.h、如下所示。
此致、
Manoj
吊车、
下载最新的 SysConfig https://www.ti.com/tool/SYSCONFIG 、并确保 CCS 参考 CCS 中的最新版本 SysConfig。
此致、
Manoj
不、我使用的是4.2。 我看到的最新版本是 https://www.ti.com/tool/C2000WARE 上的4.3。
Crane 先生、您好!
安装最新的 C2000Ware 后问题是否得到解决? Manoj Santha Mohan 休假、他将在本周结束前回复您的问题。
Vivek Singh
您好、Vivek、
我已将 DEVICE_LSPCLK_FREQ 更改为 DEVICE_SYSCLK_FREQ / 1
并且在时钟树中将 LOSPCP 更改为/1。
assert (SYSCTL_getLowSpeedClock (DEVICE_OSCSRC_FREQ)== DEVICE_LSPCLK_FREQ);
条件失败是因为来自 SYSCTL_getLowSpeedClock ()函数的 clockOut (返回值)仍在返回
25000000仅在 DEVICE_LSPCLK_FREQ = DEVICE_SYSCLK_FREQ / 4时保持 true。
如何获取 SYSCTL_getLowSpeedClock (DEVICE_OSCSRC_FREQ)来为我提供值100000000或50000000、
我可以使用更高的 SPI 数据速率?
请检查此 E2E 主题。 它展示了如何使时钟树和 SysConfig 设置在您的项目中生效。 TMS320F280049C:如何在10MHz 下增加 SPI 比特率