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.

[参考译文] TMS320F28377D:F28377D 示例程序如何识别芯片类型

Guru**** 2510075 points
Other Parts Discussed in Thread: CONTROLSUITE, TMDSDOCK28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/749996/tms320f28377d-how-can-the-f28377d-example-program-recognize-the-chip-type

器件型号:TMS320F28377D
主题中讨论的其他器件:controlSUITETMDSDOCK28379D

尊敬的团队:

我对 F28377D 示例程序如何识别芯片类型有疑问? 下面是 示例程序的一个简短段落:

C:\ti\controlSUITE\device_support\F2837xD\V210\F2837xD_examples_CPU1

F2837xD_SYSCTRL.c

(笑声)

#ifdef _LAUNCHXL_F28379D
   InitSysPll (XTAL_OSC、IMULT_40、FULT_0、PLLCLK_By_2);
其他
   InitSysPll (XTAL_OSC、IMULT_20、FULT_0、PLLCLK_By_2);
#endif //_LAUNCHXL_F28379D

(笑声)

1、 该程序如何识别是 F28377D 还是 F28379D?

2、    在 TMDSDOCK28377D 和 TMDSDOCK28379D 中、外部振荡器的频率是10MHz 还是20MHz?

此致

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

    您好、Chaofeng、

    必须手动定义。  如果您使用的是 Launchpad、 则外部振荡器为10MHz、您需要使用具有 IMULT_40的 PLL 设置。  如果使用控制卡、则外部振荡器为20MHz、您需要使用 具有 IMULT_20的 PLL 设置。

    此致、

    Joseph

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

    是的、我注意到 Launchpad 的振荡器为10MHz、controlCARD 为20MHz、但您能解释更多有关程序如何识别器件是 Launchpad 还是 controlCARD 的信息吗?
    或者您说过"这必须手动定义"、我在哪里可以找到它在程序中定义? 因为我在程序中找到的所有定义都是 F2837xD、所以我不知道它是 F28379D 还是 F28377D。

    PS:我使用位于以下位置的示例程序:C:\ti\controlSUITE\device_support\f2837xD\V210\F2837xD_examples_cpu1\adc_soc_software\cpu01\ccs

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

    很抱歉、我没有解释如何设置变量。 请参阅以下评论:

    主要区别在于 F28379D 具有可配置逻辑块(CLB)、而 F28377D 没有该逻辑块。 如果不使用 CLB、则无需将器件类型定义为 F28379D 或 F28377D。 您正在使用的 ADC 代码示例不使用 CLB、因此您不应担心这一点。

    -如果您使用的是具有20MHz 外部时钟的控制卡 TMDSDOCK28377D 或 TMDSDOCK28379D,则不必定义任何内容,因为它会使用默认的 PLL 设置,该设置假定外部时钟为20MHz。

    -如果您使用的 LaunchPad LAUNCHXL-F28377S 或 LAUCHXL-F28379D 具有10MHz 外部时钟、则必须在程序中对此进行设置。 为此、请执行以下步骤:

    ->在 CCS Project Explorer 窗口中、右键点击工程名称并选择"Properties"
    ->在"C2000 Compiler (C2000编译器)"下、展开"Advanced Options (高级选项)"并选择"Predefined Symbols"(预定义符号)
    ->在"Pre-define name (--define、-D)"部分下、单击绿色"+"标志。
    ->将弹出一个对话框、要求您输入预定义名称(--define、-D)的值
    ->在此对话框中、输入_LAUNCHXL_F28379D 并点击"OK"按钮
    ->您必须重新编译项目才能使此更改生效。

    请告诉我您是否仍对本主题有疑问。

    此致、
    Joseph
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Joseph、
    谢谢、帖子非常有用。

    但是、要运行200MHz system_clock 和 ePWM_clock、需要进行哪些修改?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Asim、

    无论何时使用 controlCARD 或 LauchPad、均遵循上述建议的更改。 系统时钟将设置为以200MHz 运行。 只要正确定义了硬件类型、下面的 PLL 设置(在示例中)就会处理这一问题:

    #ifdef _LAUNCHXL_F28379D
    InitSysPll (XTAL_OSC、IMULT_40、FULT_0、PLLCLK_By_2);
    其他
    InitSysPll (XTAL_OSC、IMULT_20、FULT_0、PLLCLK_By_2);
    #endif //_LAUNCHXL_F28379D

    要设置 ePWM 时钟、您必须配置 ClkCfgRegs.PERCLKDIVSEL[EPWMCLKDIV]。 这将允许 SYSCLK 的/1或/2预分频。

    此致、
    Joseph
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Joseph、
    非常感谢。
    我的时钟相关问题已解决。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Asim、

    请注意、在此器件上、允许的最大 ePWM 时钟为100MHz。  该限值在该器件的数据表中记录为 f (ePWM)。

    如果使用大于100MHz 的 ePWM 时钟、则不能保证 ePWM 外设的行为在所有条件/温度/等条件下都能正常工作、如文档所述


    谢谢、
    Brett