DSP28035时钟设置讲解

本文详细介绍了TMS320x28035 DSP的时钟设置,包括CLKCTL寄存器配置、PLL初始化以及外设时钟启动。通过InitSysCtrl()、XtalOscSel()和InitPll()等函数,阐述了如何根据时钟框图调整系统时钟状态,以实现有效的系统时钟管理。
摘要由CSDN通过智能技术生成


TMS320x2803x系列(28035为例)系统时钟与TMS320x280x, 2801x, 2804x 系列时钟是不太一样的。
下面是TMS320x280x, 2801x, 2804x系列的时钟图如下:


这里写图片描述
这里写图片描述
TMS320x2803x系列(28035为例)的时钟与系统框图如下:
这里写图片描述
从上图可以看出SPI-A,SPI-B,SCI-A的时钟来自低速外设时钟LSPCLK; eCAN-A,LIN-A的时钟由SYSCLKOUT的二分频获得; 其它外设的时钟都是SYSCLKOUT。其中LSPCLK的大小由LOSPCP寄存器所设置,如下图:
这里写图片描述
TMS320x2803x系列(28035为例)的时钟源选择,如下图:
这里写图片描述
时钟源选择
2803x系列DSP有两个内部时钟源(INTOSC1和INTOSC2),可以不需要外部时钟。同时,也具有PLL时钟模块。一共有4种时钟源可供选择:
1) INTOSC1(10MHz)
内部时钟源1(INTOSC1),此时钟提供给看门狗块模块,内核和CPU定时器2 。
时钟频率默认为10MHz,可以通过INTOSCnTRIM寄存器修改频率。
2) INTOSC2(10MHz)
功能与INTOSC1是一样的。
3) 外部晶体振荡器
使用外部晶体振荡器给芯片提供时钟,晶振连接于X1/X2 脚。
4) 外部时钟源
如果不使用外部晶振作为时钟源,可以选择这种模式。时钟从外部时钟源的XCLKIN引脚输入生成。
注意:XCLKIN复用于GPIO19或GPIO38脚。可以通过XCLK寄存器的XCLKINSEL位选择是GPIO19还是GPIO38作为XCLKIN输入。
CLKCTL(XCLKINOFF)为0时,不使能此时钟。如果时钟源不使用或作为GPIO引脚时,用户应该在启动引导时禁用。

上面时钟图粗看起来很复杂,如果仔细分析,其实也很简单。从图的中间画一条分隔线,左边部分为4个输入时钟源,其中INTOSC1和INTOSC2是一模一样的,XTAL和XCLKIN是另外的两个时钟源; 右边部分三个时钟模块,从上到下分别是看门狗时钟WDCLK,系统时钟OSCCLK(此时钟到PLL),以及CPU定时器2时钟CPUTMR2CLK。
看完时钟框图后,下面是软件系统时钟的设置
在main函数的最初位置初始化DSP,即调用void InitialDSP(void)函数。

void InitialDSP(void)
{
    DINT;
    IER = 0x0000;
    IFR = 0x0000;
    InitSysCtrl();
    InitPieCtrl();
    InitPieVectTable();
    #ifdef RunInFlash
    memcpy( &secureRamFuncs_runstart,
            &secureRamFuncs_loadstart,
            &secureRamFuncs_loadend - &secureRamFuncs_loadstart);
    InitFlash();
    #endif
    InitAdc();
    InitGpio();
    InitSci();
    InitSpi();
    InitCpuTimers();
    EALLOW
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值