C2000入门基础(四) C2000 的时钟和中断系统

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • C2000入门基础(四) C2000 的时钟和中断系统
  • 登录
讲完他的复位的话 我们接下来看一下它这个中断 理解一下 C2000 内部的 一个中断到底是怎么搞的怎么去做的 中断好比是说像我们人类一样 我们平时坐在办公室 然后我们再做一些我们自己常规的一些事情 这个时候我们的中断相当于我们的各种电话 各种人找你 你怎么去按你的优先级去处理这种事情 因为他要打断你的常规的一些事情 来看一下右边的话是这个芯片内核 它从内核级别它能够去处理的 它其实只能处理14个 然后再加几个不可屏蔽的中断 其实他自己本身 我的大脑本来只能响应这么几个而已 但这个远远是不能满足我周边这么多外设 这个事情的 所以我们会有一个叫做PIE的这个扩展 是说我们加了一个扩展模块 让他能够去分类的去处理各种各样的一个外设 我们来看一下这个模块 这个模块是这样子的 是说它分为 12 组 每一组分别可以直接牵扯到 芯片级别的 12 个主要的一个中断 每一组我又把它细分开来 对应每一个外设的一个中断请求 所以这样子的话12×8是等于96 是说我通过我的扩展之后 我一下子可以处理的很多的 一个中断的一个请求了 其实相当于你们的什么IO口扩展ad扩展 这是我们中断扩展这么来的 所以我们要 我们的外设要有一个中断请求的话 我外设级别给他一个使能他一个中断的 就是使能外设中断 然后对应的一个它到底是处于哪一组的 我把他使能了 它是属于CPU级别的哪一组也把使能了 这样子我从链路上 我把这个链路把他使能这样子 下次他如果有事情的时候 我能够保证它能够到 C2000 内核 能够让他去让 C2000 去处理 这里的话是它的一个过程 芯片复位之后 它这个刚才讲到了 到了这个入口 是我的芯片到这个具体的一个位置去取址之后 他会先跑一段这个int00的这个代码 这个代码其实是初始化一些 简单的一些环境变量 又把我一些变量的初始值 搬到我的全局变量里面去 然后再调我的一个main 是我用户自己写的一个主函数入口 在主函数入口里面再做一个初始化 初始化里面其实包含了各种各样的 一些外设手手脚脚之类的一些初始化 还有其中包括这个对这个中断 中断向量这些模块的一个初始化 比如把我的一些把我一些中断的服务函数 是我中断之后要怎么去办的些函数 把它放到对应的一些入口地址里面去 那他可以去当有中断来的时候 他能够到对应的一个入口去取我的一个地址 讲完中断的话 我们来看一下时钟 时钟相当于人的一个心脏 它的每一次跳动是能够维持 能够保证这个芯片的一个正常运行 你始终过快过慢都是心律不正常 首先我们来看一下它 内部有两个内部的一个时钟 分别都是十兆的一个时钟 除了内部的一个时钟源之外 我们还有一个外部的一个时钟输入 一个是我可以直接给他一个有源时钟信号 它直接可以另外的话有一个无源晶振 这是外部时钟输入 这三个构成它的一个时钟源 然后如果这三个时钟源 我都可以通过内部的一些寄存器配置 然后再加个一些锁相环 锁相环其实是给他倍频或者说分频之类的 然后最终达到一个给到C2000的一个时钟频率 比如我这里十兆 然后做一个 20分频分十兆 然后做一个12分频 然后再除以二变成60兆给C2000了 上面是时钟 所以时钟其实算是比较简单的 而且我们也有对应的一些配置例程 用起来很方便 还有的话是我们的一个看门狗 看门狗是看门的 然后我们它里面是用它来 复位我们的一些C2000内核 当我们的程序跑飞了之后 他会有一个默认的时间去把它复位了 这里的话比如我们如果给这个看门狗 给一个十兆的一个时钟的话 它会在 13.11 毫秒的时候 它就去复位 如果你没有及时的去清除掉 这个时钟计数的话它会复位 当然你这个时间是可以配的 你只要把这个时钟改了就行了 我们来看一下它的一个流程图 首先这个时钟这个时钟输入 然后经过一个分频 其实是你实际上的一个技术频率 我这里会有两个开关 举例我把这个这个是看门狗使能的 我把它这个通过寄存器 其实寄存器的一个位我把它置1了 他是可以过来了 我可以开始工作了 他这里面会有一个八位的一个看门狗计数器 他一直在这里开始计数了 其实所谓的给它喂狗 给它喂狗其实是你在代码里面 往某一个寄存器 往这个寄存器里面去写55AA或者说系统复位 这样的话会把这个清零 所以我必须保证 在他计数到八个位都是一之前我把它清掉 否则它这里会导致你复位了 这是看门狗复位 所以也是比较简单的
课程介绍 共计7课时,51分20秒

