1.介绍

MSP430共有两个ADC,分别是10bit和12bit,本章介绍10bitADC。
ADC10_A是高性能10位数模转换器,该模块实现了一个10位带有采样控制和窗口比较器的SAR核心。

  • 最大转换率大于200ksps
  • 无缺码单调10bit转换器
  • 采样保持时间可软件或定时器编程
  • 定时器或软件控制开始转换
  • 片上可选软件使用REF模块或外部参考
  • 12个单独配置的外部输入
  • REF温度传感器转换通道
  • 可选转换时钟源
  • 单通道、重复单通道、连续、重复连续转换模式
  • 用于低功耗检测输入信号的窗口比较器
  • 6个快速解码ADC中断向量(ADC10IFG0, ADC10TOVIFG,ADC10OVIFG, ADC10LOIFG, ADC10INIFG, ADC10HIIFG)

2.ADC10_A 操作

2.1 10-Bit ADC核心
ADC将输入模拟量转换为10bit数字量并储存在ADC10MEM0寄存器中。核心使用2个电压 (VR+ VR–)来定义最大值和最小值。当输入量等于VR+时,数字输出(NADC)最大 (03FFh);当输入量等于VR-时,数字输出最小(0)。以下为输出计算公式:

配置寄存器ADC10CTL0, ADC10CTL1 和 ADC10CTL2控制ADC运行方式。
转换时钟
当脉冲采样模块被选择时,ADC10CLK用作转换时钟和产生采样间隔。ADC10SSELx位选择时钟来源,可用时钟有SMCLK, MCLK, ACLK,和MODCLK,配置 ADC10DIVx和ADC10PDIVx位,输入时钟可被分成1到512倍。
用户必须确保ADC10CLK选择的时钟在转换结束前可用,如果转换过程中时钟中断,转换不会完成,结果无效。
2.2 ADC10_A 输入与分路
共有 14个外部输入和2个内部输入通道可选,输入分路器是先断后开类型,这是为了减少切换通道时的噪音。输入分路器也是T型开关,这是为了减少不同通道的耦合。为了让杂散电容接地以消除串扰,没有使用的通道与ADC隔绝,并且连接到模拟地(AVSS)。
2.3 参考电压发生器
ADC10_A可以使用片上参考电压或者外部参考电压。片上参考电压有1.5V 、2.0V和2.5V,在REF模块配置。内部VCC也可作为参考电压。外部参考电压通过VEREF+和VEREF-引脚输入。
片上参考为低功耗而设计,这个参考包括一个带隙电压源和一个单独的参考缓冲器,两者都位于REF模块。每一种设备的当前消耗量分别在设备具体数据表中规定。ADC10_A还包含一个内部的参考电压缓冲器。当为VREF+选择内部引用时,该缓冲区将自动启用,但对于VEREF+也可以选择使用该缓冲区。来自REF模块的片上引用必须由软件启用。它的稳定时间为25微秒(典型)。
2.4 自动低功耗
ADC10_A为了低功耗设计,当不使用时会自动进入休眠,使用时会自动唤醒。
2.5 采样转换时间
采样输入信号(SHI)的上升沿触发ADC开始工作,ADC10ISSH能够转换SHI的极性,SAMPCON信号控制采样间隔和转换开始。当SAMPCON为1采样运行,SAMPCON由高变为低开始模数转换,在10bit模式需要12个ADC10CLK周期。窗口比较器另外还需要一个周期。ADC10SHP控制两个不同的采样方式:外部采样模式和脉冲采样模式。
外部采样模式
ADC10SHP = 0启动外部采样模式,SHI信号直接控制SAMPCON,也决定采样时间长度 tsample。当SAMPCON=1,采样运行,与ADC10CLK同步以后SAMPCON从高到低启动转换。
脉冲采样模式
ADC10SHP = 1选择脉冲采样模式,SHI触发采样计时器。ADC10SHTx位控制采样定时器间隔时间,在于AD10CLK同步之后,采样计时器保持SAMPCON为高

