当前位置:文档之家› 模数转换器ADC应用原理

模数转换器ADC应用原理

模数转换器ADC应用原理
模数转换器ADC应用原理

AD0809应用原理--很全面的资料

1. 0809的芯片说明:

ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的C MOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。

(1)ADC0809的内部逻辑结构

由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

(2).引脚结构

IN0-IN7:8条模拟量输入通道

ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:4条

ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。

C B A 选择的通道

000IN0

001IN1

010IN2

011IN3

100IN4

101IN5

110IN6

111IN7

数字量输出及控制线:11条

ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A /D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE =0,输出数据线呈高阻状态。D7-D0为数字量输出线。

CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,

VREF(+),VREF(-)为参考电压输入。

2.ADC0809应用说明

(1).ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2).初始化时,使ST和OE信号全为低电平。

(3).送要转换的哪一通道的地址到A,B,C端口上。

(4).在ST端给出一个至少有100ns宽的正脉冲信号。

(5).是否转换完毕,我们根据EOC信号来判断。

(6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

3.实验任务

如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。4.电路原理图

5.程序设计:

(1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。

(2).进行A/D转换之前,要启动转换的方法:

ABC=110选择第三通道

ST=0,ST=1,ST=0产生启动转换的正脉冲信号 .

(3). 关于0809的计算:

ad0809是根据逐位逼近的方法产生数据的。。

参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/255≈0. 0196V 设输入电压为X则:

X-27*0.0196>=0则AD7=1否则AD7=0。

X-26*0.0196>=0则AD6=1否则AD6=0。

X-20*0.0196>=0则AD0=1否则AD0=0。

(27指2的7次方。26-------20同理)若参考电压为0-1V

(1-0)/255≈0.0039V精度自然高了。。可测量范围小了。

1)汇编源程序:

CH EQU 30H

DPCNT EQU 31H

DPBUF EQU 33H

GDATA EQU 32H

ST BIT P3.0

OE BIT P3.1

EOC BIT P3.2

LJMP START

ORG 0BH

LJMP T0X

ORG 30H

START: MOV CH,#0BCH

MOV DPCNT,#00H

MOV R1,#DPCNT

MOV R7,#5

MOV A,#10

MOV R0,#DPBUF

LOP: MOV @R0,A

INC R0

DJNZ R7,LOP

MOV @R0,#00H

INC R0

MOV @R0,#00H

INC R0

MOV @R0,#00H

MOV TMOD,#01H

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256 SETB TR0

SETB ET0

SETB EA

WT: CLR ST

SETB ST

CLR ST

WAIT: JNB EOC,WAIT

SETB OE

MOV GDATA,P0

CLR OE

MOV A,GDATA

MOV B,#100

DIV AB

MOV 33H,A

MOV A,B

MOV B,#10

MOV 34H,A

MOV 35H,B

SJMP WT

T0X: NOP

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

MOV DPTR,#DPCD

MOV A,DPCNT

ADD A,#DPBUF

MOV R0,A

MOV A,@R0

MOVC A,@A+DPTR

MOV P1,A

MOV DPTR,#DPBT

MOV A,DPCNT

MOVC A,@A+DPTR

MOV P2,A

INC DPCNT

MOV A,DPCNT

CJNE A,#8,NEXT

MOV DPCNT,#00H

NEXT: RETI

DPCD: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH,00H

DPBT: DB 0FEH,0FDH,0FBH,0F7H

DB 0EFH,0DFH,0BFH,07FH

END

2)C语言源程序

#include

unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00};

unsigned char dispbuf[8]={10,10,10,10,10,0,0,0}; unsigned char dispcount;

sbit ST="P3"^0;

sbit OE="P3"^1;

sbit EOC="P3"^2;

unsigned char channel="0xbc";//IN3 unsigned char getdata;

void main(void)

{

TMOD=0x01;

TH0=(65536-4000)/256;

TL0=(65536-4000)%256;

TR0=1;

ET0=1;

EA=1;

P3=channel;

while(1)

{

ST=0;

ST=1;

ST=0;

while(EOC==0);

OE=1;

getdata=P0;

OE=0;

dispbuf[2]=getdata/100;

getdata=getdata%10;

dispbuf[1]=getdata/10;

dispbuf[0]=getdata%10;

}

}

void t0(void) interrupt 1 using 0 {

TH0=(65536-4000)/256;

TL0=(65536-4000)%256;

P1=dispcode[dispbuf[dispcount]];

P2=dispbitcode[dispcount]; dispcount++;

if(dispcount==8)

{

dispcount=0;

}

}

3)FPGA实现的程序:(verilog)

module AD0809(clk, //脉宽(至少100ns)

rst_n,

EOC, //约100us后EOC变为高电平转换结束

START, //启动信号,上升沿有效(至少100ns)

OE, //高电平打开三态缓冲器输出转换数据

ALE, //高电平有效,选择信道口

ADDA,//因为ADDB,ADDC都接地了,这里只有ADDA为变量

DATA,// //转换数据

DATA_R);

