模数转换原理换

模数转换问题数字电压表、数字电流表、数字温度表等是怎么把模拟信号转换成数字信号显示出来的,看了半天书就是不明白,举例说一下,讲得通俗些?
瓜皮圣者31
这些的核心原理,就是把电压信号,用AD转换器读取后送单片机处理和显示.但具体有所不同.1、电压表,电压表基本上是一个串联采样电路,也就是2-3个精密电阻形成串联电路,然后从最下面电阻两端读取电压(该电阻的一端接地),电阻阻值根据AD和测量量程不同而不同,但起码要保证,读取到的最大电压不能超过AD的参考电压VREF值.比如,现在量程是20V,用两个电阻组成采样网络,则上面一个电阻可能是30K,下面一个是10K,这样最下面一个电阻上的最大电压为5V(正常时).当然它还有保护电路设计,不同的万用表差异就在这里.2、电流表.电流表需要一个精密电阻(已知阻值,且大功率)作为采样电阻,当电流流过该电阻时,电阻两端会产生压降,读取这个电压,利用欧姆定理,I=U/R,就可以知道电流强度.3、数字温度表.这个是利用温度传感器,温度传感器往往是一个热敏电阻,当温度变化时,阻值也不一样.利用电桥和仪表放大电路,把热敏电阻两端电压放大n倍后(n要计算过,也是确定值),送AD,当检测到电压U时,利用放大电路和电桥电路结构,反推算出该电阻的阻值.然后根据事先知道的温度与电阻的关系列表,查表获得当前温度.原理基本上就是这些,不过你具体要做的话,还有很长的路要走,不同的指标下,电路可能有很大差异,如果模拟电路,电路基础,单片机的能力不够,做起来很困难.
也就是说,是不是所有被测量值都必须先转换成直流电压?如果是,这些直流电压是怎么转换成数字信号并且显示出来的?
1、不一定是直流电压,也可以是交流瞬时值。
2、直流电压转换成数字信号,简单的说就是经过采样,量化,编码三个环节,这部分说来话长,建议你看一下数字电路书最后的AD器件,就是里面说的原理。
测量精度和什么有关,是不是AD转换器的位数和采样频率越高精度就越高?是不是只能把被测值转换成直流或交流电压,不能转换成其他信号才能测量?如果是,转换成直流电压和交流电压哪个测量精度高?
测量精度跟电路有关,也跟AD性能有关,一般来说AD位数多一些,精度相对高。
AD只能检测电压,其他的参数都要转换成电压才行(例外的情况:有些传感器输出的是频率,通过检测频率来知道数值,不过这种东西很少见,平时最多的还是电压)。
检测的话,最好还是直流,稳定啊,而且你还可以加算法。
不考虑成本的话,是不是采样频率和AD转换器的位数是不是越高越好?
当然两者都高是最好的,不过往往位数高的,速度慢。两者都高的话,价格很贵,至少几十块。
为您推荐:
其他类似问题
扫描下载二维码& & 1 模数转换技术
& & 模数转换包括采样、保持、量化和编程四个过程。采样就是将一个连续变化的信号x(t)转换成时间上离散的采样信号x(n)。根据奈奎斯特采样定理,对于采样信号x(t),如果采样fs大于或等于2ax(fmax为x(t)最高频率成分),则可以无地重建恢复原始信号x(t)。实际上,由于模数转换器器件的非线性失真,量化及接收机噪声等因素的影响,采样速率一般取fs=2.5fmax。通常采样脉冲的宽度tw是很短的,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。假设噪声信号在量化中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的值有关。是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的,例如,采样和保持就利用一个电路连续完成,量化和编码也是在转换过程同时实现的,且所用时间又是保持时间的一部分。实现这些过程的技术有很多,从早在上世纪70年代就出现的积分型到最新的流水线模数转换技术,种类繁多。由于原理的不同,决定了它们性能特点的差别。
& & 1.1 积分型模数转换器
& & 积分型模数转换器称双斜率或多斜率数据转换器,是应用最为广泛的转换器类型。典型的是双斜率转换器,我们就以其为例说明积分型模数转换器的工作原理。双斜率转换器包括两个主要部分:一部分电路采样并量化输入,产生一个时域间隔或脉冲序列,再由一个计数器将其转换为数字量输出,如图1所示。
& & 双斜率转换器由1个带有输入切换开关的模拟积分器、1个比较器和1个计数单元构成。积分器对输入电压在固定的时间间隔内积分,该时间间隔通常对应于内部计数单元的最大地数。时间到达后将计数器复位并将积分器输入连接到反板性(负)参考电压。在这个反极性信号作用下,积分器被&反向积分&直到输出回到零,并使计数器终止,积分器复位。
& & 积分型模数转换器的采样速度和带宽都非常低,但它们的精度可以做得很高,并且抑制高频噪声和固定的低频干扰(如50或60Hz)的能力,使其对于嘈杂的工业环境以及不要求高的应用有用(如输出的量化)。
& & 1.2 逐次逼近型模数转换器
& & 逐次逼近型转换器包括1个比较器、1个数模转换器、1个逐次逼近寄存器(SAR)和1个逻辑控制单元,如图2所法。
& & 转换中的逐次逼近是按对分原理,由控制逻辑电路完成的。其大致过程如下:启动转换后,控制逻辑电路首先把逐次逼近寄存器的最高位置1,其它位置0,逐次逼近寄存器的这个内容经数模转换后得到约为满量程输出一半的电压值。这个电压值在比较器中与输入信号进行比较。比较器的输出反馈到数模转换器,并在下一次比较前对其进行修正。在逻辑控制电路的时钟驱动下,逐次逼近寄存器不断进行比较和移位操作,直到完成最低有效位(LSB)的转换。这时逐次逼近寄存器的各位值均已确定,逐次逼近转换完成。
& & 由于逐次逼近型模数转换器在1个时钟内只能完成1位转换。N位转换需要N个时钟周期,故这种模数转换器采样速率不高,输入带宽也较低。它的优点是原理简单,便于实现,不存在延迟问题,适用于中速率而分辨率要求较高的场合。
& & 1.3 闪烁型模数转换器
& & 与一般模数转换器相比,闪烁型模数转换器速度是最快的。由于不用逐次比较,它对N位数据不是转换N次,而是只转换一次,所以速度大为提高。图3所示为N位闪烁型模数转换器的原理。
& & 转换器内有一定参考电压,模拟输入信号被同时加到2N-1个锁存比较器。每个比较器的参考电压由网络构成的分压器引出,其参考电压比下一个比较器的参考电压高一个最低有效位。当模拟信号输入时,风参考电压比模拟信号低的那些比较器均输出高电平(逻辑1),反之输出低电平(逻辑0)。这样得到的数码称之为温度计码。该码被加到译码逻辑电路,然后送到二进制数据输出驱动器上的输出寄存器。
& & 尽管闪烁型转换器具有极快的速度(最高1GHz的采样速率),但其分辨率受限于管芯尺寸、过大的输入以及数量巨大的比较器所产生的功率消耗。结构重复的并行比较器之间还要求精密地匹配,因此任何失配都会造成静态误差,如使输入失调电压(或)增大。
& & 闪烁型模数转换器还易产生离散的、不确定的输出,即所谓的&闪烁码&。闪烁码主要有两个来源:2N-1个比较器的亚稳态及温度计编码气泡;不匹配的比较器延迟会使逻辑1变为逻辑0(或反之),如同温度计中出现了一个气泡。由于模数转换器中的编码单元无法识别这种错误,经过编码后的输出同样会出现&闪烁&。
& & 闪烁型模数转换器的另外一个考虑因素是管芯尺寸。一个8位闪烁型转换器比同等位数的流水线模数转换器要大将近7倍。如果与流水线结构作进一步的比较,闪烁型转换器的输入和功率消耗分别要高出6倍和2倍。
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670&1 //-----------------------
2 //单片机内部10位AD,入口参数为(adcon0,adcon1)
3 // 返回为采样到的AD值
4 //------------------------------------
5 uint AD10(uchar m,uchar n)//ADCON1,ADCON0参数设置数
ADCON0=0x01,选择AN0;ADCON1=0x8e
//定义共用体以存每次AD结果
uchar y2[2];
PIE1=0x00;
//禁止外设中断
PIR1=0x00;
i=4;while(i--){;}
//采样时间12周期
while(i--)
//连续采样8次,求平均值
asm("clrwdt");
//清看门狗
while(GODONE==1){;}
ad_temp.y2[1]=ADRESH;
ad_temp.y2[0]=ADRESL;
van+=ad_temp.y1;
//ADCON0=0x00;
//ADCON1=0x06;
van+=0x04;//四色五入的值((a/8)*10+4)/10=(1/8)*(a+4),a为八次和;
return(van/=8);//如上
38 //---------------------------------------
39 //名称: 主函数
40 //-----------------------------------------
41 main(void)
ADCON1=0x06;
//未用设置为输入
//RB3-5设置为输出
//RD设置为输出
//RE0-2设置为输出入
lcdreset();
//初始化1602
lcd_write_char(2,0,'-');
lcd_write_char(3,0,'-');
lcd_write_char(4,0,'A');
lcd_write_char(5,0,'N');
lcd_write_char(6,0,'0');
lcd_write_char(8,0,'T');
lcd_write_char(9,0,'E');
lcd_write_char(10,0,'S');
lcd_write_char(11,0,'T');
lcd_write_char(12,0,'-');
lcd_write_char(13,0,'-');
lcd_write_char(3,1,'A');
lcd_write_char(4,1,'D');
lcd_write_char(5,1,'=');
disbuf=(AD10(0x01,0x8e))*4.88/1.023;//防止溢出
lcd_write_char(6,1,(disbuf/1000)+0x30);
lcd_write_char(7,1,(disbuf%1000)/100+0x30);
lcd_write_char(8,1,(disbuf%100)/10+0x30);
lcd_write_char(9,1,(disbuf%10)+0x30);
lcd_write_char(10,1,'m');
lcd_write_char(11,1,'v');
  PIC18F4X2器件的A/D模块有8个输入通道,该模块包括ADCON0和ADCON1寄存器定义,它们与中档系列A/D模块兼容。
  ADCON0寄存器控制A/D模块的操作。ADC0N1寄存器可以配置端口引脚的功能。
