TMS320F280025的时钟

参考文档:

https://www.ti.com.cn/cn/lit/pdf/spruin7

TMS320F28002x Microcontrollers Technical Reference Manual (Rev. A) (英文內容)

Chapter 3
System Control and Interrupts

时钟树

锁相环

 时钟树中的SYSPLL(上图中红圈位置)展开后如下:

锁相环的控制

PLLCLKEN:锁相环时钟使能。当为0时,旁路PLL。为1时,选择PLL初始输出PLLRAWCLK用于系统时钟。

PLLEN:锁相环使能。用于控制PLL模块是否工作。

 相关寄存器:

锁相环时钟流

时钟源:参考时钟为OSCCLK。根据OSCCLKSRCSEL寄存器来从内部时钟源1(INTOSC1)、内部时钟源2(INTOSC2)、外部时钟(XTAL)中三选一。

参考时钟分频:REFDIV。分频后得到锁相环内部时钟(INTCLK)。

电压控制振荡器(VCO):得到VCOCLK。

VCO分频IMULT与反馈给INTCLK同步跟踪。稳定后,VCOCLK=INTCLK*IMULT。

锁相输出分频:ODIV。分频后得到的就是锁相环初始时钟PLLRAWCLK。

锁相环的计算

锁相环初始时钟频率Fpllrawclk = 时钟源频率 * 倍频系数IMULT / (参考时钟分频系数)/ 锁相输出分频系数。

锁相环配置寄存器

系统时钟分频选择

锁相环的输出并不是直接送给系统时钟,还有一个分频的环节:

相关寄存器:

 

 注意:当锁相环使能之后,这个分频系数最小值是2(最少4分频)。

当PLLSYSCLKDIV_LSB为1时,相当于分频系数要乘以1.5

CPU工作时钟

外设时钟

分两大类。一类是直接使用系统时钟,另一类是使用分频后的低速时钟(SCI和SPI)。

每一路外设都有单独的时钟使能位来控制。

时钟输出

有时要把时钟输出到外部其他的芯片,有时想看看MCU内部的时钟配置是否正确,可以将某些时钟通过CLKOUT管脚送出来。

管脚配置

首先,要将GPIO16或者GPIO18配置为XCLKOUT。

选择时钟源 

然后,选择输出哪一路时钟。

 

分频系数 

最后,在选择时钟后,还可以再分频。

 

参考

3.7.4 XCLKOUT
It is sometimes necessary to observe a clock directly for debug and testing purposes. The external clock output (XCLKOUT) feature supports this by connecting a clock to an external pin, which can be GPIO16 or GPIO18.
The available clock sources are PLLSYSCLK, PLLRAWCLK, SYSCLK, INTOSC1, INTOSC2, and XTAL.

To use XCLKOUT, first select the clock source via the CLKSRCCTL3 register. Next, select the desired output divider via the XCLKOUTDIVSEL register. Finally, connect GPIO16 or GPIO18 to mux channel 11 using the GPIO configuration registers.

频率宏定义

在device.h头文件中:

DEVICE_SYSCLK_FREQ  表示系统频率

DEVICE_LSPCLK_FREQ  表示低速时钟频率 

//
// 100MHz SYSCLK frequency based on the above DEVICE_SETCLOCK_CFG. Update the
// code below if a different clock configuration is used!
//
#define DEVICE_SYSCLK_FREQ          ((DEVICE_OSCSRC_FREQ * 30) / (2 * 3 * 1))


//
// 25MHz LSPCLK frequency based on the above DEVICE_SYSCLK_FREQ and a default
// low speed peripheral clock divider of 4. Update the code below if a
// different LSPCLK divider is used!
//
#define DEVICE_LSPCLK_FREQ          (DEVICE_SYSCLK_FREQ / 4)

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值