MSP432学习笔记:比较器E模块

发布者:温雅如风最新更新时间:2020-01-02 来源: eefocus关键字:MSP432  比较器E模块 手机看文章 扫描二维码
随时随地手机看文章

ComaratorE是具有用于多达16个通道一般比较器的功能的模拟电压比较器。


23.1 COMP_E简介所述COMP_E模块支持精确的斜率模 - 数转换,电压监控及外部模拟信号的监视。


COMP_E的特点包括


• 反相和同相端子输入多路复用


• 对于比较器输出软件可选RC滤波器


• 提供给定时器A捕捉的输入输出


• 端口输入缓冲器的软件控制


• 中断能力• 可选择的参考电压发生器,电压发生器的滞后


• 从共享基准参考电压输入


• 超低功耗比较器模式


• 中断驱动的测量系统,


用于低功率操作支持图23-1 示出了COMPE框

23.2 COMP_E操作

所述COMP_E模块由用户软件进行配置。COMP_E的设置和操作在下面的章节中讨论。


23.2.1比较

( - )输入端的比较器的模拟电压在正(+)和负相比较。如果+接线端是更积极比 - 末端,比较器输出CEOUT高。比较器可以打开或关闭使用控制位世隆进行切换。比较器应在不关闭使用,以减少电流消耗。当比较器处于关闭状态,CEOUT是低时CEOUTPOL位被设置为0,并且当CEOUTPOL位被设置为1 CEOUT高。要优化的应用,满足比较器的速度要求的最低功耗模式的电流消耗(参见比较器传播延迟和响应时间的特定于设备的数据表)应与CEPWRMD比特来选择。该CEPWRMD位默认为0x0,这是最高的动力和最快的速度。CEPWRMD = 0X2是最低的功率和速度最慢的选项。


23.2.2模拟输入开关

模拟输入切换两个比较输入端连接或断开,以使用CEIPSELx和CEIMSELx位相关的端口引脚。比较器的输入终端可以单独控制。该

CEIPSELx和CEIMSELx位允许:

• 到V +比较器的V-端子的外部信号中的应用和

• 内部基准电压的路由至相关联的输出端口引脚

• 外部电流源(例如,电阻器),以将比较器的V +或V-端子的应用

• 内部多路复用器向外部内部的两个端子的映射,则输入开关被构造为T型开关来抑制在信号路径中的失真。

注:比较器输入连接

当比较器接通时,输入端子应连接到一个信号,功率,或接地。否则,浮动水平可能会导致意外的中断和电流消耗增

加。

所述CEEX位控制输入多路复用器,置换比较器V +和V-端子的输入信号。此外,当比较器端子被置换,来自比较器的输出信号被太

反转。这允许用户以确定或补偿比较器的输入偏移电压。


23.2.3端口逻辑

与比较器信道相关联的PX.Y引脚由CEIPSELx或CEIMSELx位启用禁用其数字部件,同时用作比较器的输入。只的比较器输入管脚之一

被选择作为输入到在一个时间比较器由输入多路转换器。

23.2.4输入短路开关

所述CESHORT位短路的Comparator_E输入。这可以用于建立一个简单的对比较器取样和保持(见 图23-2 )。

所需的采样时间与采样电容器的尺寸(CS)、与短开关串联的输入开关的电阻(RI)和外部源的电阻(RS)成正比。采样电容CS应大于100pf,充电时间常数Tau可由式12计算。Tau = (RI + RS) CS(12)根据要求的精度,采样时间为3 ~ 10 Tau。3 Tau的采样电容被充电到输入信号电压电平的95%左右,5 Tau的采样电容被充电到99%以上,10 Tau的采样电压足以保证12位精度


23.2.5输出滤波器比较器的输出可带或不带内部滤波。在设置控制位CEF时,使用片内RC滤波器对输出进行过滤。滤波器的延时可以通过四个不同的步骤进行调整。当输入端子之间的电压差很小时,所有比较器输出都会振荡(如图23- 3所示),这是由信号线、供电线路和系统其他部分之间的内外部寄生效应和交叉耦合造成的。比较器输出振荡降低了比较结果的精度和分辨率。选择输出滤波器可以减少与比较器振荡相关的误差。

