新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ADμC812内部ADC的应用

ADμC812内部ADC的应用

作者:时间:2011-12-10来源:网络收藏

1 单片机内部ADC简介

1.1 ADC电路

  内部的ADC转换块包含一个5μs转换时间、8通道、12位、单电源的A/D转换器。A/D转换器由电容式DAC的常规逐次转换器组成。ADC具有单独的模拟电源和参考电压,可最大限度地减少数字电路的干扰。转换器接受的模拟电压输入范围为0~+VREF;片内提供高精度、低漂移并经厂家校准的2.5 V基准电压。内集成的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的

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

  (1) 查询工作方式下ADμC812内部ADC的

  使用查询工作方式时,通过测试ADCI位以决定A/D转换是否结束。由ADμC812扩展的特殊功能寄存器(SFR)ADCCON1、ADCCON2和ADCCON3进行配置。典型设置如下:

  ① 置ADCCON1.7(MD1) = 0, ADCCON1.6(MD0) = 1,使ADC处于正常工作方式。
  ② 置ADCCON1.5(CK1) = 1, ADCCON1.4(CK0)=1,选择A/D转换时钟宽度为主时钟宽度的8倍。
  ③ ADCCON1.3(AQ1)=1,ADCCON1.2(AQ0)=1,用于选择采样/保持放大器获取输入的模拟信号的周期数为8个ADC时钟。
  ④ ADCCON2.7(ADC1)=1,A/D转换中断允许。
  ⑤ ADCCON2.5(SCONV)=1,连续转换允许。
  ⑥ ADCCON2.3~2.0用于选择A/D转换通道和温度传感器。

  按上述方法设置好以后,每完成一个通道的 A/D转换,转换后的值就会存放在ADCDATAH的低4位和ADCDATAL中。程序“ADC_pol.c”见本刊网络补充版(http://www.dpj.com.cn)。

  (2) 中断方式下ADμC812内部ADC的C51驱动程序

  本软件的数据采集系统为8通道顺序采集,ADμC812的时钟频率为11.0592 MHz,CPU用中断方式管理A/D转换器。当一个A/D转换完成时,向CPU发请求信号,CPU响应中断,中断处理子程序负责对转换的数据进行读出并送往result_ADC[8]数组中,然后通道号加1。当8个通道全部转换结束后,将所有的结果送往UART。程序“ADC_int.c”见本刊网络补充版(http://www.dpj.com.cn)。

结语

  ADμC812是真正意义上的完整的数据采集系统芯片,是集数据转换电路、微控制器、闪存于一体的数据采集系统。它的高性能和高精度转换技术,使数据采集系统实现高性能和微型化。



评论


相关推荐

技术专区

关闭