微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ADμC812内部ADC的应用

ADμC812内部ADC的应用

时间:12-10 来源:互联网 点击:

1 ADμC812单片机内部ADC简介

1.1 ADC电路

  ADμC812内部的ADC转换块包含一个5μs转换时间、8通道、12位、单电源的A/D转换器。A/D转换器由电容式DAC的常规逐次转换器组成。ADC具有单独的模拟电源和参考电压,可最大限度地减少数字电路的干扰。转换器接受的模拟电压输入范围为0~+VREF;片内提供高精度、低漂移并经厂家校准的2.5 V基准电压。ADμC812内集成的ADC转换模块有其特殊性,如果应用不当,轻则影响ADC的性能,重则电路完全不能工作,甚至烧毁器件。下面对基准电压和模拟输入电压作详细的介绍。

  (1) 基准电压

  ADμC812内A/D转换器的2.5 V基准电压既可由片内提供,也可由外部基准经VREF引脚提供。若使用内部基准,则在VREF和CREF引脚与AGND之间都应当连接0.1μF电容以便去耦。这些去耦电容应放在紧靠VREF和CREF引脚处。为了达到规定的性能,建议在使用外部基准时,该基准应当在2.3 V和模拟电源AVDD之间。图1 给出使用外部基准电源时的应用电路。


图1 使用外部基准电源时的应用电路

  由于片内基准高精度、低漂移且经工厂校准,并且当ADC使能时,在 VREF引脚会出现此基准电压。因此,在进行系统扩展时,可将片内基准作为一个2.5 V的参考电源来使用。若要把片内基准用到微转换器之外,则应在 VREF引脚上加以缓冲并应在此引脚与AGND之间连接0.1 μF电容。

  图 2 示出了把片内基准用到微转换器之外时的应用电路。


图2 片内基准用到微转换器之外时的应用电路

  在实际应用中应当特别注意,内部VREF将保持掉电直到ADC外围设备模块之一被它们各自的使能位上电为止。

  (2) 模拟输入

  与其它ADC芯片相比,ADμC812的ADC模块有一个缺点,就是ADC正常工作的模拟输入范围为0~+2.5 V,而允许输入的电压范围只能为正电压0~+5V。经实验证明,若输入的模拟电压超过 +2.5 V(最大值为+5 V),ADC的采样结果为最大值(0FFFH),虽然结果不对,但并没有影响 ADμC812正常工作;但是,一旦输入负的模拟电压,则会影响ADμC812正常工作,表现为ADC的基准电压(VREF = +2.5 V)消失和采样结果不正确,且若长时间输入负电压,将有可能损坏芯片。 因此,在实际应用中,若发现启动ADC之后VREF端无电压,则应立即将芯片复位,并检查模拟输入信号的采集放大部分。在确保进入ADμC812的模拟信号在0~+2.5 V范围内之后,才能再次启动ADC。实际应用时,应保证输入的模拟电压为正电平。

  一般情况下,ADC的输入缓冲放大器采用0~5 V的电源工作,这样,可以保证ADC的输入在ADμC812的A/D转换器的安全输入范围内,如图3所示。如果实际情况不许可,ADC的输入缓冲放大器的电源超出0~5 V,则应采用图4所示钳位电路,可保证ADC的输入在ADμC812 的A/D转换器的安全输入范围内。注意,ADC的输入端有一个0.01μF的电容,这个电容是为了保证ADC的转换精度。


图3 ADC输入缓冲放大器电源    图4 ADC的输入钳位电路

1.2 控制ADC工作的特殊功能寄存器

  ADC的工作由三个特殊功能寄存器控制,即ADCCON1、ADCCON2和ADCCON3。

  ① ADCCON1寄存器控制转换与采集时间、硬件转换模式以及掉电模式。
  寄存器地址:FFH;
  寄存器缺省值:20H;
  位可寻址: 否。
  ② ADCCON2寄存器控制ADC通道选择和转换模式。
  寄存器地址:D8H;
  寄存器上电缺省值: 00H;
  位可寻址:是。
  ③ ADCCON3寄存器对用户软件给出ADC忙标志指示。
  寄存器地址:F5H;
  寄存器上电缺省值: 00H;
  位可寻址:否。

1.3 ADC的工作模式

  (1) 典型运用

  当特殊功能寄存器ADCCON1~3完成设置后,ADC将转换模拟输入并在特殊功能寄存器ADCDATAH/L中提供ADC12位结果字。用通道选择位写寄存器ADCDATAH的高4位以识别通道。

  (2) ADC的DMA模式

  ADμC812片内ADC设计成5μs完成一次采样,在中断驱动子程序中要求用户在5μs时间内完成中断服务、读ADC转换结果并为进一步的后续处理存储作准备等全部工作。如果没有完成,则下一次的ADC采样可能丢失。因此,在ADμC812不能支持中断速率的应用中,可采用ADC DMA模式。

  通过DMA使能位(ADCCON2.6),使能ADC DMA模式,它允许ADC在每次设置寄存器ADCCON后连续采样。每次采样结果被写入外部静态RAM,无需ADμC812内核的任何干预。这种方式确保ADC处于全速更新速率时,ADμC812能捕获连续的采样流。

2 使用ADμC812内部ADC的C51驱动程序

  下面将给出两个使用ADμC812内部ADC的C51驱动程序。程序“ADC_pol.c”采用查询工作方式,程序“ADC_int.c”采用中断工作方式。

  (1) 查询工作方式下ADμC812内部ADC的C51驱动程序

使用查询工作方式时,通过测试ADCI位以决定A/D转换是否结束。由

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top