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.

[参考译文] TMS320F28388D:C2000Ware device.h 为 INTOSC2 10MHz 提供支持

Guru**** 2534260 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1288337/tms320f28388d-c2000ware-device-h-support-for-intosc2-10mhz

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

我们有一个定制电路板、并尝试使以太网堆栈启动并运行。 我们不提供外部时钟或 XTAL、而是使用 INTOSC2、如果我正确阅读文档中的内容、默认为10MHz。  

我们在 device.h 文件中找到该文件、

C:\ti\C2000Ware_5_00_00\device_support\f2838x\common\include\device.h

10MHz 的时钟设置中没有任何选项。 所涉及的只是20MHz 或25MHz 的定义。 不适用于 INTOSC2。

//*****
//
//与时钟配置相关的定义
//
//*****
#ifdef use_20MHz_XTAL

很棒

#else // USE_25MHz_XTAL

很棒

#endif

我需要有关为 INTOSC2 10MHz 定义符号的帮助。

谢谢!

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

    您好、Brad、

    对于以太网、CAN 和 CAN-FD 等需要严格时钟要求的应用、INTOSC 精度(+/-3%)将无法满足时序要求。  无论如何、要从 INTOSC2生成200MHz SYSCLK、请使用以下定义:

    #define DEVICE_OSCSRC_FREQ          10000000U
    
    //
    // Define to pass to SysCtl_setClock(). Will configure the clock as follows:
    // PLLSYSCLK = 10MHz (INTOSC2) * 40 (IMULT) / (1 (REFDIV) * 2 (ODIV) * 1(SYSDIV))
    //
    #define DEVICE_SETCLOCK_CFG          (SYSCTL_OSCSRC_OSC2 | SYSCTL_IMULT(40) | \
                                          SYSCTL_REFDIV(1) | SYSCTL_ODIV(2) | \
                                          SYSCTL_SYSDIV(1) | SYSCTL_PLL_ENABLE | \
                                          SYSCTL_DCC_BASE_1)

    这将生成400MHz 的 VCO 时钟并按比例缩小以生成200MHz SYSCLK。

    此致、

    约瑟夫

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

    您好、Brad、

    从 LM 响应电子邮件主题帖:

    然而,他的答案不承认方向的另一个#definitions 在该部分:

    1. DEVICE_SYSCLK_FREQ–我可以根据他针对 DEVICE_setClock_CFG 的指示推断需要什么。
    2. DEVICE_LSPCLK_FREQ–这个是否未更改(来自 DEVICE_SYSCLK_FREQ/4)?
    3. DEVICE_AUXSETECLOCK_CFG 和 DEVICE_AUXCLK_FREQ -  不清楚要做什么  ;因为我的初始 stab 在 device_setclock_CFG 根据 Joseph 的方向是错误的,我怀疑我也有这个错误。

    下面是对#1和#2的定义。

    #define DEVICE_SYSCLK_FREQ          ((DEVICE_OSCSRC_FREQ * 40)/(1 * 2 * 1))

    #define  DEVICE_LSPCLK_FREQ          (DEVICE_SYSCLK_FREQ / 4)

    辅助时钟是 USB 和 CAN 等其他外设的备用时钟源、可在不同于 X1的辅助时钟输入上提供。  如果不需要辅助时钟、则 可以忽略 DEVICE_AUXSETECLOCK_CFG 和 DEVICE_AUXCLK_FREQ。

    此致、

    约瑟夫