Other Parts Discussed in Thread: SYSCONFIG
器件型号: TMS320F28P650DK
主题: SysConfig 中讨论的其他器件
您好:
我希望尝试了解时钟是如何设置的、以及如何实现我从 PWM 看到的 1/2 速度。 我将使用 TMS320F28P650DK6PZ 芯片、并使用内部振荡器。 我启动了一个空白工程 (Project Explorer 中的 empty_driverlib_project)、我希望得到一些 EPWM。 在 device.h 文件中、我取消注释了#define USE_PLL_SRC_INTOSC、该器件会为 DEVICE_OSC_SRC_FREQ 切换值 10000000 (10MHz)。 以下行集:
#define DEVICE_SYSCLK_FREQ ((DEVICE_OSCSRC_FREQ * 40)/(1 * 2 * 1))
这应该总计 200MHz。
在我的 SysConfig 中、我通过使用动作限定器在向上/向下计数模式下将 TBP 设置为 100 来配置 50%占空比 PWM、从而在 TB 计数器向上等于 50 的 compa 时将其设置为高电平、在 TB 计数器向下等于 compa 时将其设置为低电平。
我的高速时钟分频器和 TB 时钟分频器都设置为 1、因此我知道这里没有会导致这种情况的分频。
在示波器上、我看到周期为 2us、即 500kHz 信号、50%占空比。 这对我来说似乎很正常、因为我希望 100 TBP 能给我一段时间的 1MHz。
观看 C2000 Academy 视频来提供有关加/减计数器的内容、
TBPRD = Tpwm /(2 * Ttbclk)
如果 TBPRD = 100 且 Tpwm = 2e-6、则求解 Ttbclk 将得到 1e-8(即 10ns)。 这对应于 100MHz 时钟。
我试图避免使用 ClockTree 工具、想看看是否可以更改此处的默认代码。
谢谢

