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.

[参考译文] TMS320F28075:CPU 定时器的最低频率?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/933483/tms320f28075-minimum-frequency-for-cpu-timer

器件型号:TMS320F28075

尊敬的香榭丽舍

我向我们的客户提出这一问题。  

32位 CPU 定时器是否具有最低频率限制?

如果是、我们如何计算它?

黄维恩

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

    韦恩、

    从 SYSCLK 运行到 spruhm9f、CPU-Timer0和 CPU-Timer1的修复。 CPU 定时器2通常脱离 SYSCLK 运行、但也可以使用 INTOSC1、INTOSC2、XTAL 和 AUXPLLCLK。 因此、我要说它的限制与 SYSCLK 的限制有关。 我将复制应用专家、以进一步评论此问题。

    此致、

    Ozino

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

    您好、Wayne、

    Ozino 是正确的 CPU 定时器0/1运行在 SYSCLK 上、但是 CPU 定时器2可以使用 INTOSC1、INTOSC2、XTAL 或 AUXPLLCLK。

    不同的时钟选项如下所述 (来自数据表):

    INTOSC1/INTOSC2都是10MHz 内部振荡器。

    对于 XTAL (数据表中的参考表) 、如果您在 X1/X2之间使用外部晶振或谐振 器、则最小频率为10MHz。 但是、如果您使用连接到 X1的单端时钟、则可以实现的最小频率为2MHz。

    AUXCLKIN 频率也是如此(最小值=2MHz)。  请注意、如果需要 USB 功能、辅助时钟(AUXPLLCLK)必须配置为产生60MHz。 在这种情况下、您可以将计时器2的时钟源从连接到 X1的 XTAL ->单端时钟、该 X1的最小频率为2MHz。

    此致、

    Marlyn

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

    尊敬的 Marlyn:

    根据上述内容、CPU 定时器可以支持的最长周期应为:

    (1/SYSCLK)* CPU 定时器预分频器* 2^32 (32位计数器)

    SYSCLK 可以低至2MHz。

    我们的理解是否正确?

    黄维恩

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

    韦恩、

    定时器周期的计算如下所示(可在 ConfigCpuTimer 函数中找到)

    uint32温度;
    
    //
    //初始化计时器周期:
    //
    Timer->CPUFreqInMHz =频率;
    Timer->PeriodInUSec =周期;
    temp =(long)(Freq * period);
    
    //
    //计数器每个周期递减 PRD+1次
    //
    Timer->RegsAddr->PRD.All = temp - 1; 

    您可以加载到 PRD 寄存器(32位寄存器)的最大值为0xFFFFFFFF。 您可以根据您选择的时钟(2MHz 是最低的)并根据您配置的预分频值、返回并计算要传递的周期值。

    此致、

    Marlyn