- 本课程为精品课,您可以登录eeworld继续观看:
- C2000入门基础(六) C2000 的控制外设
- 登录
- 课程目录
- 相关资源
- 课程笔记
好那我们讲完两个主题了
第三个就是控制外设
控制外设一个就是我们的一个
我们来看一下我们ADC
ADC是非常关键的
就是说我们内部我们来看一下
我们有一个所谓的一个ADC
那他有两个采样保持器
那它就可以来采我们的一个ADC
然后呢最终输出ADC的结果
那它的一个机制呢就是SOC机制
SOC 机制就是说它里面有
里面有独立的这种SOC配置
每个 SOC 都是相同的一个功能
我可以独立的配置它的触发源通道
还有一个采样保持器
所以你要采一路你就配置一个
我要采多路我就踩
我就配置多个 那它的触发源的话
我们有一个我们的软件触发
我们有cpu的一个TIMER
我们有这个 PWM 的这种触发源
那他这些触发源来了之后呢
我就去采对应的通道
然后最终让他输出这个中断
这就是它的一个流程
那简单的一个举例子
就是说比如我要采A2 B3 A7 这三个通道
那用什么信号来触发呢
用 PWM1 他就可以这么去配
我首先我的触发源配置成PWM1
那这三个通道我都配置成同一个触发源
那采样保持时间
我可以自己独立的配
那最终的一个结果
就是这个触发源来了之后呢
还可以去输出一个中断
那我就可以在这个中断来的时候
去读这三个结果
那这也是类似的一个例子
那除了 ADC 的话
我们跟 ADC 绑定的话
我们内部有一个
有三个那个模拟比较器
这个模拟比较器的话
它是直接跟这个ADC引脚是连在一起的
所以我们可以用这个模拟信号
同时输入到这个比较器里面去
那它的负端呢就可以是内部的一个DAC
这样的话就可以达到一个让他输出一个低电平
那这个低电平的话到时候会输出给PWM
让他做出一些保护动作
那PWM的这个
我们芯片每一个PWM模块都是有这些信号
那左边呢是一些保护信号输入
那右边的话是我的输出
我的输出最常见的就是说
我输出 PWM AB 两路信号
那还有的话就是说
我会输出一些触发信号
就触发我的 ADC
让它进行转换
以及我会产生一些中断给到CPU
这就是每一个模块
它的一个信号的一个接口
那具体来讲的话
它每一个模块里面会细分成几个子模块
那比如我有一个16位的一个timer
计数器就开始不断的去计数
那会根据我这个给他配置的一个时钟进行计数
那计数之后呢我会有一个比较的一个逻辑
就是说我产生比较之后呢
会让他去产生一些比较事件
当产生比较事件或者周期事件之后
我有一个 Action Qualifier 就是动作模块
这个动作模块就会让它
在这些事件之后呢
是高电平还是低电平
在经过死区然后再还有保护的话
就输出我的PWM
那这里面再简单的介绍一下
就是说16位的一个时基
它有它的一个计数器的话有增减
然后增减模式
这三种计数模式
那用的比较多的都是增减模式了
那它的一个比较事件的话
就是像刚才说的
就是说有它里面有两个比较器
比较器 A B
那它会产生对应的一个事件
A B这个事件
那当这些事件来的时候呢
我的一个动作模块就可以去设置
当我有这些比较事件的时候
我到底是做什么
首先有这个不做什么任何事情
或者是说可以清零拉高或者翻转
这就是我们PWM产生的一个原理
这就是一个例子
就这举例的话
就是说一个递增的一个计数
那我让他设置
他在计数器等于0的时候
我让他拉高
然后呢在比较器A的这个事件的话
我就让他拉低
这就是产生一个PWM了
那我们所有的PWM都是这样来的
那我通过我的算法里面通过
修改这个比较器A的这个值
那我就可以修改我的PWM的占空比
那这个呢是我们TZ保护模块
TZ保护模块
就是说我有很多这种保护信号
我的一些过流信号都是可以通过这个引脚输入
那当这些信号来的时候
我就可以通过这个模块
我可以简单做一些简单的寄存器配置之后
让它可以在20纳秒以内就把我的PWM关掉
这就是保护模块
那这个是我们的一些信号了
就我好多事件
那这些事件除了能够产生动作
我还可以去产生中断跟这个ADC触发信号
其实就刚才说的这些信号
我可以在修改PWM的时候去触发ADC
除了这个呢我们常规的这个ADC的话
我们还有一个高精度的一个PWM
这个高精度的PWM的话
是跟这个常规的这个PWM是绑定在一起的
就绑在一起的
我们它这个它的精度就是说是150ps
就比如我们计算一个占空比
是我们具体计算的一个值是 10.5 clock
数值的话 0.5 我们是写不进去的
那么我们就可以用这个高精度PWM去实现
那除了这个的话
eCAP 的话就可以去来
用来这个捕获这个脉冲信号
就我有一个方波信号的时候
我就可以用这个模块去捕获它的一个周期占空比
那这个的话也比较常用
我就不详述了
那 QEP 的话就是用它来
就是我们的编码器接口
当我们这个电机有一些位置信号的时候
我们是通过这个模块
然后去计算这个电机的角度
电机的位置跟角度的
但这种的话主要就是说
这个电机配置的是编码器接口
那每个电机它像这种传感器接口的话
它就是电机会有一个光码盘
会装在电机里面
然后呢他会输出这样一些脉冲
这样的方波信号
那我这个模块
我这个模块就会采样这个信号
然后最终在内部对这个信号进行计数
然后最终去测得测出这个电机的一个位置
课程介绍
共计7课时,51分20秒
猜你喜欢
换一换
推荐帖子
- 38kHz输出
- 先请教一下红外的知识:我在实验红外发射和接收功能,接收用标准的一体红外接收头,要求接收中心频率是38KHz的。但我用的红外LED不是成套买的(不知道是什么频率范围的),现在实验发射后,接收头的输出端电压并无变化。不知道是否和频率值有关系。 手头有430f149的板子,想通过430输出一个38KHz的频率直接加到红外发射LED,不知道可不可以实现。有几个问题: 1、我这样做可行...
-
huim
微控制器 MCU
- 芯片复位问题
- 最近使用msp430f123单片机作产品,发现在上电复位时,有时程序没有运行,就是输出信号不对。怀疑是复位电路的问题,使用的是最简单的阻容复位(电阻100k,电容0.1uF)。断电后测试复位引脚上有0.25V的电压。成功复位次数很少,这个问题怎么解决?必须使用复位芯片么?有没有更好的复位电路?谢谢大家了!...
-
greenpea101
微控制器 MCU
- 利用串行通讯在进行软件升级时,应将软件的源程序做那种处理
- 利用串行通讯在进行软件升级时,应将软件的源程序做那种处理!?编译后转换成16位进制还是别的什么!?如果转换,用什么转换!?...
-
zhenyuxie
微控制器 MCU
- 【讨论】MSP430单片机太贵,比较一下就知道了
- 看看TI的MSP430F149与PHILIP的ARM产品LPC2132的比较吧: MSP430F149 60KBflash,2048BRam; 8通道12bitA/D;48个I/O口; 16位WDT;1个16位Timer_A(3个捕获/比较寄存器)_A;1个16位Timer_B(7个捕获/比较寄存器); 2个USART接口; MPY;比较器_A;温度传感器; 64PM封装 6.05U...
-
cong0018
微控制器 MCU