output START,OE,ALE,ADDA;

input EOC,clk,rst_n;

input[7:0] DATA;

output[7:0] DATA_R;

reg START,OE,ALE,ADDA;

reg[7:0] DATA_R;

reg[4:0] CS,NS;

parameter IDLE=5''b00001,START_H=5''b00010,START_L=5''b00100,

CHECK_END=5''b01000,GET_DATA=5''b10000;

always @(*)

case(CS)

IDLE:

NS=START_H;

START_H:

NS=START_L;

START_L:

NS=CHECK_END;

CHECK_END:

if(EOC)

NS=GET_DATA;

else

NS=CHECK_END;

GET_DATA:

NS=IDLE;

default:

NS=IDLE;

endcase

always @(posedge clk)

if(!rst_n)

CS<=IDLE;

else

CS<=NS;

always @(posedge clk)

case(NS)

IDLE:

begin

OE<=0;

START<=0;

ALE<=0;ADDA<=1;

end

START_H:

begin

OE<=0;

START<=1; //产生启动信号

ALE<=1;ADDA<=1;//选择信道口IN0

end

START_L:

begin

OE<=0;

START<=0;

ALE<=1;//启动信号脉宽要足够长,在启动的时候ALE要一直有效

end

CHECK_END:

begin

OE<=0;

START<=0;

ALE<=0;

end

GET_DATA:

begin

OE<=1; //高电平打开三态缓冲器输出转换数据

DATA_R<=DATA;//提取转换数据

START<=0;

ALE<=0;

end

default:

begin

OE<=0;

START<=0;

ALE<=0;ADDA<=0;

end

endcase

endmodule

4)FPGA实现的程序:(VHDL)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY AD0809 IS

PORT( D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK,EOC: IN STD_LO GIC;

CLOCK:IN STD_LOGIC;

ALE,START,OE,LOCK0: OUT STD_LOGIC;

DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));

END AD0809;

ARCHITECTURE behav OF AD0809 IS

TYPE states IS (st0,st1,st2,st3,st4);

SIGNAL current_state,next_state:states:=st0;

SIGNAL REGL :STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK :STD_LOGIC;

SIGNAL CNT1:STD_LOGIC_VECTOR(0 DOWNTO 0); SIGNAL A :INTEGER RANGE 0 TO 1;

SIGNAL LOWDATA:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL HIGHDATA:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL LOWLED7S:STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL HIGHLED7S:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN

LOCK0<=LOCK;

PROCESS(REGL)

BEGIN

LOWDATA<=REGL(3 DOWNTO 0);

HIGHDATA<=REGL(7 DOWNTO 4);

CASE LOWDATA IS

WHEN "0000" => LOWLED7S<="0111111";

WHEN "0001" => LOWLED7S<="0000110";

WHEN "0010" => LOWLED7S<="1011011";

WHEN "0011" => LOWLED7S<="1001111";

WHEN "0100" => LOWLED7S<="1100110";

WHEN "0101" => LOWLED7S<="1101101";

WHEN "0110" => LOWLED7S<="1111101";

WHEN "0111" => LOWLED7S<="0000111";

WHEN "1000" => LOWLED7S<="1111111";

WHEN "1001" => LOWLED7S<="1101111";

WHEN "1010" => LOWLED7S<="1110111";

WHEN "1011" => LOWLED7S<="1111100";

WHEN "1100" => LOWLED7S<="0111001";

WHEN "1101" => LOWLED7S<="1011110";

WHEN "1110" => LOWLED7S<="1111001";

WHEN "1111" => LOWLED7S<="1110001";

WHEN OTHERS => Null;

END CASE;

CASE HIGHDATA IS

WHEN "0000" => HIGHLED7S<="0111111";

WHEN "0001" => HIGHLED7S<="0000110";

WHEN "0010" => HIGHLED7S<="1011011";

WHEN "0011" => HIGHLED7S<="1001111";

WHEN "0100" => HIGHLED7S<="1100110";

WHEN "0101" => HIGHLED7S<="1101101";

WHEN "0110" => HIGHLED7S<="1111101";

WHEN "0111" => HIGHLED7S<="0000111";

WHEN "1000" => HIGHLED7S<="1111111";

WHEN "1001" => HIGHLED7S<="1101111";

WHEN "1010" => HIGHLED7S<="1110111";

WHEN "1011" => HIGHLED7S<="1111100";

WHEN "1100" => HIGHLED7S<="0111001";

WHEN "1101" => HIGHLED7S<="1011110";

WHEN "1110" => HIGHLED7S<="1111001";

WHEN "1111" => HIGHLED7S<="1110001";

WHEN OTHERS => Null;

END CASE;

END PROCESS;

PROCESS(CLOCK)

BEGIN

IF CLOCK'EVENT AND CLOCK='1' THEN CNT1<=CNT1+1; END IF;

END PROCESS;

PROCESS(CNT1)

BEGIN

CASE CNT1 IS

