声明:本文的主要内容来自TI公司的参考指南《TMS320x2833x, 2823x System Control and Interrupts Reference Guide》,附带一小部分本人对该模块的理解,水平有限,仅供参考.

一、简介:

28335的CPU TIMER有三个,CPU-Timer 0 、CPU-Timer 1 、 Timer 2 。Timer 2 是给DSP/BIOS操作系统保留的, 如果用户没有使用操作系统,那么Timer 2可以当作普通的CPU定时器使用。这三个定时器的中断信号分别为TINT0, TINT1, TINT2,分别对应于中断向量INT1,INT13,INT14。如下图所示,可以看出,TINT0是经过PIE的,而TINT1/.是不经过PIE的。

二、工作原理

定时器的结构框图如下:

简单描述如下:在SYSCLKOUT时钟信号的驱动下,当预分配计数器(PSCH:PSC)的值大于0的时候,每来一个脉冲,预分配计数器的值就减1,当预分配计数器中的值减到0

的时候,自动将(TDDRH:TDDR)中的值装载到预分配计数器中,同时,产生一个脉冲输出,在这个脉冲的作用下,32位计数器(TIMH:TIM)中的值也会减1,当减到0的时候,自动将32位周期寄存器(PRDH:PRD)中的值装载到32位计数器(TIMH:TIM)中,同时产生一个中断信号。

三、相关寄存器

每个定时器寄存器类似,以定时器0为例

总结一下就是下图:

比较怪异的是PSCH和PSC并没有放到一个16位寄存器中,而是分别拆开放到了两个寄存器中;TDDRH和TDDR同理。但是芯片厂家就是这么设计的,你只管用就好了。

下面把TI对各个寄存器的介绍粘贴了过来,每个寄存器的功能在原理分析的时候都讲的差不多了,这里就不一一分析了

单独讲一下控制寄存器吧:

TIF(中断标志位):当计数器减到0的时候,该位自动置1,写1清零

TIE(中断使能位):写0禁止,写1使能

FREE、SOFT:这两位是仿真模式位,决定了在高级语言仿真中遇到断电时定时器的状态。如果FREE位为1,则在遇到断点的时候,定时器继续运行(自由运行)。在这种情况下,不管SOFT位的状态;若FREE为0,当SOFT是0则立马停止计数;当SOFT是1则当(TIMH:TIM)减到0的时候停止计数。

TRB:重装位,写一的时候将PRDH:PRD的值装载到TIMH:TIM,将TDDRH:TDDR的值装载到PSCH:PSC。读该位时,总是0

TSS:(停止状态位) :写0开始计数,置1停止计数。当复位时,该位为0,立即开始计数。

四、CPU定时器的使用

首先解读一下官方的定时器配置函数

[html] view plain copy

通过以上分析,可以看出SYSCLKOUT没有经过预分频(分频系数为1)直接驱动计数器。

所以如下配置就是每1S产生一次中断,因为当时钟不分频的时候定时时间time =Freq*Peroid/SYSCLKOUT,这个就不多解释了。

ConfigCpuTimer(&CpuTimer0, 150, 1000000);

配置完了定时器之后,需要配置PIE中断,写定时器中断服务函数,开CPU级中断,最后开始计数就可以了。

具体的可以参考官方的历程。

文章标签: DSP28335CPU TIMER

相关热词: 28335波特率 28335串口 28335存储器 28335捕获 28335的ad

