Other Parts Discussed in Thread: C2000WARE
器件型号: TMS320F280039C
主题: C2000WARE 中讨论的其他器件
我尝试在 F28003x 上使用 XTAL 选项。
我看到在 Launchpad 上、XTAL 的频率为 20MHz(必须检查 BOM、因为用户指南/数据表中没有提到它)、运行正常。
假设我使用另一个 10MHz 晶体振荡器。
如果我设置四个参数:imult、refdiv、odiv 和 divsel(如下所示的 InitSysPll () 函数)与我用于内部振荡器的参数 (48、0、1、1) 相同、它们实际上是它们的默认值、我看到 InitSysPll () 将配置内部振荡器本身而不是 XTAL。
这样做的原因是、用于选择 XTAL 的开关情形位于 if-子 句中、该子句会检查以下四个参数是否发生了变化:imult、refdiv、odiv 和 divsel、如果它们没有从默认值更改为其他值、则会完全跳过 if 子句中的代码。 
我看到这里提出了一个非常类似的问题: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1583342/tms320f28p650sk-pll-initialization-issue?tisearch=e2e-sitesearch&keymatch=IMULT#
但是、在上述问题中、INTCLK 不在所需范围内、因此 InitSysPll 的此问题在该范围内无效。
在这里、如果 10MHz 的 XTAL 和 (48、0、1、1) 用于 F28003x、则 INTCLK 在有效范围内。 我已经检查了、对于 10MHz OSCCLK、INTCLK 在 refdiv = 1 的情况下为 5MHz、这在 INTCLK 的范围内: 
因此,我的问题是:如果用户有一个 10MHz 晶体与 F28003x 芯片一起使用,如果四个参数被配置为默认值 (48、0、1、1 ),我认为这来自将时钟配置为默认值的引导加载程序, InitSysPll () 在尝试使用 XTAL 时不会引起问题,因为 if-子 句将为 false ,因此不会选择 XTAL ?
我需要了解对于 XTAL 和四个参数的这种特定配置、InitSysPll () 是否有故障、如果有、将来是否会在包含 InitSysPll () 的 C2000ware 标头中进行更正、
或者、
无论我是否需要将四个参数之一修改为其默认值以外的值、以确保 IF-子 句通过、同时确保 10MHz 晶体所需的 SYSCLK/LSPCLK 保持不变。