WHEN "0" =>SEL<="111"; A<=0;

WHEN "1" =>SEL<="110"; A<=1;

WHEN OTHERS =>NULL;

END CASE;

END PROCESS;

PROCESS(A)

BEGIN

CASE A IS

WHEN 0 =>DOUT<=LOWLED7S;

WHEN 1 =>DOUT<=HIGHLED7S;

WHEN OTHERS =>NULL;

END CASE;

END PROCESS;

COM: PROCESS(current_state,EOC)

BEGIN

CASE current_state IS

WHEN st0=>ALE<='0';START<='0';LOCK<='1';OE<='0';next_state<=st 1;

WHEN st1=>ALE<='1';START<='0';LOCK<='1';OE<='0';next_state<=st 2;

WHEN st2=>ALE<='0';START<='1';LOCK<='0';OE<='0';

IF (EOC='1') THEN next_state<=st3;

ELSE next_state<=st2;

END IF;

WHEN st3=>ALE<='0';START<='0';LOCK<='0';OE<='1';next_state<=st 4;

WHEN st4=>ALE<='0';START<='0';LOCK<='1';OE<='1';next_state<=st 0;

WHEN OTHERS=>next_state<=st0;

END CASE;

END PROCESS COM;

REG: PROCESS(CLK)

BEGIN