23.2.6基准电压发生器


图23-4显示了Comparator_E引用框图

图23。基准发生器框图

比较器和比较器输出的中断标志在来自共享引用的参考电压稳定时保持不变。如果将CEREFLx从一个非零值更改为另一个非零值,中断标志可能会显示不可预知的行为。建议设置CEREFLx =00之前更改CEREFLx设置


电压基准发生器用于生成VREF, VREF可应用于任意一个比较器输入端。CEREF1x (VREF1)和CEREF0x (VREF0)位控制电压发生器的输出。CERSEL位选择应用VREF的比较器终端。如果外部信号被应用到两个比较器输入端,内部参考发生器应该关闭以减少电流消耗。电压基准发生器可以产生器件VCC的一部分或集成精密电压基准源的一部分电压基准。当CEOUT为1时使用Vref1,当CEOUT为0时使用Vref0。这允许在不使用外部组件的情况下产生滞后


23.2.7端口禁用寄存器(CEPD)比较器的输入和输出功能与相关的I/O端口引脚复用,这些引脚是数字CMOS门。当模拟信号应用于数字CMOS门时,寄生电流可以从VCC流向GND。如果输入电压接近栅极的过渡电平,就会产生寄生电流。禁用端口pin缓冲区可以消除寄生电流流,从而减少总体电流消耗。设置CEPDx位后,禁用相应的Px。y输入缓冲器如图23-5所示。当当前消耗是关键时,任意Px。连接到模拟信号的y引脚应该用它们相关的CEPDx位禁用。选择具有CEIPSEL或CEIMSEL位的比较器多路复用器的输入管脚将自动禁用该管脚的输入缓冲区,而不管相关的CEPDx位的状态如何。

23.2.8 Comparator_E中断一个中断标志和一个中断向量与Comparator_E关联。中断标志CEIFG设置在比较器输出的上升边缘或下降边缘,由CEIES位选择。当CEIFG和CEIE位都设置好时,比较器发出中断信号。当NVIC适当地启用比较器中断时,CPU可以为比较器中断提供服务。注意:改变CEIES位的值可能会设置比较器中断标志CEIFG。即使比较器被禁用(CEON = 0),也会发生这种情况。建议在配置比较器以获得适当的运行中断行为之后清除CEIFG。


23.2.9用于测量电阻元件的Comparator_E

采用单斜率模数转换方法,优化比较器可以实现电阻元件的精确测量。例如,通过比较热敏电阻的电容放电时间和参考电阻的放电时间,温度可以用热敏电阻转换成数字数据(见图23-6)。将参考电阻Rref与Rmeas进行比较

Rmeas测得的温度计算资源为:


•两个数字I/O引脚为电容器充放电。


•I/O设置为输出高(VCC)给电容充电,复位为放电。


•不使用时,I/O用CEPDx集切换到高阻抗输入。


•一个输出充电和放电电容通过Rref。


•一个输出通过Rmeas放电电容器。


•+端连接到电容器的正端。


•-终端连接到一个参考水平,例如0.25×VCC。


•输出滤波器应用于最小化开关噪声。


•CEOUT用于门控计时器捕获电容器放电时间。


可以测量多个电阻元件。附加元素连接到C0


可用的I/O引脚和切换到高阻抗时,没有被测量。


热敏电阻的测量是基于比率转换原理。两个电容的比值


放电次数计算如图23-7所示。

VCC电压和电容值在转换过程中应保持恒定,但不是临界值,因为它们在公式13的比值中相互抵消

23.3 COMP_E寄存器

表23-1列出了COMP_E寄存器及其地址偏移量。有关模块的基本地址,请参阅特定于设备的数据表

