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.

[参考译文] TMS320F28379D:200MHz SYSCLK 和闪存

Guru**** 2465890 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1493274/tms320f28379d-200mhz-sysclk-and-flash

器件型号:TMS320F28379D

工具与软件:

你好。


我有一个系统依赖于 Launchpad 的两倍时钟速度。 这是我添加到 device.h 文件中的配置

```μ A

//
//
// 20MHz 外部振荡器。 与 SysCtl_getClock()一起使用。
//
#define DEVICE_OSCSRC_FREQ      20000000U

//
//定义传递到 SysCtl_setClock()。 将按如下方式配置时钟:
// PLLSYSCLK = 400MHz = 20MHz (XTAL_OSC)* 20 (IMULT)* 1 (FMULT)/2 (PLLCLK_BY_2)
//
#define DEVICE_setCLOCK_CFG     (SYSCTL_OSCSRC_XTAL | SYSCTL_IMULT (40)| \
                   SYSCTL_FMULT_NONE | SYSCTL_SYSDIV (2)| \
                   SYSCTL_PLL_ENABLE)

//
//定义传递到 SysCtl_setLowSpeedClock()。
//低速时钟(LSPCLK)= 400 MHz /2 = 200 MHz
//
#define DEVICE_LSPCLK_CFG      SYSCTL_LSPCLK_PRESCALE_2

//
//基于上述 device_setclock_CFG 的200MHz SYSCLK 频率。 更新了
//如果使用了不同的时钟配置、请执行以下代码!
//
#define DEVICE_SYSCLK_FREQ      ((DEVICE_OSCSRC_FREQ * 40 * 1)/2)

#define DEVICE_LSPCLK_FREQ      (DEVICE_SYSCLK_FREQ/2)
```μ A


当我使用 RAM 时、在系统上运行的程序运行良好。 但是、当我尝试转到基于闪存的配置时、我在 Device Init 中点击了 ESTOP。 我已经验证存储器配置是否正确、因为我可以使用默认系统时钟通过闪存正确运行程序。 相反、我能够使用具有 RAM 配置的更快的时钟运行。  

调用 Flash_initModule、然后调用 Device_enableAllPeripherals 后调用 Device_init ()期间的错误。 ESTOP 的地址为 0x3FE493。  TMS320F28379D 非常 ︎:TMS320F28379D 闪存编程:InitFlash ()中 ETRAP0处的代码中断- C2000微控制器论坛- C2000微控制器- TI E2E 支持论坛、但我仅在将时钟信息从默认值更改为200MHz 时才会遇到此问题

我不确定如何继续解决该问题。


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

    尊敬的 Prakhar:

    此器件的最大 SYSCLK 频率为200MHz、为什么要以400MHz 运行?

    请确保您的最小值遵循数据表中的以下指南。

    谢谢

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

    Prarthan、您好!

    我将仔细检查时钟配置、然后向您反馈结果。 为什么这不会导致 RAM 配置出现问题?

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

    根据建议调整时钟配置以将 SYSCLK 限制为200 MHz 后、一切似乎都能正确引导。 我真的很感兴趣、系统的非闪存部分在 RAM 模式下支持400MHz SYSCLK、特别是原本以200MHz 运行的 EPWMCLK。  

    我怀疑如果等待状态的数量大幅增加到超过最小值3、这可在闪存配置中继续有效。  


    如果我理解正确、CLB 的计数器会与相应 CLB 的 EpWMCLK 同步运行。 如果 EPWMCLK 减半、为了保持相同的时间行为、计数器匹配也应减半-对吧?

    谢谢你

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

    您好!

    即使它以400MHz 的频率运行、也不意味着它在 RAM 模式下支持 SYSCLK。 芯片旨在支持最大200MHz 的 SYSCLK、但要记住各种限制、因此我们不建议超出数据表限制。

    [报价 userid="647392" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1493274/tms320f28379d-200mhz-sysclk-and-flash/5738103 #5738103"]如果我理解正确、CLB 的计数器针对相应 CLB 与 EpWMCLK 同步运行。 如果 EPWMCLK 减半、为了保持相同的时间行为、计数器匹配也应减半-是吗?[/QUOT]

    如果您还有关于 CLB 计时的问题、请另做一个主题

    谢谢