网站首页 | 技术文章 | 解决方案 | 电子书籍 | 下载中心 | 电子商城 | 技术论坛 | 电子博客 | 商务信息  
联系站长
加入收藏
会员登陆
交易首页 最新信息 - 推荐信息 - 热门信息 - 免费发布 - 行业新闻 - 行业资讯 - 行业知识 - 积分说明 - 信息分类 - 企业展示 - 帮助
 您的位置: 中国电子设计 >> 技术文章 >> 微控制器 >> 正文 商务信息栏目开通公告  [2008-05-19 11:47:00]
   □  利用SPCE061A单片机实现的两次采样AD转换   
利用SPCE061A单片机实现的两次采样AD转换
[作者:马艳玲 赵战民 李明亮    转贴自:微计算机信息    点击数:    更新时间:2008-6-26
【字体:

Realize twice sample AD conversion
摘要:AD转换是测量中一个非常重要的部分,为了达到精度比较高的转换效果,人们往往选择位数较高的AD转换器,这样容易造成电路的成本过高。本文就介绍一种如何利用普通的AD转换器来实现高精度的AD转换,它利用两次采样的原理,通过一个模拟量进行两次转换,从而实现高精度。此转换器所需元件比较简单,主要由一个凌阳SPCE061A单片机和一些普通的选通、运放电路组成,文章从硬件电路的组成和软件程序的编写两个方面来进行说明,清晰的介绍了如何来实现高精度转换的功能。
关键词:AD转换,高精度,两次采样,原理

ABSTRACT:In the scopes of measure, AD conversion is a very important part, the higher bit AD converter always is chosen in order to gain high precision, but it is very expensive for the circuit . With twice sampling theory, an analog voltage is converted twice to realize the high precision. The converter is composed of lingyang SPCE061A mcu, ordinary gates and amplifiers, it is simple. That how to realize the high precision conversion is showed clearly on hardware circuit and software programs in this article.
KEYWORDS:AD conversion, high precision, twice sample, elements
引言
在测量领域中,随着大规模数字时代的到来,AD(模数)转换已经成为一个非常重要的部分。普通的AD转换器因测量精度较低而不能满足测量的要求,而高精度的AD转换器价格昂贵,不易推广,所以用简单便宜的AD转换实现高精度的测量是一个解决矛盾的最好办法。两次采样技术就是利用低精度的AD转换器实现高精度的转换,它实现方法简单,对元件的要求不高,应用范围非常广泛。下面就介绍一种利用凌阳公司的SPCE061A单片机来实现的两次采样AD转换。
一、凌阳SPCE061A单片机简介
SPCE061A是凌阳公司推出的一个16位结构的微控制器,内部集成有32K字FLASH,2K字SRAM,双16位的定时/计数器,7通道10位的模数转换器和双通道的10位的数模转换器,并有音频输入输出端口,32个输入输出端口,串行通信口,低压检测和复位等。[1] SPCE061A单片机以它的优异性能正在越来越多的应用到许多领域,本文就来介绍如何利用其内部的A/D和D/A资源来实现两次采样的高精度AD转换。
二、两次采样的工作原理
两次采样AD转换又称动态刻度扩展方法,是日本武田研究公司最先提出的。该方法是利用一个低精度的AD转换器先对被测电压进行一次粗测,然后再精确的测量出粗测时的误差值,最后两次测量结果按权相加(或相减),即可得到高准确度的测量结果。两次采样AD转换的框图如图1。[2]


由图可知,被测量 进入后,开始第一次采样,第一次采样时数模转换器(DAC)输出VDA为0,前置放大器×1,则被测量直接给到模数转换器(ADC),转换的数据N1放到第一次测量结果中,这次转换的电压我们记为V1。接下来进行第二次采样,这时将数模转换器(DAC)输出的VDA为刚才转换的电压 ,则输入到前置放大器的电压为,既第一次采样时的误差,这时将前置放大器改成×128,则送到模数转换器(ADC)的电压为,这次将测量的数据N2放到第二次测量结果中。这样,两次采样结束,总的结果为N1+N2/128。                              
 三、用SPCE061A单片机实现两次采样的模数转换
1、硬件部分。由图1可以看出,要实现两次采样,主要的部分为前置放大器、模数转换器、数模转换器、数据处理部分和显示部分,而这些部分除了前置放大器外和显示部分外,SPCE061A单片机里面全有,所以,我们只需在做一个外部的前置放大器和数码管显示就可以很容易的实现两次采样的AD转换了。硬件结构如图2。


SPCE061A单片机的AD转换器是10位的,如果我们要转换的模拟电压范围为0~5V,则分辨力能达到5/210V,约为0.005V(5mV),显然在一些测量中是不够的,如果使分辨力提高128倍,达到0.00004V(0.04mV),已经是相当高的精度了,相当于16到17位的AD转换器。这里之所以选择128倍,是为了在软件计算时更加容易,不出现误差。

图 3 前向通道电路图
整个系统的输入控制电路如图3所示,外部电路比较简单,主要就是一个运算放大器和
一个模拟开关组成,运算放大器组成了差动放大器,模拟开关选取了CD4051,来实现对输入电压走向的控制,通过它可使给入AD转换的电压是被测电压或者误差电压。运算放大器在这里不仅起到放大的作用,还要实现对被测量 和第一次转换的电压VDAC求差的运算,具体情况为:

2、软件部分。程序主要完成对两次采样过程的控制,数据的计算、处理和显示等。程序流程图如图4所示。


在软件的工作过程中,为了得到更精确的转换,我们可以在测量静止电压信号的时候,采取测量多次并取平均值的方法,来减小误差的影响。测量变化较快的电压信号时,就只能一次测量结束了。
转换过程中主要程序如下:
*P_ADC_MUX_Ctrl=C_ADC_CH1; //初始化AD通道1 
  *P_ADC_Ctrl=C_ADCE;
  uiData1=*P_ADC_LINEIN_Data;
  uiData1=0;
  for(i=0;i<16;1++)//进行十六次转换取平均值
  {  *P_WatchDog_Clear=C_WDTCLR;//清狗
   uiData1+=AD();//累加转换值
  }
    uiData1>>=4;//求平均
fVoltage1=(float)uiData1/0xffc0*3.3;//计算第一次电压转换值
      ASM("int off");
    *P_DAC_Ctrl=C_DA1_Direct;//初始化DA转换通道1
    *P_DAC1=uiData1;//DA转换
    for(i=0;i<3000;1++)//延时
    *P_WatchDog_Clear=C_WDTCLR;
    *P_ADC_MUX_Ctrl=C_ADC_CH2;//初始化AD通道2
  *P_ADC_Ctrl=C_ADCE;
  uiData2=*P_ADC_LINEIN_Data;
  uiData2=0;
    for(i=0;i<16;1++)
  { *P_WatchDog_Clear=C_WDTCLR;
   uiData2+=AD();
  }
    uiData2>>=4;//取平均
        uiData2>>=6;//缩小64倍
        fVoltage2=(float)uiData2/0xffc0*3.3;//计算电压值
        fVoltage=fVoltage1+fVoltage2;//两次电压值求和
以上程序描述了如何控制系统中的如何控制内部的模数和数模转换器进行相互配合工作,以及采样结束后如何计算出最终的测量值,显示和其他方面的程序比较简单,在这里就不列举了。
四、总结
以上所讲述的两次采样的A/D转换的方法可以应用在众多的采集领域,如传感器的数据采集、电压信号的测量等,其结构可以是多样的,所用的元件也可以是其它型号,但其所能实现的根本的方法是不能变的。本文以凌阳单片机为基础来做,主要是其内部集成的AD转换器和DA转换器,可以达到外部结构简单,实现容易的效果,并可以很方便的实现其它如控制、显示等方面的功能。这种方法在实际的应用中实现容易,但是要保证其精确度则必须保证其中DA转换的精度和运算放大的精度,经过实际测试,此方法可以将误差控制在0.5%。如果电路质量好的话,还可以达到更高。
本文作者创新点:利用两次采样的原理,使用普通的A/D转换器实现高精度A/D转换。
参考文献:
1、赵战民等,利用SPCE061A单片机实现的两次采样AD转换,科学技术与工程,2007年12期
2、薛钧义等,凌阳十六位单片机原理及应用,北京航空航天大学出版社,2003年2月
3、杨素行,模拟电子技术基础简明教程,高等教育出版社,1998年10月
4、赵新民,智能仪器原理及设计,哈尔滨工业大学出版社,1995年6月
5、杨峰,一种简易提高A/D转换器分辨率的方法[J].微计算机信息,2007,8-2:282-283。

作者简介:马艳玲(1980-),女,河北藁城人,石家庄经济学院助教,学士,主要从事电子、自动控制方向的研究。
通信地址:河北省石家庄经济学院信息工程学院 (050031)

 

  • 上一篇文章:基于AVR单片机ATmega8的通用USB接口模块设计
  • 下一篇文章:基于8位嵌入式RISC MCU IP核数据通道模型设计
  • Google
     
    Web www.cediy.com
    发表评论 □告诉好友 □打印此文 □关闭窗口
     最新热点文章
     基于单片机和串行总线技术的热量表...
     数字温度传感器详解
     用AD8302实现RF/IF幅度和相位测量系...
     一种简单的10MHz频率源兼分配放大器...
     维氏电桥振荡器
     检验液晶显示器的简易测试仪
     
     最新推荐文章
     基于TMS320C6713与PC机的PCI总线高...
     基于TMS320VC5409和Cygnal单片机构...
     基于ARM控制器S3C44B0x的给煤机控制...
     基于USB 2.0的高速数据采集卡在虚拟...
     大功率谐振过渡软开关技术变频器研...
     大功率谐振过渡软开关技术变频器研...
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  版权申明   联系站长   宣传赚点   友情链接
    如果我在线,不用加为好友,立刻与我交谈。 业务咨询QQ:342488946
    Copyright© 2004-2010 CEDIY.COM .All Rights Reserved
    粤ICP备05119258号