IF(CLK'EVENT AND CLK='1') THEN current_state<=next_state; END IF;

END PROCESS REG;

LATCH1: PROCESS(LOCK)

BEGIN

IF LOCK='1' AND LOCK'EVENT THEN REGL<=D;

END IF;

END PROCESS LATCH1;

END behav;

全光模数转换的原理及进展_韩顺利

全光模数转换的原理及进展 韩顺利 胡为良 张 鹏 (中国电子科技集团公司第四十一研究所电子测试技术重点实验室,山东青岛266555 )摘要 由于电路时钟抖动和比较器弛豫等内禀属性的影响,传统的电子模数转换器已经不能满足高带宽数字信号处 理的发展。模数转换主要包括采样、量化和编码。全光模数转换引入光子技术来对模拟电信号采样和量化,可以提 高数字信号处理系统的性能,满足高速和高分辨率的需求,从而解决电子模数转换器的技术瓶颈问题。针对目前主要研究的全光模数方案,如泰勒方案、空间光干涉和偏振干涉的移相光量化方案、孤子自频移的方案、对称双波导长 周期波导光栅和波导阵列光栅的方案等, 介绍了其基本原理及实验方案,并对各种方案的特点进行了分析。关键词 信号处理;全光模数转换;光采样;光量化;电光调制器 中图分类号 TN911 文献标识码 A doi:10.3788/LOP50.080025 Principle and Progress of All-Optical Analog-to-Dig ital ConversionHan Shunli Hu Weiliang Zhang  Peng(Science and Technology  on Electronic Test and Measurement Laboratory,The 41st Research Institute ofChina Electronics Technology Group Corporation,Qingdao,Shandong2 66555,China)Abstract Due to the inherent timing jitter of the electronic clocking  circuits and comparator ambiguity,thetraditional electronic analog-to-digital conversion(ADC)cannot fulfill the development of high bandwidth dig italsignal processing.Analog-to-digital conversion consists of sampling,quantizing and coding.Introducing  photonictechnologies for sampling and quantization of the electrical analog  signal,all-optical ADC can improve theperformance of the digital signal processing system to achieve high sampling  rate and high resolution.Hence,itsolves the bottleneck problem of electronic ADC.The main recently  developed all-optical analog-to-digitalconverters,such as those based on Taylor scheme,interferometric and p olarization interference,phase-shiftedoptical quantization(PSOQ),soliton self-frequency  shift,long-period waveguide grating(LPWG)and arrayedwaveguide grating( AWG),are introduced.Meanwhile,the characteristics of different methods are analyzed.Key  words signal processing;all-optical analog-to-digital conversion;optical sampling;optical quantization;electro-op tical modulatorOCIS codes 0 70.4560;060.4510;070.1170 收稿日期:2013-03-08;收到修改稿日期:2013-04-28;网络出版日期:2013-07- 11作者简介:韩顺利(1982—) ,男,博士,工程师,主要从事光电测量仪器及红外技术等方面的研究。E-mail:eiq d@ei41.com1 引 言 数字信号在处理和传输方面有着诸多模拟信号所不具备的优势。高性能模数转换器作为模拟传感器与数字信号处理系统之间的纽带,性能指标要求也越来越高,无论是瞬息变化过程的观测与记录,还是超宽带通信、电子对抗、超宽带雷达接收机、人工智能系统、电子侦察、导航、核武器检测、飞行器身份识别、软件无线 电等应用领域[1-2],都要求GS/s量级以上的采样速率, 而且相应的精度要求也越来越高。因此模数转换(ADC) 技术的研究越来越成为现代数字信号处理中非常核心的关键技术。由于器件本身的限制,电子ADC在采样保持电路弛豫时间、 采样时钟精度等诸多方面存在着无法克服的瓶颈问题,不能满足高速高精度模数转换的需求,限制了电子ADC的发展。而利用光子技术实现模数转换在复用、脉冲时间抖动、处理信号带宽、抗干扰、远距离传输等方面表现出显著优势,因此随着锁模激光器、光学器件和全光量化编码方案的不断发展进步,将光子计数引入到对模拟电信号的采样和量化过程中,突破

模数转换器原理

模数(A/D)转换器工作原理A/D转换器(Analog-to-Digital Converter)又叫模/数转换器,即是将模拟信号(电压或是电流的形式)转换成数字信号。这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或胜作使用。 A/D 转换器 (ADC)的型式有很多种,方式的不同会影响测量后的精准度。 A/D 转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的A/D 转换芯片。 A/D 转换器按分辨率分为4 位、6 位、8 位、10 位、14 位、16 位和BCD码的31/2 位、51/2 位等。按照转换速度可分为超高速(转换时间=330ns),次超高速(330~3.3μS),高速(转换时间3.3~333μS),低速(转换时间>330μS)等。 A/D 转换器按照转换原理可分为直接A/D 转换器和间接A/D 转换器。所谓直接A/D 转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D 转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D 芯片采用逐次逼近型者多;间接A/D 转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型A/D 转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已超出了单纯A/D 转换功能,使用十分方便。 ADC 经常用于通讯、数字相机、仪器和测量以及计算机系统中,可方便数字讯号处理和信息的储存。大多数情况下,ADC 的功能会与数字电路整合在同一芯片上,但部份设备仍需使用独立的ADC。行动电话是数字芯片中整合ADC 功能的例子,而具有更高要求的蜂巢式基地台则需依赖独立的ADC 以提供最佳性能。 ADC 具备一些特性,包括: 1. 模拟输入,可以是单信道或多信道模拟输入; 2. 参考输入电压,该电压可由外部提供,也可以在ADC 内部产生; 3. 频率输入,通常由外部提供,用于确定ADC 的转换速率; 4. 电源输入,通常有模拟和数字电源接脚; 5. 数字输出,ADC 可以提供平行或串行的数字输出。在输出位数越多(分辨率越好)以及转换时间越快的要求下,其制造成本与单价就越贵。 一个完整的A/D转换过程中,必须包括取样、保持、量化与编码等几部分电路。 AD转换器需注意的项目: 取样与保持 量化与编码

模数转换器综述_ADC

模数转换器ADC_综述 随着数字技术,特别是计算机技术的飞速发展普及,在现代控制、通讯及检测领域中,对信号的处理广泛采用了数字计算机技术。由于系统的实际处理对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别和处理这些信号,必须首先将这些模拟信号转换成数字信号。这样,就需要一种能将模拟信号转换为数字信号的电路,即模数转换电路(Analog to Digital Converter, ADC)。 模数转换过程 模数转换包括采样、保持、量化和编码四个过程。采样就是将一个连续变化的信号x(t)转换成时间上离散的采样信号x(n)。根据Nyquist-Shannon theorem采样定理,采样频率至少要大于或等于模拟信号最高频率的两倍,才可以无失真地重建恢复原始信号x(t)。通常采样脉冲的宽度是很短的,故采样输出是截断的窄脉冲。要将一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。图1即为采样过程。 图1采样过程 量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,数字信号最低有效位中的1表示的数量大小,就等于量化单位Q,如图2所示。把量化的数值用二进制代码表示,称为编码,见图3。这个二进制代码就是ADC转换的输出信号。 量化的主要问题就是量化误差。既然模拟电压是连续的,那么它就不一定能被Q整除,因而不可避免的会引入误差,我们把这种误差称为量化误差。在把模拟信号划分为不同的量化等级时,用不同的划分方法可以得到不同的量化误差。 图2采样过程

图3编码过程 要提高ADC的精度,可以通过提高采样间隔Ts和分辨率Q来实现。实际中,输入模拟信号的频率由于存在无限次谐波,因此要在采样前加入抗混叠滤波器,该滤波器与采样频率的关系一般为:f s≈ (3…5)*f filter。图4描述了这一过程。 图4加入抗混叠滤波器 模数转换技术是现实各种模拟信号通向数字世界的桥梁,作为将模拟信号转换成数字信号的模数转换技术主要有以下几种。 分级型和流水线型ADC主要应用于高速情况下的瞬态信号处理、快速波形存储与记录、高速数据采集、视频信号量化及高速数字通讯技术等领域。逐次逼近型、积分型、压频变换型等,主要应用于中速或较低速、中等精度的数据采集和智能仪器中。∑-Δ型ADC主应用于高精度数据采集特别是数字音响系统、多媒体、地震勘探仪器、声纳等电子测量领域。此外,采用脉动型和折叠型等结构的高速ADC,可应用于广播卫星中的基带解调等方面。下面对各种类型的ADC作简要介绍。 并行比较型 并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash型。由于转换速率极高,转换需要很多个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。其原理如图5所示。

模数转换器ADC0809应用原理

AD0809应用原理--很全面的资料 1. 0809的芯片说明: ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当O E端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2).引脚结构 IN0-IN7:8条模拟量输入通道

