1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
ADC10学习

CLOUD MSP430 自学笔记 ADC10 By Cloud MSP430单片机拥有内置的ADC功能,在一些高级单片机系列上是ADC12,在低级单片机系列上是ADC10,两者的主要区别是分辨率的不同,我们的G2553内置的就是ADC10,所以Cloud就在这里和大家一起学习ADC10。 一、ADC10特性 我们先来了解一下这个ADC10的特性,官方给出的: ·高达200ksps的转换速率; ·固定的10位转换; ·具有采样保持功能,并可选采样周期; ·可以通过软件代码或TimerA初始化转换; ·可选的片内(1.5V或2.5V)或片外参考电压; ·支持8个外部输入通道; ·内部输入通道支持温度检测,VCC和外部参考(+、—); ·可选的转换时钟源; ·单通道单次/多次、序列通道单次/多次,共4种转换模式; ·ADC内核和参考电压都可单独关闭; ·具有一个支持自动存储转换结果的数据转换控制器(DTC); 二、ADC10结构 OK,我们来引入ADC10的内部结构图来初步认识这个ADC10的内部结构。为了方便大家学习,Cloud将各部分用不同颜色区分开: 1、ADC10内核-SAR和采样保持电路: 首先我们看到中间两块橙色的区域,右边五边形的是一个“10-bit SAR”,翻译过来就是一个10位精度的逐次逼近比较型的ADC内核,也就是说,我们的ADC转换就是在这里完成的。那么它的信号来源是哪里呢?就是左边橙色矩形区域的“Sample and Hold”即采样保持电路,它将外部或者内部的模拟信号进行保持以实现ADC转换过程中的信号稳定。 2、ADC10信号通道和转换模式: 我们的采样保持电路可以将左边选择器(红色梯形区域)内的信号进行保持。由于我们的SAR只有一个,要对里里外外这么多信号都进行AD转换就必须按顺序来,一个一个选择性地输入,这个选择器就是用来选择要输入的外部或者内部模拟信号。上面绿色矩形框控制着选择器选择哪个信号以及是否自动按序列选择。 3、ADC10时钟和采样触发源: ADC10模块像TimerA模块一样也需要有时钟信号支持,有了时钟,SAR这个逐次逼近比较内核才能够运行(因为它是逐次的嘛),形象地说时钟就是SAR的动力。我们看到蓝色区域,这里可以选择ACLK、MCLK和SMCLK,另外还有一个ADC10OSC,这个时钟是ADC10模块自带的,频率在5MHz左右。和TimerA一样,这些时钟也可以通过分频器进行分频。SAR的动力有了,那么怎么样才能够开启这个SAR运动起来呢?这就是采样触发电路。看黄色区域,采样信号可以由ADC10SC位或TimerA的三个比较匹配器输出端来触发。而且通过ISSH我们可以设置是上边沿触发还是下边沿触发。采样触发信号发出一次,ADC10就会立即从通道选择器中选择要采样的信号经过采样保持电路进入到SAR中进行AD转换。 4、ADC10参考源: AD转换,其本质就是对外部信号进行量化(就是在幅度上对信号进行编码),既然是量化,那么肯定要有参考的标准,这个标准由谁定?对了,就是由ADC10模块的参考源电路决定的。我们看SAR这个五边形的橙色框,上面有“VR-”和“VR+”两个输入端,这两个输入端就是SAR的参考源。其中,负端可以由SREF2来决定由AVSS(可认为GND)或者VREF-/VeREF-来输入得到。而正端可以由SREF0、SREF1来决定由内部或者外部参考电平输入得到。内部支持1.5V或者2.5V,外部由外部引脚输入得到。ADC10同时支持将内部参考电平输出到外部,而且为了保持其低功耗的优势,还可以由REFBURST来降低平均电流。 当输入信号等于或小于VR-时,AD结果输出为0;当输入信号等于或大于VR+时,AD结果为0x03FF(1023);输入信号在VR-和VR+之间,AD结果为以下公式: NADC = 1023 × (Vin - VR-) ÷ (VR+ — VR-) 5、ADC转换值和DTC电路: 我们已经从输入、时钟、触发、参考四个部分了解了ADC10的转换电路,那么我们转换得到的值要如何输出呢?这里我们沿着SAR下面空心粗箭头看到一个棕红色框“ADC10MEM”,这个寄存器就是用来存放得到的AD值的。我们只要读取ADC10MEM的值就可以得到AD值了。为了实现低功耗设计,MSP430支持DTC功能,就是数据传输控制功能,它可以支持将ADC10MEM中的数据自动存放至RAM、Flash或者其他外设中而不用CPU干预。 6、温度传感器: MSP430内置了一个温度传感器(浅蓝色方框),可以通过设置输入通道为0x0A来选择输入温度模拟量。这样的设计让我们不用外部温度芯片就可以实现简单的温度检测,其AD值和温度的关系式为(A10就是温度传感器通道的AD值): VTEMP =

文档评论(0)

82393aa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档