F28335时钟系统

本文详细介绍了F28335芯片的时钟系统,包括系统时钟来源(外部时钟和片上晶振),PLL的控制与分频,以及外设时钟的管理,重点介绍了PLLSTS和PLLCR寄存器的作用。此外,还提到了延时函数的实现原理和计算方法。
摘要由CSDN通过智能技术生成


一、F28335系统时钟来源

系统时钟具体说明可查找TI提供的芯片数据手册,3.6节 ,OSC(The on-chip oscillator circuit)and PLL Block,有简要说明。系统控制与中断的具体寄存器等详细信息在用户手册的System Comtrol and Interrupts中,没事儿去翻吧;以下为简要说明。
在这里插入图片描述
在这里插入图片描述
F28335的时钟可来由两种方式提供,3.3/1.9V的外部时钟信号和片上晶振,具体连接电路查看数据手册;
在这里插入图片描述
比如我的开发版用的是一个30MHz的晶振。
在这里插入图片描述
外部时钟信号进来后,即OSCCLK,由PLL锁相环进行倍频(可选)后,再经过分频处理,得到CLKIN信号;
具体操作由:PLL状态寄存器 PLLSTS 和PLL控制寄存器PLLCR控制完成。

  1. PLLSTS结构体如下图:(直接翻代码吧)

(吐槽(划掉):用位域了诶)
PLLSTS
通常是需要使用PLL对时钟信号进行倍频的;其中OSCOFFPLLOFF 默认为初始值0 就行了,即OSC开关闭合,PLL使能;OSCCLK经PLL转为VCOCLK,再由PLLCR控制倍频输出;
具体的分频模式如下图:4种,由DIVSEL位控制;在这里插入图片描述
2. PLLCR结构体如下图:
在这里插入图片描述
具体的模式选择输出如下图所示:PLLCR控制倍频,PLLSTS控制分频
在这里插入图片描述
F28335芯片最高支持150MHz,我那板上晶振是30MHz,那么可选10倍频+2分频实现150MHz;跑了一下,寄存器值如下图所示:
在这里插入图片描述
00ic例程代码上是这样的:#define 宏 + 初始化函数 在"DSP2833x_Examples.h"文件里
在这里插入图片描述
在这里插入图片描述
emmm,那么CLKIN就有了;

二、F28335系统控制及外设时钟

CLKIN 为 芯片内核与片内外设(ADC/EPWM/SPI/CAN .etc)提供时钟信号;一般用到什么外设再开启对应时钟,以降低功耗;供给到片内外设的时钟有些还要经过预分频处理,通常由LOSPCP(Low-Speed Peripheral Clock Pre-Scaler Register)和HISPCP(High-Speed Peripheral Clock Pre-Scaler Register)控制,即高速、低速外设时钟预分频寄存器,也有直接2分频的,如eCAN;大概长下面这样的:
在这里插入图片描述

三、时钟单元常用寄存器

一些时钟寄存器的地址、长度与简写;
在这里插入图片描述
简要介绍俩:
PCLKCR0/1/3(Peripheral Clock Control 0/1/3 Register):外设时钟控制寄存器,就上上个图那个Peripheral Register;用来enable/disable外设时钟的,比如GPIO时钟由PCLKCR3控制
在这里插入图片描述
在这里插入图片描述

四、延时函数

DSP2833x_Examples.h 文件里自带了一个延时函数,具体的描述见汇编文件:DSP2833x_usDelay.asm

;//    #define CPU_RATE 6.667L // for a 150MHz CPU clock speed
;//    or #define CPU_RATE 10.000L // for a 100MHz CPU clock speed
// DO NOT MODIFY THIS LINE.
#define DELAY_US(A)  DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)

大概就是,轮询自减,可被中断打断,延时所需的时钟周期为:DELAY_CPU_CYCLES = 9 + 5*LoopCount;需要9个额外时钟周期开销完成配置,再加上每次循环需要5个时钟周期,每个时钟周期所需时间:1/0.15 = 6.66… nS,综上,就有上面宏定义那个公式。

EMMMMl,先这样,后面用到了再补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值