如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。 4.电路原理图 5.程序设计: (1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。 (2).进行A/D转换之前,要启动转换的方法: ABC=110选择第三通道 ST=0,ST=1,ST=0产生启动转换的正脉冲信号 . (3). 关于0809的计算: ad0809是根据逐位逼近的方法产生数据的。。 参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/255≈0. 0196V 设输入电压为X则: X-27*0.0196>=0则AD7=1否则AD7=0。 X-26*0.0196>=0则AD6=1否则AD6=0。 X-20*0.0196>=0则AD0=1否则AD0=0。 (27指2的7次方。26-------20同理) 若参考电压为0-1V (1-0)/255≈0.0039V精度自然高了。。可测量范围小了。 1)汇编源程序: CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0

模数转换原理概述

模数转换原理概述 随着数字电子技术的迅速发展,各种数字设备,特别是数字电子计算机的应用日益广泛,几乎渗透到国民经济的所有领域之中。数字计算机只能够对数字信号进行处理,处理的结果还是数字量,它在用于生产过程自动控制的时候,所要处理的变量往往是连续变化的物理量,如温度、压力、速度等都是模拟量,这些非电子信号的模拟量先要经过传感器变成电压或者电流信号,然后再转换成数字量,才能够送往计算机进行处理。 模拟量转换成数字量的过程被称为模数转换,简称A/D(Analog to Digital)转换;完成模数转换的电路被称为A/D转换器,简称ADC(Analog to Digital Converter)。数字量转换成模拟量的过程称为数模转换,简称D/A(Digital to Analog)转换;完成数模转换的电路称为D/A转换器,简称DAC(Digital to Converter)。带有模数和数模转换电路的测控系统大致可用图1.1所示的框图表示。 图1.1 一般测控系统框图 图中模拟信号由传感器转换为电信号,经放大送入AD转换器转换为数字量,由数字电路进行处理,再由DA转换器还原为模拟量,去驱动执行部件。为了保证数据处理结果的准确性,AD转换器和DA转换器必须有足够的转换精度。同时,为了适应快速过程的控制和检测的需要,AD转换器和DA转换器还必须有足够快的转换速度。因此,转换精度和转换速度乃是衡量AD转换器和DA转换器性能优劣的主要标志。 本课程设计主要讲解万用表的原理与制作,仅涉及到A/D的相关知识。因此,在本章节中仅介绍ADC的相关知识,对DAC感兴趣的同学可以查阅“数字电路”的相关知识。 A/D转换的基本概念 AD转换器的功能是将输入的模拟电压转换为输出的数字信号,即将模拟量

AD转换原理Word版

前言 在数据采集系统中,模数转换器是其中至关重要的环节,模数转换器的精度以及系统的成本直接影响到系统的实用性,因此,如何提高模数转换器的精度和降低系统的成本是衡量系统是否具有实际应用价值的标准。 一般来说,想提高模数转换器的精度,势必会引起成本的增加,这就要求我们按照具体的精度要求合理的设计模数转换器,来达到具体的要求和降低系统的成本。在精度要求不是很高的场合,我们经常利用嵌入微控制器片内的A/D转换器来实现模数转换,以此来降低系统的成本,但由此又产生了另外的问题,嵌入式模数转换器是否具有所要求的精度,若超出测量范围如何与测量电路进行接口,以及如何减小微控制器的电磁干扰提高嵌入式模数转换器的精度问题。这都要求我们采取不同的措施来提高嵌入式模数转换器的精度。 1 精度与分辨率 ADC的精度和分辨率是两个不同的概念。精度是指转换器实际值与理论值之间的偏差;分辨率是指转换器所能分辨的模拟信号的最小变化值。ADC分辨率的高低取决于位数的多少。一般来讲,分辨率越高,精度也越高,但是影响转换器精度的因素很多,分辨率高的ADC,并不一定具有较高的精度。精度是偏移误差、增益误差、积分线性误差、微分线性误差、温度漂移等综合因素引起的总误差。因量化误差是模拟输入量在量化取整过程中引起的,因此,分辨率直接影响量化误差的大小,量化误差是一种原理性误差,只与分辨率有关,与信号的幅度,采样速率无关,它只能减小而无法完全消除,只能使其控制在一定的范围之内,一般在±1/2LSB范围内。 1.1 偏移误差 偏移误差是指实际模数转换曲线中数字0的代码中点与理想转换曲线中数字0的代码中点的最大差值电压。这一差值电压称作偏移电压,一般以满量程电压值的百分数表示。在一定温度下,多数转换器可以通过对外部电路的调整,使偏移误差减小到接近于零,但当温度变化时,偏移电压又将出现,这主要是由于输入失调电压及温漂造成的。一般来说,温度变化较大时,要补偿这一误差是很困难的。 1.2 增益误差 增益误差是转换器输出全“1”时,实际模拟输入电压与理想模拟输入电压之差。它使传输特性曲线绕坐标原点偏离理想特性曲线一定的角度,即增益误差表示模数转换特性曲线的实际斜率与理想斜率的偏差,它的数值一般用满量程的百分比来表示。 ADC的理想传输函数的关系式是 (1)式中Un是没有量化时的标准模拟电压,由于存在增益误差,式(1)变为 (2)