28335的CPU定时器解析相关推荐

  1. CPU 内部结构解析

    CPU 内部结构解析 为什么计算机能运行编写的代码(比如c语言,计算机为什么会运行这个东西,原理是什么)? 就目前理解,编辑的c语言最终加载到计算机的是二进制的数据,然后cpu 根据这些数据去进行相关 ...

  2. CPU指令解析及函数调用机制

    目录 一.CPU指令解析 最常用的mov指令 对栈进行push和pop 二.函数的调用机制 一.CPU指令解析 最常用的mov指令 指令中最常使用的是对寄存器和内存进行数据存储的 mov 指定数据的存 ...

  3. 【k8s】k8s内存/cpu单位解析

    helm简介.安装.使用 https://johng.cn/helm-brief k8s内存/cpu单位解析 https://www.pianshen.com/article/94481077886 ...

  4. 最近比较火的CPU漏洞解析,附带修改过带注释源码一份

    先说结果,由于CPU乱序执行和分支预测功能,可以通过判断需要读取的页面是否被 cache 缓存来判断内存中存在什么内容. 简单粗暴,直接上本帅改过的代码,含中文注释,不谢. 另外膜拜下这份源码的大神. ...

  5. Intel服务器CPU背面信息,英特尔(Intel)服务器CPU全解析(图)

    5.Intel Itanium 第一代和二代CPU 第一代 第二代 2001年英特尔发布了Itanium(安腾)处理器.Itanium实际上是处理器技术的变迁.现在的CISC处理器在每个时钟周期能完成 ...

  6. 高通CPU处理器解析

    正式介绍高通处理器之前,笔者认为还是先来大致了解下高通和ARM公司之间的关系.在之前的文章中我们也介绍过ARM公司以及相应的ARM架构,实际上,包括高通在内所有终端手机芯片厂商的手机处理器产品的底层都 ...

  7. CPU设计——CPU核解析——cv32e40p

    详细文档参考链接:https://core-v-docs-verif-strat.readthedocs.io/projects/cv32e40p_um/en/latest/pipeline.html ...

  8. CPU架构解析:ARM和x86大比拼

    信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构么?这两者的区别又是什么?绝大多数的人肯定是一脸懵逼.今天小编就带你深入了解CPU的这两大架 ...

  9. stm32单片机实现多个闹钟_基于STM32F103系列单片机的11个定时器解析

    STM32F103系列的单片机一共有11个定时器,其中: 2个高级定时器 4个普通定时器 2个基本定时器 2个看门狗定时器 1个系统嘀嗒定时器 除去看门狗定时器和系统滴答定时器的八个定时器列表; 8个 ...

最新文章

  1. abap 中的语法 div / mod 的用法区别
  2. poj3261(求至少出现k次的可重叠的子串的长度)
  3. 【白话机器学习】算法理论+实战之PageRank算法
  4. 关于华为海思Hi35XX系列开发的思考与总结
  5. 计算机 运行命令,教你电脑运行命令
  6. “云上企业”是企业面向未来的战略选择
  7. UI登陆页面素材|让设计师在竞争中脱颖而出
  8. 科技公司 CEO 合谋“诈骗”自家公司超 900 万美元,现已被捕
  9. 【课本】【No.2】集合表示法、一维离散变量定义,分布函数为了解决计算时间概率,二项分布,泊松分布,一维连续型分布函数与密度函数
  10. c++实习岗面试经历
  11. IDEA 2017 破解教程(2018也可以)
  12. 我本将心向明月,奈何明月照沟渠
  13. 【vscode】MarkDown 插入视频标签
  14. 2019天津市计算机等级考试报名时间,天津2020上半年计算机等级考试报名时间已公布...
  15. 一共81个,开源大数据处理工具汇总(下)转
  16. Bugku_隐写 [Study notes][MISC]
  17. IDEA查看Event log
  18. java自学要学多久(java自学要学多久)
  19. mysql冷热分离的技术_冷热数据分离思路
  20. C语言入门必刷100题合集之每日一题(20-40)

热门文章

  1. assign,copy,strong,weak,nonatomic的理解
  2. Comet:基于 HTTP 长连接的“服务器推”技术解析
  3. 安装和使用Glassfish
  4. mysql 社区版 innodb_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
  5. OpenCV C++ 08 - Homogeneous Blur on Images with OpenCV
  6. chattr和lsattr命令的使用(对于root用户也无法修改删除的操作问题)
  7. Centos 安装 jdk 和配置环境变量
  8. 【S4 导数据】S/4HANA导数,只会LSMW远远不够(转)
  9. AngularJS recursive(递归)
  10. 逆天的IE7中,诡异的横向滚动条