- 本课程为精品课,您可以登录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秒
猜你喜欢
换一换
推荐帖子
- 【晒心得】TI M4开发板分享心得赢百元返现!(已颁奖)
- >>【颁奖礼】TI M4开发板分享心得赢百元返现! 开团时间:2013年9月25日早10:00 闭团时间:2013年10月13日晚23:59 心得提交截止时间:12月13日 评奖时间:12月13日-12月20日 团品数量:25套 活动详情请点击:>>TI Hanker M4开发板超低价团购,EEWORLD 资深坛友青风生产&制作 分享心得,还可参与最多100元返现。 获得板...
- soso 微控制器 MCU
- 在430F5529官方例程上面遇见一个问题
- //****************************************************************************** // MSP430F552x Demo - USCI_A0, SPI 3-Wire Master Incremented Data // // Description: SPI mas...
- 够了 微控制器 MCU
- 求助5402程序大于0x4000时装载出错问题
- 我的板子上外扩了一片sdram,如果代码少于0x4000时装载正常,大于就会报data verification at address 0x41dc,please verify targe memory and memory map. 我的cmd文件如下: -stack 1024 -heap 2048 /********************...
- luliku 微控制器 MCU
- TI的TMS320C6713高端DSP上电问题
- 在TMS320C672X的相关芯片手册中,说明了TI的DSP芯片关于内核和IO上电顺序的问题,在TMS320C6713,TMS320DM642的数据手册上也看到一段话,说这些芯片对上电顺序没有特别的要求,只要保证两者之间的间隔不要大于1秒钟就可以,看来随着TI芯片工艺的改进,以前在5000系列中的上电顺序问题是解决了的。 其中,672x的手册中说...
- 灞波儿奔 DSP 与 ARM 处理器