采样定时器注意事项: 当SAMPCON = 0,所有模拟输入为高阻。当SAMPCON = 1,在采样期间选择输入通道能够建模为低通RC滤波器。电容CI电压VC必须充电到源电压VS的1 / 2 LSB,以实现精确的10位转换。
2.6 转换结果
转换结果使用ADC10MEM0寄存器独立于转换模式访问,当转换结果写入ADC10MEM0后,ADC10IFG0置1.
2.7 ADC10_A转换模式
ADC10_A有4种转换模式,由CONSEQx位控制:

2.8 窗口比较器
窗口比较器在没有CPU指令下监控输入模拟量,下面的列表描述了可用的中断标志和断言它们时的条件:

  • 如果 ADC10_A的当前转换结果低于ADC10LO配置的低阈值,ADC10LO中断标志(ADC10LOIFG)置1;
  • 如果 ADC10_A的当前转换结果高于ADC10HI配置的高阈值,ADC10HI 中断标志 (ADC10HIIFG)置1;
  • 如果 ADC10_A的当前转换结果在二则之间,ADC10IN中断标志(ADC10INIFG)置1;

这些中断的产生与转换模式无关,窗口比较器中断标志的更新与ADC10IFG0并行发生。中断标志位必须由用户在软件中复位,ADC10_A每次只能更新一个标志位。当使用窗口比较器标志位,须确保使用软件重置。
2.9 内部温度传感器
ADC10INCHx = 1010使用内部温度传感器通道。温度传感器位于REF模块,被REF模块的寄存器配置。

使用温度传感器保证采样时间不少于30微秒,温度传感器的偏移误差可能很大,可能需要应用程序进行校准
2.10 接地和噪声注意事项
与任何高分辨率ADC一样,必须遵循适当的印刷电路板布局和接地技术,以消除接地回路、有害的寄生效应和噪声。当ADC的返回电流流过与其他模拟或数字电路相同的路径时,就形成了地回路。如果不注意,这个电流会产生小的、不需要的偏置电压,它可以增加或减少ADC的参考电压或输入电压。如图所示的连接避免此情况发生。

2.11 ADC10_A 中断
ADC10_A有6个中断源

  • ADC10IFG0 : 转换准备
  • ADC10OVIFG : ADC10MEM0 溢出
  • ADC10TOVIFG : ADC10_A 转换时间溢出
  • ADC10LOIFG, ADC10INIFG, ADC10HIIFG :窗口比较器中断标志
    当ADC10MEM0寄存器被装载转换结果后ADC10IFG0置1。如果ADC10IE0和GIE为1,生成一个中断请求。当在读取前一个转换结果之前将转换结果写入ADC10MEM0时,就会发生ADC10OV条件。ADC10TOV条件是在当前转换完成之前请求另一个采样和转换时产生的。每次转ADC10IE0位复位后触发DMA。
    ADC10IV中断向量生成器
    所有的ADC10_A中断源被排列优先级并组合成一个单独的中断向量。中断矢量寄存器ADC10IV被用来确定哪一个使能了ADC10_A中断源请求一个中断。启用的最高优先级的ADC10_A中断在ADC10IV寄存器中产生一个数字(见寄存器描述)。这个数字可以评估或添加到程序计数器(PC)自动进入适当的软件程序。禁用ADC10_A中断不会影响ADC10IV的值。ADC10IV寄存器的读访问自动重置最高挂起的中断条件和标志。只有ADC10IFG0没有被这个ADC10IV读访问重置。ADC10IFG0通过读取ADC10MEM0寄存器自动复位,或者通过软件复位。ADC10IV寄存器的写访问清除所有挂起的中断条件和标志。
    如果在处理一个中断后,另一个中断被挂起,另一个中断被生成。例如,当中断服务程序访问ADC10IV寄存器时,如果ADC10OV, ADC10HIIFG和ADC10IFG0中断被挂起,最高优先级的中断(ADC10OV中断条件)被自动重置。中断服务程序的RETI指令执行后,ADC10HIIFG生成另一个中断。