&&&&& A/D 结果高位寄存器(ADRESH);&A/D 结果低位寄存器(ADRESL)。
  ADCON0寄存器:ADCS1&&& ADCS0&& CHS2&& CHS1 & CHS0 &&GO/DONE &&& &&&&& &ADON
         &&&   A/D时钟设置&&&&&&&&A/D通道选择&&&&&&&&&&&A/D转换状态位&& 0&&&&& A/D模块使能位(1上电启动,0为关闭)
&&&&&       GO/DONE&=1,正在进行A/D转换(将该位置1 则启动A/D 转换,A/D 转换结束后该位由硬件自动清零)&&&。
 &      & GO/DONE&=0,未进行A/D 转换。
  ADCON1寄存器:ADFM  ADCS2  &  &  PCFG3  PCFG2   PCFG1  PCFG0    
        ADFM:A/D 结果格式选择位。(此系列AD10位,存储容量共16位,因此还有6位为空)
          1=右对齐,&ADRESH 寄存器的高6 位读作0。
          0& = 左对齐, ADRESL 寄存器的低6 位读作0。
        ADCS2:A/D 转换时钟选择位。与ADCON1配合使用。
          (当ADCS2=0时,转换时钟为Fosc/2^(2n+1);当ADCS2=1时,转换时钟为Fosc/2^(2n+2);当低两位为11时,则Frc,来自内部A/D RC振荡器的时钟)。
        PCFG3:PCFG0 :A/D 端口配置控制位。