注意:这是一个16位模块,只能通过字节(8位)或半字(16位)访问。对该模块的32位读写访问会导致总线错误。

有关以下部分中使用的寄存器位访问和重置约定的详细信息,请参阅

前言


23.3.1 CExCTL0 Register (offset = 00h) [reset = 0000h]


Comparator_E控制寄存

23.3.2 CExCTL1寄存器(偏移值= 02H)[复位= 0000H]

Comparator_E控制寄存1

23.3.4 CExCTL3寄存器(偏移值= 06H)[复位= 0000H]

Comparator_E控制寄存器3

23.3.4 CExCTL3寄存器(偏移值= 06H)[复位= 0000HComparator_E控制寄存

 

23.3.5 CExINT寄存器(偏移值= 0CH)[复位= 0000H]

Comparator_E中断控制寄存器

23.3.6 CExIV寄存器(偏移值= 0EH)[复位= 0000H]

Comparator_E中断向量寄存器

 

关键字:MSP432  比较器E模块 引用地址:MSP432学习笔记:比较器E模块

上一篇:msp432记录1-gpio使用
下一篇:手把手教你新建MSP432工程

推荐阅读最新更新时间:2024-11-03 05:55

嵌入式开发笔记-CCS平台-MSP432
注意事项 1、使能中断的单位是端口,因此无法做到只使能端口的某个引脚的中断而不使能该端口的其他引脚。所以如果一个端口有多个引脚是中断源,那么中断子程中应当增加语句,判断是哪一个中断源触发了中断。 2、中断子程不能传入参数、不能有返回值,应当是简短、高效的(在中断中做浮点运算、printf等操作是不明智的)。 3、条件表达式( 表达式1 ? 表达式2 : 表达式3 )比if-else语句在优化方面更好。 4、除非要利用溢出归零特性,否则循环变量一般使用无符号整型数(unsigned int)。 5、为了使程序更加高效,建议将所有函数的参数都控制在4个及以下。 6、CCS不支持引用传递!若想在函数中直接操作外部的变
[单片机]
MSP432编译环境搭建--KEIL版
前言 2020电赛需要用到MSP432系列的单片机,在这里记录一下自己搭建KEIL5环境的过程,习惯使用KEIL编译器的可以接着看下去;除了KEIL5以外,IAR、CCS、Arduino编译器也是可以选择的,由于我之前学习C51、STM32F4系列的单片机,使用KEIL较多,因此学习了一下如何搭建KEIL下的MSP432编译环境,另外说明一下我使用的是单片机型号是MSP432P401R 一、KEIL5下载 这一部分有STM32和51单片机使用经验的同学是可以跳过的,纯新手的话建议在CSDN上搜索一下,很容易的~~ 二、安装步骤 在安装过程中,我参考了这篇博客,给出链接如下:链接: https://www.cnblogs.c
[单片机]
<font color='red'>MSP432</font>编译环境搭建--KEIL版
msp432快速入门第十一节之编码器
(一)编码器介绍 首先可以在man手册中查看TAx的功能(function),发现他不支持直连编码器,然后看了下timer32,发现timer32也不支持,不过好消息是发现TAx定时器支持输入捕获,那我们只能使用输入捕获来计算编码器的数值了,如果是步方向编码器可以直接拿来用了,如果是正交编码器需要使用D触发器鉴相,具体电路可以百度搜索,我自己使用的是正交编码器,利用74HC74D双D触发器来鉴相,这样可以直接给两个电机使用了。 (二)移植输入捕获程序 仿照TI的官方例子进行配置输入捕获: (1)配置TAx定时器 /* Timer_A Continuous Mode Configuration Parameter */ co
[单片机]
<font color='red'>msp432</font>快速入门第十一节之编码器
MSP432 FPU与DSP测试
前言 本文基于MSP432P401R,总所周知MSP432基于Cortex-M4内核,Cortex-M4内核相比于M3而言多了FPU(浮点运算单元)并支持DSP指令集,FPU配合DSP指令使得单片机浮点运算时间大大缩短。官方给出的数据是有近10倍的缩短。TI官方给只给出的FPU的例程,没有给出DSP例程,而且FPU例程描述的不清晰。下文将介绍如何开启FPU和移植DSP库并进行测试。 以下是本篇文章的正文内容 一、开启FPU MSP432是ARM内核,自然就支持MDK了。个人习惯使用MDK,也推荐MSP432使用MDK开发。 开启FPU之前先查看当前设备是否支持FPU,进入MDK调试界面,右下角查看地址0xE000ED88 数据
[单片机]
<font color='red'>MSP432</font> FPU与DSP测试
msp432快速入门第十二节之电机闭环
注意:在看这一节之前必须看完这一节之前的三节教程。 (一)PID原理 PID的是典型的误差反馈控制系统,是古典控制理论中最为常见的一种控制方法,而且至今仍被广泛使用,对于电机的闭环控制,我使用增量式PID进行控制,设定的采集以及计算时间为100ms,电机的输出PWM范围为0-10000,方向使用电平单独控制,在这个控制过程中仅仅使用了PI两项,并没有使用D项,PI控制电机的效果比较理想。 (二)程序编写 (1)h文件 //普通速度环 基本速度控制 //简易增量式PID typedef struct { int16 exval; int16 nowval; float kp; float ki;
[单片机]
<font color='red'>msp432</font>快速入门第十二节之电机闭环
NO.12 MSP432进行串口通信
  首先,我们要明白什么是串口通信。   串口指的是串行通信,要把CPU并行处理的数据转换成串行处理的数据进行发送。英文是UART。   关于串口使用其实非常简单,使用串口需要至少两台设备进行通信。每台设备要公地(一根线),有一个发送数据端口TX(一根线),有一个接收数据端口RX(一根线)。总共需要三根线进行数据传输。      其中TX只能用来发送数据,RX只能用于接收数据。假设我们有两台设备A和B,在AB之间实现串口通信需要将TXA和RXB连接,将RXA和TXB连接。简单说就是,你这个发送端发送的数据要送到人家接收端口,你的接收端口接收人家发送过来的数据。可以同时进行,这叫串口。两台设备要能够进行通信的话,一定要有相同的配置
[单片机]
NO.12 <font color='red'>MSP432</font>进行串口通信
六、MSP432飞控软件框架分析
飞控整个软件代码运行在定时器调度模式,同时对各个外设模块中断优先级进行了合理设计,确保程序运行的实时性和稳健性。其中对实时性、周期性要求高的比如:传感器数据采集、姿态解算、惯性导航、控制等任务,采用定时器调度的方式执行,其它耗时且对周期性要求不高的子任务例如:电压采集、按键扫描、显示屏刷 新、地面站发送、加速度计标定、磁力计标定、遥控器行程标定、参数保存等放在while(1)里面,利用中断空闲的时间去执行。 飞控上电复位后,单片机会首先根据官方启动文件定义来初始化堆栈指针、程序计数器、堆栈大小、中断向量表等一系列过程,最后会运行C函数分支入口_main,startup_msp432p401r_uvision.s内容仅做了解就可
[单片机]
六、<font color='red'>MSP432</font>飞控软件框架分析
利用CCS6.1 对MSP432 做factory reset
最近遇到一个问题,手上一个MSP432的板子被加了JTAG锁,需要对其进行factory reset 才能继续使用JTAG。没有在CSDN里找到方法, 在其他论坛里找到了,自己试验了一下,把流程贴出来。本帖子不是个人原创,是从别的论坛里搬过来的。 我用的launchPad上的JTAG来做的,首先打开一个工程点击 view ---- target configurations 选中展开一个工程 右击配置文件,选择 launchselected configuration 将调试器连接到设备, 右击选中相应的仿真器,并选择show all cores 这样会列出非调试设备 右击出错的内核,选择connect
[单片机]
利用CCS6.1 对<font color='red'>MSP432</font> 做factory reset
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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