MSP430 ADC_10bit相关推荐

  1. msp430入门学习16

    msp430的乘法器 转载于:https://www.cnblogs.com/guochaoxxl/p/7807584.html

  2. MSP430低功耗模式-while循环失效

    如下代码实现MSP430G2553单片机两个led交替闪烁 #include <msp430.h> /*** main.c*/ int main(void) {WDTCTL = WDTPW ...

  3. MSP430学习笔记

           系统的复位电路由POR和PUC信号驱动.        一个POR信号之后,初始化MSP430的条件如下:在复位模式时,RST/NMI引脚被配置.I/O引脚被设置为输出.外围设备模块被初 ...

  4. spring 定时器设置停止_单片机MSP430入门-理论⑦--定时器模块-定时器A②

    单片机MSP430入门-理论⑦--定时器模块-定时器A② 上期大概给大家汇总介绍了,定时器模块中比较重要并且常用的定时器A,大概说了下定时器A的两种常用模式,比较模式和捕获模式 本期将继续介绍定时器A ...

  5. MSP430常见问题之FLASH存储类

    Q1:用IAR Embedded Workbench for MSP430 通过JTAG往MSP430上写程序.为了知道片内程序的版本,必须读出Flash 中内容.什么工具软件可以通过JTAG口实现这 ...

  6. msp430入门学习31

    msp430的其他一 转载于:https://www.cnblogs.com/guochaoxxl/p/7820932.html

  7. TCP/IP协议栈在MSP430单片机上的实现

    引言 随着信息技术的不断发展,以及人们对日常生活舒适度.方便度要求的提高,信息家电.智能仪表等产品越来越频繁的出现在我们的生活当中:人们也越来越热衷于把家电.仪表等设备连接到Internet 中,从而 ...

  8. MSP430 苦逼学习日志

    Internet上 msp430f5419/38学习笔记之USCI:UART模式 http://blog.sina.com.cn/s/blog_8927ef7d0100zf3x.html 读后感  还 ...

  9. msp430入门编程17

    msp430中C语言的寄存器操作 msp430入门学习 msp430入门编程 转载于:https://www.cnblogs.com/guochaoxxl/p/7812753.html

最新文章

  1. FFmpeg 源代码:avcodec_find_encoder()和avcodec_find_encoder_by_name()
  2. linux图形界面为英文,Linux下“英文控制台 中文图形界面”的实现
  3. 为什么 Java 进程使用的 RAM 比 Heap Size 大?​ | CSDN博文精选
  4. swift 点击imageView全屏预览(UIview中弹出提示框)
  5. NOIP 2013 day2
  6. VC++的Unicode编程(经典之作,交流传薪)
  7. 【linux系统学习笔记】linux基本操作
  8. tensorflow sigmoid 如何计算训练数据的正确率_初探 TensorFlow.js
  9. 教学管理系统java_Java 实现简易教务管理系统的代码
  10. Linux下的图片转换工具ImageMagick
  11. python 面向对象 烤地瓜实例
  12. 显卡的指标有哪些方面_显卡的几个主要的性能指标有()
  13. Excel表格复制到Foxmail不显示边框
  14. linux-xsell、xftp连接虚拟机
  15. 【本人秃顶程序员】高级 Java 必须突破的 10 个知识点!
  16. wifi 中间人攻击_公共wifi下的中间人攻击
  17. 2017——新的开始,加油!
  18. 运维之查看服务器cpu、内存、硬盘
  19. Huhu Command 正式发布!实用命令行存取工具
  20. CentOs7关闭防火墙的命令

热门文章

  1. 网站被黑挂黑链跳转处理 网站被攻击解决方法
  2. ionic3 联系人列表
  3. 【前端王一】 - 前端学习路线
  4. AWS知识图谱大赛之networkx图算法
  5. 我的座佑铭,大家共勉
  6. 吴恩达深度学习L2W1——神经网络权重初始化方法、正则化
  7. talib中的MACD指标用法总结【TA-lib的macd返回值的含义】
  8. 【已解决】:ubuntu-软件更新处无nvidia驱动/ubuntu检测不到扩展屏幕
  9. 读书|《新品类》读后感想
  10. Python学习日记--对付爱看电视的女儿