模数转换器基本原理及应用

Σ-Δ模数转换器基本原理及应用 一、Σ-Δ ADC基本原理 Σ-Δ ADC以很低的采样分辨率(1位)和很高的采样速率将模拟信号数字化, 通过使用过采样、噪声整形和数字滤波等方法增加有效分辨率, 然后对ADC输出进行采样抽取处理以降低有效采样速率。Σ-ΔADC的电路结构是由非常简单的模拟电路(一个比较器、一个开关、一个或几个积分器及模拟求和电路)和十分复杂的数字信号处理电路构成。要了解Σ-ΔADC的工作原理, 必须熟悉过采样、噪声整形、数字滤波和采样抽 取等基本概念 1.过采样 ADC是一种数字输出与模拟输入成正比的电路, 图1给出了理想3位单极性ADC的转换特性, 横坐标是输入电压U IN 的相对值, 纵坐标是经过采样量化的数字输出量, 以二进制000~111表示。理想ADC第一位的变迁发生在相当于1/2LSB的模拟电压值上, 以后每隔1LSB都发生一次变迁, 直至距离满度的1 1/2 LSB。因为ADC的模拟量输入可以是任何值, 但数字输出是量化的, 所以实际的模拟输入与数字输出之间存在±1/2LSB的量化误差。在交流采样应用中, 这种量化误差会产生量化噪声。 图1 理想3位ADC转换特性 如果对理想ADC加一恒定直流输入电压, 那么多次采样得到的数字输出值总是相同的, 而且分辨率受量化误差的限制。如果在这个直流输入信号上叠加一个交流信号, 并用比这交流信号频率高得多的采样频率进行采样, 此时得到的数字输出值将是变化的, 用这些采样结果的平均值表示ADC的转换结果便能得到比用同样ADC高得多的采样分辨率, 这种方法称作过采样(oversampling)。如果模拟输入电压本身就是交流信号, 则不必另叠加一个交流信号。采用过采样方法(采样频率远高于输入信号频率)也同样可提高ADC的分辨率。 由于过采样的采样速率高于输入信号最高频率的许多倍, 这有利于简化抗混叠滤波器的设计, 提高信噪比并改善动态范围。可以用频域分析方法来讨论过采样问题。由于直流信号转换具有的量化误差达1/2LSB, 所以数据采样系统具有量化噪声。一个理想的常规N位ADC的采样量化噪声有效值为q/12,均匀分布在奈奎斯特频带直流至fs/2范围内, 如图2所示。其中q为LSB的权重, fs为采样速率, 模拟低通滤波器将滤除fs/2以上的噪声。如果用Kfs的采样速率对输入信号进行采样(K

数模模数转换实验报告

数模模数转换实验报告 一、实验目的 1、了解数模和模数转换电路的接口方法及相应程序设计方法。 2、了解数模和模数转换电路芯片的性能和工作时序。 二、实验条件 1、DOS操作系统平台 2、数模转换芯片DAC0832和模数转换器ADC0809芯片。 三、实验原理 1、数模转换: (1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。这种把数字量转换为模拟量的设备称为数模转换器 (DAC),简称D/A。 (2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。 2、模数转换: (1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。 (2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。一般模数转换芯片会有一条专门的信号线表示转换是否结束。微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。 (3)实验采用的是8 路8 位模数转换器ADC0809 芯片。ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。推测信号由D/A 转换器的输出获得,当推测信号与模拟信号相等时,向D/A 转换器输入的数字就是对应模拟信号的数字量。ADC0809 的转换时间为64 个时钟周期(时钟频率500K 时为128S)。分辨率为8 位,转换精度为±LSB/2,单电源+5V 供电时输入模拟电压范围为。 四、实验内容 1、把DAC0832 的片选接偏移为10H 的地址,使用debug 命令来测试DAC0832 的输出,通过设置不同的输出值,使用万用表测量Ua 和Ub 的模拟电压,

AD转换芯片ADC原理及应用

ADC0809A/D转换芯片的原理及应用 ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。文档来自于网络搜索 (2).引脚结构 IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。文档来自于网络搜索 地址输入和控制线:4条

ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。文档来自于网络搜索 C B A 选择的通 道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。文档来自于网络搜索 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,文档来自于网络搜索 VREF(+),VREF(-)为参考电压输入。 2. ADC0809应用说明 (1). ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2).初始化时,使ST和OE信号全为低电平。 (3).送要转换的哪一通道的地址到A,B,C端口上。 (4).在ST端给出一个至少有100ns宽的正脉冲信号。 (5).是否转换完毕,我们根据EOC信号来判断。 (6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

逐次逼近式AD转换原理

一、逐次逼近式AD转换器与计数式A/D转换类似,只是数字量由“逐次逼近寄存器SAR”产生。SAR使用“对分搜索法”产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即B,试探模拟量Vi的大小,若Vo>Vi,清除最高位,若VoVi,“控制电路”清除最高位,若Vo

详细的模数转换原理讲解

A/D工作原理 一般的A/D转换过程是通过采样保持、量化和编码这三个步骤完成的,即首先对输入的模拟电压信号采样,采样结束后进入保持时间,在这段时间内将采样的电压量转换为数字量,并按照一定的编码给出转换结果,然后开始下一次采样。 可以这样理解,模数转换的过程就是分段量化,量化编码的过程。分段量化指的是找到根据转换器的输出位数,确定可以输出几段模拟量,然后给每一段模拟量赋给相应的值,该段的变量都用该值来表示。分段编码就是根据分的几段,编几个相应的二进制码来代替,以便机器识别。

在实验中用到的ADC0804就是这种类型的转换器,所以这里将原理讲述一下。 由图我们可以得到三个RS 触发器的RS 端输入:(图中给出了输入电压为6V 的相应分析)。 触发器 R/S Vb 开始设置为2.5V ,RS 触发器RS=01时为1。五个D 型触发器初始值定为00001。FFA R=Vb & Q2S=Q1FFB R=(Vb & Q3)||Q1S=Q2FFC R=(Vb & Q4)||Q1 S=Q3 比较器输入Vb D 型触发器RS 触发器 2.5/010000100 3.5/001000110 5.5/000100111 6.5/100010110 5.5/000001 110 通过上面的分析我们可以知道,ADC0804的工作流程就是将输入值与参考值相比较,然后根据比较的结果再调整参考值,直到得到最后的结果。基准电压决定了A/D 转换器的转换范围。 同时通过上面的分析我们可以知道,A/D 转换器实际上内部已经将分段量化,分段编码搞定了,我们需要做的只是 1)给转换器一个基准电压,告诉它每一段代表的具体电压值是多少 输入需要转换的电压,得到相应的数字值。

模数转换器原理

模数转换器原理

————————————————————————————————作者:————————————————————————————————日期:

模数转换器原理 模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小。故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。 模拟数字转换器的分辨率是指,对于允许范围内的模拟信号,它能输出离散数字信号值的个数。这些信号值通常用二进制数来存储,因此分辨率经常用比特作为单位,且这些离散值的个数是2的幂指数。例

如,一个具有8位分辨率的模拟数字转换器可以将模拟信号编码成256个不同的离散值(因为2 =256),从0到255(即无符号整数)或从-128到127(即带符号整数),至于使用哪一种,则取决于具体的应用。 分辨率同时可以用电气性质来描述,使用单位伏特。使得输出离散信号产生一个变化所需的最小输入电压的差值被称作最低有效位(Leastsignificantbit,LSB)电压。这样,模拟数字转换器的分辨率Q等于LSB电压。模拟数字转换器的电压分辨率等于它总的电压测量范围除以离散电压间隔数: 这里N是离散电压间隔数。 这里EFSR代表满量程电压范围,即是总的电压测量范围,即输入参考高电压与输入参考低电压的差值。 这里VRefHi和VRefLow是转换过程允许电压的上下限。 M为ADC模块的精度的位数 正常情况下,电压间隔数等于

AD转换基本原理

AD转换的基本原理和技术 1.转换方式 直接转换ADC 2.电路结构 逐次逼近ADC包括n位逐次比较型A/D转换器如图11.10.1所示。它由控制逻辑电路、时序产生器、移位寄存器、D/A转换器及电压比较器组成。 图11.10.1逐次比较型A/D转换器框图 3.工作原理 逐次逼近转换过程和用天平称物重非常相似。天平称重物过程是,从最重的砝码开始试放,与被称物体行进比较,若物体重于砝码,则该砝码保留,否则移去。再加上第二个次重砝码,由物体的重量是否大于砝码的重量决定第二个砝码是留下还是移去。照此一直加到最小一个砝码为止。将所有留下的砝码重量相加,就得此物体的重量。仿照这一思路,逐次比较型A/D转换器,就是将输入模拟信号与不同的参考电压作多次比较,使转换所得的数字量在数值上逐次逼近输入模拟量对应值。 对11.10.1的电路,它由启动脉冲启动后,在第一个时钟脉冲作用下,控制电路使时序产生器的最高位置1,其他位置0,其输出经数据寄存器将1000……0,送入D/A转换器。输入电压首先与D/A器输出电压(V REF/2)相比较,如v1≥V REF/2,比较器输出为1,若v I< V REF/2,则为0。比

较结果存于数据寄存器的D n-1位。然后在第二个CP作用下,移位寄存器的次高位置1,其他低位置0。如最高位已存1,则此时v O=(3/4)V REF。于是v1再与(3/4)V REF相比较,如v1≥(3/4)V REF,则次高位D n-2存1,否则D n-2=0;如最高位为0,则v O=V REF/4,与v O比较,如v1≥V REF/4,则D n-2位存1,否则存0……。以此类推,逐次比较得到输出数字量。 为了进一步理解逐次比较A/D转换器的工作原理及转换过程。下面用实例加以说明。 设图11.10.1电路为8位A/D转换器,输入模拟量v A=6.84V,D/A转换器基准电压V REF=10V。根据逐次比较D/A转换器的工作原理,可画出在转换过程中CP、启动脉冲、D7~D0及D/A转换器输出电压v O的波形,如图11.10.2所示。 由图11.10.2可见,当启动脉冲低电平到来后转换开始,在第一个CP作用下,数据寄存器将D7~D0=10000000送入D/A转换器,其输出电压v0=5V,v A与v0比较,v A>v0存1;第二个CP到来时,寄存器输出D7~D0=11000000,v0为7.5V,v A再与7.5V比较,因v A<7.5V,所以D6存0;输入第三个CP时,D7~D0=10100000,v0=6.25V;v A再与v0比较,……如此重复比较下去,经8个时钟周期,转换结束。由图中v0的波形可见,在逐次比较过程中,与输出数字量对应的模拟电压v0逐渐逼近v A值,最后得到A/D转换器转换结果D7~D0为10101111。该数字量所对应的模拟电压为6.8359375V,与实际输入的模拟电压6.84V的相对误差仅为0.06%。

模数转换器ADC0809应用原理

AD0809应用原理--很全面的资料 1.0809的芯片说明: ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的C MOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2). 引脚结构 IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条

5.程序设计: (1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。 (2). 进行A/D转换之前,要启动转换的方法: ABC=110选择第三通道 ST=0,ST=1,ST=0产生启动转换的正脉冲信号 . (3). 关于0809的计算: ad0809是根据逐位逼近的方法产生数据的。。 参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/ 255≈0.0196V ?设输入电压为X则: X-27*0.0196>=0则AD7=1否则AD7=0。 X-26*0.0196>=0则AD6=1否则AD6=0。?X-20*0.0196>=0则AD0=127指2的7次方。26-------20同理) 否则AD0=0。?( 若参考电压为0-1V (1-0)/255≈0.0039V精度自然高了。。可测量范围小了。 1)汇编源程序: CH EQU 30H DPCNT EQU 31H

AD转换器工作原理

模数转换器最重要的参数是转换的精度,通常用输出的数字信号的位数的多少表示。转换器能够准确输出的数字信号的位数越多,表示转换器能够分辨输入信号的能力越强,转换器的性能也就越好。A/D转换一般要经过采样、保持、量化及编码4个过程。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。 模数转换原理概述随着数字电子技术的迅速发展,各种数字设备,特别是数字电子计算机的应用日益广泛,几乎渗透到国民经济的所有领域之中。数字计算机只能够对数字信号进行处理,处理的结果还是数字量,它在用于生产过程自动控制的时候,所要处理的变量往往是连续变化的物理量,如温度、压力、速度等都是模拟量,这些非电子信号的模拟量先要经过传感器变成电压或者电流信号,然后再转换成数字量,才能够送往计算机进行处理。模拟量转换成数字量的过程被称为模数转换,简称A/D(Analog to Digital)转换;完成模数转换的电路被称为A/D 转换器,简称ADC(Analog to Digital Converter)。数字量转换成模拟量的过程称为数模转换,简称D/A(Digital to Analog)转换;完成数模转换的电路称为D/A转换器,简称DAC(Digital to Analog Converter)。模拟信号由传感器转换为电信号,经放大送入AD 转换器转换为数字量,由数字电路进行处理,再由DA转换器还原为模拟量,去驱动执行部件。为了保证数据处理结果的准确性,AD转换器和DA转换器必须有足够的转换精度。同时,为了适应快速过程的控制和检测的需要,AD转换器和DA转换器还必须有足够快的转换速度。因此,转换精度和转换速度乃是衡量AD转换器和DA 转换器性能优劣的主要标志。 转换方法模数转换过程包括量化和编码。量化是将模拟信号量程分成许多离散量级,并确定输入信号所属的量级。编码是对每一量级分配唯一的数字码,并确定与输入信号相对应的代码。最普通的码制是二进制,它有2的n次方个量级(n为位数),可依次逐个编号。模数转换的方法很多,从转换原理来分可分为直接法和间接法两大类。直接法是直接将电压转换成数字量。它用数模网络输出的一套基准电压,从高位起逐位与被测电压反复比较,直到二者达到或接近平衡(见图)。控制逻辑能实现对分搜索的控制,其比较方法如同天平称重。先使二进位制数的最高位Dn-1=1,经数模转换后得到一个整个量程一半的模拟电压VS,与输入电压Vin相比较,若V in>VS,则保留这一位;若V inVS还是V in

相关主题
文本预览
相关文档 最新文档