&&&&&& 模拟参考电压可通过软件选择为器件的正电源电压和负电源电压(VDD和VSS)或RA3/AN3/VREF+ 引脚和RA2/AN2/VREF- 引脚上的电压电平。A/D 转换器具备在器件处于休眠状态下仍能工作的独特功能。要使 A/D 模块在休眠状态下运行,A/D 转换时钟必须来自于A/D 模块内部的RC振荡器。
按照以下步骤进行A/D 转换:1. 配置A/D 模块:  &&& 配置模拟引脚、参考电压和数字I/O(ADCON1)  &&& 选择A/D 输入通道(ADCON0)  &&& 选择A/D 转换时钟(ADCON0)  &&& 打开A/D 模块(ADCON0)2. 需要时,配置A/D 中断:  &&& 将ADIF位清零   &&& 将ADIE位置1   &&& 将GIE 位置1   &&& 将PEIE位置13. 等待所需的采集时间。4. 启动A/D 转换:  &&& 将GO/DONE 位置1 (ADCON0)
5. 等待A/D 转换完成,通过以下两种方法之一可判断转换是否完成:  &&& 轮询GO/DONE 位是否被清零(中断禁止)& &或者&&&& &&& 等待A/D 转换中断6. 读取A/D 结果寄存器(ADRESH/ADRESL),需要时将ADIF位清零。7. 要再次进行A/D 转换,根据要求转入步骤 1 或步骤2 。将每一位的A/D 转换时间定义为TAD。在下一次采集开始前至少需要等待2TAD。
&&& 图示,显示了在GO 位置1 后,A/D 转换器的工作状态。在转换期间将GO/DONE 位清零将中止当前A/D 转换。部分完成的A/D 转换样本不会更新A/D 结果寄存器对。即,ADRESH:ADRESL 寄存器仍然保持上一次转换完成后的结果(即上一次写入ADRESH:ADRESL 寄存器中的值)。中止A/D 转换后,需要等待2TAD 的时间才开始下一次采集。等待2TAD 之后,将自动开始对所选通道进行采集。可以将 GO/DONE 位置1 ,并开始A/D 转换。&&不应在打开A/D 模块的同一指令中将GO/DONE 位置1 。
  CCP2 模块的&特殊事件触发器&可以启动A/D 转换。要求将CCP2M3:CCP2M0 位(CCP2CON&3:0&)设置为1011,且使能A/D 模块(ADON 位置1 )。发生触发时,GO/DONE 位被置1,启动 A/D 转换,Timer1(或Timer3)计数器被复位为 0。复位Timer1(或Timer3)可自动重复 A/D 采集周期,最大限度地降低了软件开销(将ADRESH/ADRESL 移到期望的位置)。在&特殊事件触发器&将GO/DONE 位置1 (启动转换)前,必须正确选择模拟输入通道,并要保证最小采集时间。如果未使能A/D 模块(ADON 清零),则&特殊事件触发器&将被 A/D 模块忽略,但它仍会复位 Timer1(或Timer3)计数器。
应用时采用函数调用接口程序:
阅读(...) 评论()模数转换的方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
模数转换的方法
上传于||文档简介
&&模​数​转​换​的​方​法​ ​ ​各​种​基​本​的​模​数​转​换​的​方​法
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢

我要回帖

更多关于 模数转换原理 的文章

 

随机推荐