C2000入门基础

TI C2000 MCU 德州仪器

TI C2000 是已针对处理、传感和驱动进行优化以提高闭环性能的 32 位实时控制MCU。本入门课程从其基本技术点和在白色家电上的应用作了讲解。 C2000 的数学优化型内核可为设计人员提供能够提高系统效率、可靠性以及灵活性的方法。功能强大的集成外设使这些实时器件成为适合各种应用的完美单芯片控制解决方案。

推荐帖子

【求助】关于键盘和AD转换的问题!
小女子初学430,现做一块MSP430实验板的演示程序开发,遇到了几个问题,恳请大侠们指点(用的是MSP430F449): 1。 我的键盘程序运行影响到了步进电机的模块的运行。我是用TA中断,在中断程序中依次进行键盘扫描(行列式扫描),步进电机运行控制等,在键盘扫描中,原来设了个判断键释放与否的循环,后来发现当我按住某键不释放时,步进电机就不转了(因为不能跳出上述循环)。我问我的老师,他说将判键...
somanyww 微控制器 MCU
MCLK与低频外部晶振问题
MCLK来自低频外部晶振,如果振荡器失效,430会自动把MCLK信号切换为DCO吗?有些资料上说LFXT1只有在高频模式下才可以,那不是低频振荡器失效后就死机?那位兄弟给解释一下,多谢了...
qu27jump 微控制器 MCU
我的车库门摇控器上的LSD2262 芯片坏了...
请问贵网站的LSD2262 芯片能替换上去吗..!!!直接取下焊上就能用吗!!!先谢谢!!!我是菜鸟...
chap1 微控制器 MCU
【求助】zhaoyongsheng2004请注意
非常抱歉,我不知道怎么发email找您,所以只好在这吆喝一下. 您多包涵!!! 昨天我的程序出了点错,在论坛上搜到您去年的帖子,报错和我的一样,我的也是在项目中放一个文件没有错误,两个文件就出错了,Ignore CSTARTUP in library也点了,xcl和ddf都没问题. .您在上面说是少点了option 里的一个选项,不知道您后来是怎么解决问题的. 这个问题已经困住我两天了.....
weidshiep 微控制器 MCU

xuxuelu1

C2000入门基础(七) C2000 开发环境

2021年11月08日 20:45:59

YangTwo

C2000入门基础(七) C2000 开发环境

2020年08月18日 17:21:08

GuyGraphics

C2000入门基础(七) C2000 开发环境

2020年08月18日 16:19:56

SensorYoung

C2000入门基础(七) C2000 开发环境

2020年08月17日 14:57:40

jpf

学习C2000入门基础

2020年07月22日 17:42:31

大明58

学习C2000入门基础

2020年04月24日 08:50:05

hawkier

可以好好学习下,不错

2019年09月16日 17:21:26

zhangleiat185

好好学习,天天向上!

2019年09月11日 02:34:43

zx1988ZX

好好学习,天天向上!

2019年08月27日 21:25:17

dingxilindy

学习C2000入门基础(七) C2000

2019年07月05日 11:37:06

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved