上图为DSP28377S的时钟图,XTAL晶振为20Mhz,通过内部的PLL锁相环倍频和分频后才能设置为系统时钟频率。倍频由整数倍频和小数倍频组成。
计算时钟公式为:
PLLSYSCLK = (XTAL_OSC) * (IMULT + FMULT) / (PLLSYSCLKDIV)
XTAL_OSC:外部时钟源
IMULT:整数乘法器
FMULT:小数乘法器
PLLSYSCLKDIV:锁相环分频系数
系统时钟设置函数为:
InitSysPll(XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2);
需要200Mhz的系统时钟,即20Mhz的晶振*(20+0)/2=200Mhz。
此公式可在TI模板工程的F2837xS_SysCtrl.C文件中找到。系统时钟可以用来LSPCLK、SPI、I2C、MCBSP 这些串口通信协议。通过 HISPCP 高速时钟寄存器设置预分频,可设置成高速时钟信号 HSPCLK ,A/D 模块采用的是高速时钟信号,方便灵活设置 A/D 采样率。通过 1/2 分频给了 eCAN 模块,直接输出给了系统控制寄存器模块、DMA 模块、EPWM模块、ECAP 模块、EQEP 模块这些高速外设模块。后续用到什么再去记录学习。