DSP(TI-C2000)---时钟树和理解(Clocking System)

一、时钟源
TMS280039C所有的时钟都来自于这四个时钟。
1.主要内部晶振(INTOSC2)
10MHZ的内部晶振,系统在复位时默认的系统时钟。
注意:INTOSC2的精度不能满足CAN应用的要求,所以在使用CAN模块的时候,需要使用外部晶振。当INTOSC2作为系统时钟源时,GPIO19和GPIO18可以被用作GPIO引脚。
2.备用内部晶振(INTOSC1)
10MHZ的内部备用晶振,通常用于看门狗定时器、丢失时钟检测电路(MCD)。
注意:启用MCD并检测到缺少系统时钟,则会使用INTOSC1为系统时钟,且这个时钟会走旁路跳过SYSPLL直接作为时钟源。也可以手动选用该时钟作为系统时钟。
3.外部晶振(XTAL)

芯片支持一个外部时钟源(XTAL),可以用作系统时钟源和CAN模块的时钟源。外部时钟源使用GPIO19和GPIO18两个引脚。
外接晶振方法:
①单端3.3V外部晶振。时钟信号应该连接芯片的X1引脚(GPIO19),如下图所示:

②外部晶振。时钟信号分别连接芯片的X1(GPIO19)和X2(GPIO18)引脚,通过电容与芯片的VSS引脚接地相连,如下图所示:

③自带电容的外部晶振。时钟信号分别连接芯片的X1(GPIO19)和X2(GPIO18)引脚,与芯片的VSS引脚接地相连,如下图所示:
4.辅助时钟输入(AUXCLKIN)
GPIO29 (AUXCLKIN) 支持额外的外部时钟源。这必须是单端 3.3V 外部时钟,可用作 DCAN 和 MCAN 的时钟源。

二、派生时钟
时钟源倍频后产生应用所需要的时钟频率。
1.振荡器时钟(OSCCLK)
INTOSC2,XTAL或者INTOSC1三个之一需要被选择作为OSCCLK的时钟源,用作CPU和大部分外设的时钟。OSCCLK可以被直接使用,或通过系统倍频后使用,以达到更高的频率。复位的时候,OSCCLK是默认的系统时钟,并连接到INTOSC2。
2.系统PLL输出时钟(PLLRAWCLK)
系统PLL以OSCCLK作为输入,PLLRAWCLK作为输出的时钟频率。
流程:输入时钟信号--->refdiv分频-->imult倍频-->odiv分频-->输出时钟

- IMULT 是乘数的整数值。
- REFDIV是OSCLK的基准分频器。
- ODIV是PLLRAWCLK的输出分压器。
- PLLSYSCLKDIV 是系统时钟分频器。
PLLCLKEN
该寄存器为0,则OSCCLK不经过SYSPLL,经过旁路。
//
// Bypass PLL and set dividers to /1
//
ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0;
SYS Divider
系统时钟分频
SYSCLKDIVSEL
将系统时钟分频器设置为 /1,通过清除 SYSCLKDIVSEL[ PLLSYSCLKDIV] 来确保最快的 PLL 配置。
三、设备时钟域
设备时钟域为设备中各个模块的时钟输入提供时钟资源。
1.System Clock(PLLSYSCLK)
NMI看门狗定时器有独立的时钟域——PLLSYSCLK。它可以连接到系统PLL(PLLRAWCLK)或OSCCLK。所选的时钟源通过分频器,使用SYSCLKDIVSEL寄存器配置。
2.CPU Clock(CPUCLK)

CPUCLK用于CPU内核FPU,TMU以及FLASH模块。这个时钟和PLLSYSCLK时钟频率相同,当CPU进入IDLE,STANDBY或HALT模式后选通。
3.CPU Subsystem Clock (SYSCLK and PERx.SYSCLK)
- SYSCLK为专用RAM(M0、M1),本地共享RAM(LS4到LS7),全区共享RAM(GS0),boot ROM以及其他外设提供时钟。时钟频率与PLLSYSCLK时钟频率相同,当CPU进入HALT或STANDBY模式后选通。
- PCLKCRx的选择用于开启对应外设的时钟
4.Low-Speed Peripheral Clock (LSPCLK and PERx.LSPCLK)
- LSPCLK是低速外设时钟,由SYSCLK通过分频得到LSPCLK。LSPCLK作为SCI、SPI的时钟源。
- PERx.LSPCLK的选择用于开启SCI、SPI的时钟。

CpuSysRegs.PCLKCR8.bit.SPI_A = 1;//enable spi clock
LOSPCP
对寄存器中的LSPCLKDIV写入来改变分频
EALLOW;
ClkCfgRegs.LOSPCP.bit.LSPCLKDIV = 3; // 120mhs/6=20mhs
EDIS;
5.CAN Bit Clock
由于CAN时钟对时钟精度要求比较高,波特率的精度取决于未定时设置和网络设置,需要精确到0.1%。CAN时钟一般有外部晶振提供,并且时钟频率必须小于或等于SYSCLK频率。
时钟源:1.XTAL 2.AUXCLKIN

附录一:参考资料
1.TMS320F28003x Real-Time Microcontrollers Technical Reference Manual (Rev. C)
更多推荐

所有评论(0)