d/a 和 a/d 转换器接口设计

26
D/A 和 A/D 和和和和和和和 和和和和和和和和和和和和和和 和和和和 和和和和和和和和 和和和和 和和和和和和和和和和和和和和和和 和和和和和 和和和 和和和 和和和和和和和 ,,、、、。 和和和和和和和和和 , 和和和和和和和和和和和和 和和和和和和和和和和和和和 和和和 ,, 和和和和和和和和和和和和和和和和 和和和和和和和和和和和和和和和和和和和和和和和 和和和和和和和 和和和和和和和和和和和和和和和和和和和和和和 。( ADC )。 和和 和和和和和和和和和和和和和和 和和和和和和和和和和和和和和 ,, 和和和和 和和和和和和和和和和和和和和和和和和和和和和 。( DAC 和和和和和和和 )。 D/A 和和和 )、( A/D 和和和和和和和和和和和和 和和和和和和和

Upload: candie

Post on 19-Jan-2016

185 views

Category:

Documents


0 download

DESCRIPTION

D/A 和 A/D 转换器接口设计. 在微机过程控制和数据采集等系统中,经常要对一些过程参数进行测量和控制,这些参数往往是连续变化的物理量,例如温度、压力、流量、速度和位移等。这里所指的连续变化 , 即数值是随时间连续可变的,通常称这些物理量为模拟量,然而计算机本身所能识别和处理都是数字量。这些模拟量在进入计算机之前必须转换成二进制数码表示的数字信号。能够把模拟量变成数字量的器件称为模数转换器( ADC )。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: D/A 和 A/D 转换器接口设计

D/A 和 A/D 转换器接口设计 在微机过程控制和数据采集等系统中,经常要对一些过程参数进行测量和控制,这些参数往往是连续变化的物理量,例如温度、压力、流量、速度和位移等。这里所指的连续变化 , 即数值是随时间连续可变的,通常称这些物理量为模拟量,然而计算机本身所能识别和处理都是数字量。这些模拟量在进入计算机之前必须转换成二进制数码表示的数字信号。能够把模拟量变成数字量的器件称为模数转换器( ADC )。 相反,微机加工处理的结果是数字量,也要转换成模拟量才能去控制相应的设备。能够把数字量变成模拟量的器件称为数模转换器( DAC )。本章将介绍数模( D/A )、模数( A/D )转换器原理及其与单片机系统的接口应用技术。

Page 2: D/A 和 A/D 转换器接口设计

D/A 转换的一般工作原理 :常用电阻分压 /分流来实现 D/A 转换。D/A 转换器将数字信息转换成与数值成正比的电压 /电流。有权电阻解码网络与 T型解码网络两种构建方法 ,又以 T型解码网络最为常用。权电阻解码网络简单。但随着 D/A 转换的位数增加,权电阻值跨度增大,在集成电路中难于实现。 T 型解码网络电阻数量大一倍。但电阻值归一化程度高 ,容易集成,精度高。应用最为普遍。

D/A 转换

Page 3: D/A 和 A/D 转换器接口设计

权电阻解码网络

+I

Iout

R0

R1

R2

R3

R4

R5

R6

R7

若: R0 = R R1 = R/2 R2 = R/4 R3 = R/8 ………… R7 = R/128从而 :I0 = Vref/R I1 = 2 Vref/R I2 = 4 Vref/R I3 = 8 Vref/R ………… I7 =128Vref/R

开关控制电路

开关控制电路的作用:将“ 0”值对应的开关打到地,将“ 1”值对应的开关接通 Vref

加法器电路

简单 , 权电阻值跨度大,在集成电路中难于实现

D7

D6

D5

D4

D3

D2

D1

D0

Vref

R

Page 4: D/A 和 A/D 转换器接口设计

+ Iout

2R

2R

2R

2R

2R

2R

2R

2R

每个 2R支路的电流均为上一支路的 1/2 : I7 = (Vref/2R) I6 = (Vref/2R)/2 I5 = (Vref/2R)/4 ………… I0 = (Vref/2R)/128开关控

制电路

开关控制电路 :“0”值将开关打到地;“ 1”值将开关接通 Vref

加法器电路

T 型解码网络

2R

R

R

R

R

R

R

R

深度负反馈条件下 ,运放的“虚短特性” :Vd 0 ,( 因开环增益极大 ,输入端之间压差极小 )Ii 0 ,( 因输入阻抗极大 ,输入电流极小 )

Vref“1”

“0”

I7

I6

I5

I4

I3

I2

I0

I1

电阻数量增大一倍 , 但阻值归一,集成容易,精度高

D7

D0

Page 5: D/A 和 A/D 转换器接口设计

8 位 CMOS 数模转换芯片 DAC 0832:

CS VCCWR1 ILE

AGND WR2D3 XFERD2 D4D1 D5 D0 D6Vref D7Rfb Iout2

DGND Iout1

DAC0832

20 PIN DIP 封装

√8位 D/A ,分辨率 =Vref/256√CMOS 低功耗器件, +5~ +15V 单电源供电√电流输出型器件 (需外接运放 )√具有双缓冲控制输出√采用 T型电阻解码网络结构√参考电压源, -10 ~ +10V

Page 6: D/A 和 A/D 转换器接口设计

DAC 0832 引脚定义

DAC0832

CS VCCWR1 ILE

AGND WR2D3 XFERD2 D4D1 D5 D0 D6Vref D7Rfb Iout2

DGND Iout1

20 PIN DIP 封装

D0—D7 : 8位数字量输入端/CS : 片选端,低有效ILE : 数据锁存允许 ,高有效/WR1 : 写控制信号 1,低有效/WR2 : 写控制信号 2,低有效/XFER : 数据传送控制信号Iout1 : 电流输出端 1Iout2 : 电流输出端 2Rfb : 内置反馈电阻端Vref: 参考电压源 ,-10~+10VDGND : 数字量地AGND : 模拟量地Vcc: +5 ~ +15V 单电源供电端

Page 7: D/A 和 A/D 转换器接口设计

DAC0832 内部结构框图

&

≥1

≥1

1

10

00

0

1

1

LE2IL

E

CS

WR1WR2XFER

D7

D0 LE

1

输入寄存器

寄存器

DAC 转

换器

D/A

VrefIout2Iout1

Rfb

LE=1 , Q 跟随 D

LE=0 , Q 锁存 D

D0—D7 : 8位数字量输入端/CS : 片选端,低有效ILE : 数据锁存允许 ,高有效/WR1 : 写控制信号 1,低有效/WR2 : 写控制信号 2,低有效/XFER :数据传送控制信号Iout1 :电流输出端 1Iout2 :电流输出端 2Rfb : 内置反馈电阻端Vref: 参考电压源 ,-10 ~ +10VDGND : 数字量地AGND : 模拟量地Vcc: +5 ~ +15V 单电源供电端

8位的电子开关受 DAC寄存器输出控制

Page 8: D/A 和 A/D 转换器接口设计

DAC0832 与单片机的连接89C51 单片机

DAC 0832

P0.0—P0.7

P2.0

8位

DI0—DI7

EA WRXFERCS

+5V

12MHz

30Px2

WR1WR2

+5V

VccVrefILE

+uA741

-12V

+12V

GND AGNDDGND

Iout1Iout2

Rfb

接示波器

Page 9: D/A 和 A/D 转换器接口设计

DAC 0832 常 见 的 几 种 用 法

Page 10: D/A 和 A/D 转换器接口设计

DAC 0832 常 见 的 几 种 用 法

直通方式 单缓冲方式 双缓冲方式

Page 11: D/A 和 A/D 转换器接口设计

DAC0832 常见的几种用法

&

≥1

≥1

1

10

00

0

1

1

LE2IL

E

CS

WR1WR2XFER

D7

D0 LE

1

输入寄存器

寄存器

DAC 转

换器

D/A

VrefIout2Iout1

Rfb

LE=1 , Q 跟随 D

LE=0 , Q 锁存 D

≥1

&

或非门

非与门

输入任一为“ 1” 输出皆为“ 0” 输入全为“ 0” ,输出才为“ 1”

输入全为“ 0” ,输出才为“ 1” 输入任一为“ 1”输出皆为“ 0”

Page 12: D/A 和 A/D 转换器接口设计

DAC0832 的编程应用举例例 1 产生矩形波 例 2 产生锯齿波START:MOV R0 , #0FEH LOOP:MOV A, #33H MOVX @R0,A LCALL DELAY MOV A , #0FEH MOVX @R0,A LCALL DMS2 SJMP LOOP

START:CLR A MOV R0,#0FEH DOWN:MOVX @R0,A

INC AJNZ DOWNMOV A, #FEH

UP:MOVX @R0,ADEC AJNZ UPSJMP DOWN

Page 13: D/A 和 A/D 转换器接口设计

DAC0832 编程应用举例:

同样的编程思路,如何产生如下的梯形波:

梯形波

Page 14: D/A 和 A/D 转换器接口设计

A/D 转换的一般工作模式常用的有: 逐次逼近式 双积分式 并行式 Σ-Δ式尤以前两种最为普遍。

A/DA/D 转 换 器 接转 换 器 接口口

Page 15: D/A 和 A/D 转换器接口设计

控制逻辑与时序

D/A 转换器

SAR

Vin

比较器输出锁存器

START CLK

EOC

D0

D7

+Vref -Vref OE

Vst

逐次逼近式 A/D 转换器结构

+

-

Page 16: D/A 和 A/D 转换器接口设计

D/A 转换器的输出 ,从二进制数据的最高位起,依次逐位置 1,与待转换的模拟量比较 , 若前者小于后者,该位置 1并保留下来,若前者大于后者,该位清 0; 然后再照此比较下一位 ,……直至比完最低位。最后得到的结果即 A/D 转换的值。

控制逻辑与时序

D/A 转换器

SAR

Vin

比较器输出锁存器

START CLK

EOC

D0

D7

+Vref -Vref OE

Vst

逐次逼近式 A/D 转换器工作原理

Page 17: D/A 和 A/D 转换器接口设计

转换速度较快(比较次数等于 A/D 的位数)通常在几 S至几百 S 数量级。

被转换的模拟量若频率很高(变化较快)则要加 S/H电路。

被转换的模拟量若幅度过小(信号微弱)则需要加信号调理电路。

逐次逼近式 A/D 转换器特点

Page 18: D/A 和 A/D 转换器接口设计

双积分式 A/D 转换器结构与工作原理

比较器积分器

+- +

-

-标准电压

时钟

控制逻辑

计数器

+ Vin

T T时间固定 斜率固定

Vin

t

输出

电路对未知输入电压先进行固定时间 T的积分(充电 ),然后对已知标准电压进行反向积分 (放电 ),直至放电为 0,放电所花时间 T( 正比于输入电压 )

例如: ICL7107

Page 19: D/A 和 A/D 转换器接口设计

双积分式 A/D 转换器特点

转换速度较慢(因为 A/D 转换的过程要两次积分)通常在几十 mS至几百 mS 数量级。

适用于转换变化较缓慢的模拟量(频率较低)输入端一般不需要在加 S/H电路。

抗干扰性强(信号波动对精度影响不大)。

性价比高,与逐次比较型相比,同样价格条件下转换精度较高。

Page 20: D/A 和 A/D 转换器接口设计

IN3 IN2IN4 IN1IN5 IN0IN6 ADDAIN7 ADDB

START ADDC EOC ALED3 D7OE D6

CLK D5VCC D4Vref+ D0

GND Vref-D1 D2

ADC0809

8 位 CMOS 模数转换芯片 ADC 0809√8位 A/D, 量化间隔 =Vin/(256-1)√CMOS 低功耗器件√8 通道多路开关输入切换电路√单电源 +5,Vref=+5V Vin 范围 : 单极性 0—+5V√逐次逼近结构√每次转换时间: 100S 60 个时钟周期 , fmax=640KHz (推荐 CLK=500KHz)√转换结果读取方式: ①延时读数 ②查询 EOC=1 ③EOC申请中断

Page 21: D/A 和 A/D 转换器接口设计

IN3 IN2IN4 IN1IN5 IN0IN6 ADDAIN7 ADDB

START ADDC EOC ALED3 D7OE D6

CLK D5VCC D4Vref+ D0

GND Vref-D1 D2

ADC0809

IN0—IN7 : 8通道模拟量输入端 D0—D7 : 8 位数字量输出端ADDC、 ADDB 、 ADDA : 接地址锁存器的低三位地址ALE : 地址锁存允许控制信号START :清 0 内寄存器 ,启动转换OE: 允许读 A/D 结果 , 高有效CLK:时钟输入端 ,应≤ 640KHzEOC :转换结束时为高Vcc : +5VVref+ :正参考电压Vref- :负参考电压

ADC 0809引脚定义 :

Page 22: D/A 和 A/D 转换器接口设计

IN3 IN2IN4 IN1IN5 IN0IN6 ADDAIN7 ADDB

START ADDC EOC ALED3 D7OE D6

CLK D5VCC D4Vref+ D0

GND Vref-D1 D2

ADC0809IN0—IN7 : 8通道模拟量输入端 D0—D7 : 8 位数字量输出端ADDC、 ADDB 、 ADDA : 接地址锁存器的低三位地址ALE : 地址锁存允许控制信号START :清 0 内寄存器 ,启动转换OE: 允许读 A/D 结果 , 高有效CLK:时钟输入端 ,应≤ 640KHzEOC :转换结束时为高Vcc : +5VVref+ :正参考电压Vref- :负参考电压

转换结果对应的输入电压计算 由于 AD0809 是 8 位的模数转换器,其所能表示的数字量为 0 ~ 255 。因此, 0 ~ 255 对应的输入电压就是( Vref+)-( Vref -)。最小的转换当量为 Δ =(( Vref +)-( Vref -)) ÷ 255

如果 Vref+ 接+ 2.55V , Vref- 接地。

则 2V 的电压输入转换后为 2V ÷ Δ = 200 。反之,如果知道转换后的数字量也可以换算出输入的模拟量。

Page 23: D/A 和 A/D 转换器接口设计

ADC0809 结构框图

8 通道多路开

IN0

IN7

地址译码锁存

ADDAADDBADDC

ALE

控制逻辑与时序

D/A 转换器

SAR

Vin

比较器输出锁存器

START CLK

EOC

D0

D7

+Vref -Vref OE

Vst

+

-

Page 24: D/A 和 A/D 转换器接口设计

ADC0809 与 单片机的连接

51 单片机 ADC 0809

锁存器 74LS373

P0.0-P0.7

ALE

CS0

8D Q0

ALE

CLK

ADDA

D0-D7

G

EAOE

START

RD

WR

OE

Q1Q2

ADDBADDC+5V

INT1EOC≥1

≥1

2

口地址可以为: 0x0000 ~ 0x0007

A2A1A0

VIN0VIN1VIN2VIN3VIN4VIN5VIN6VIN7

VREFRef+

Ref-

Page 25: D/A 和 A/D 转换器接口设计

根据系统要求不同以及 CPU忙闲程度, A/D 转换通常可采用三种软件编程控制方式;程序查询方式,定时采样方式和中断控制方式。 1.程序查询方式 对 A/D 转换器而言,所谓程序查询方式即条件传送 I/O方式。在接入模拟量以后,发出一启动 A/D 转换命令,用查询检测 P3. 2 引脚电平是否为“ 0” ( A/D 转换器数据是否准备就绪)的方法来读取 A/D 转换器的数据,否则继续查询,直到 P3.2 引脚电平为“ 0” 。这种方法较好地协调了 CPU与 A/D 转换器在速度上的差别,通常用于检测回路较少、而 CPU工作不十分繁忙的情况下。

Page 26: D/A 和 A/D 转换器接口设计

2.定时采样方式 这种方式实际是无条件传送 I/O 方式,当向 A/D 转换器发出启动命令后,即进行软件延时,延时时间取决于进行一次 A/D 转换所需的时间,此时 A/D 转换器的数据(准备就绪)肯定转换完毕,从 A/D 转换器中读取数据即为采样值。

3.中断采样方式 不论采用查询方式,还是采用定时方式, CPU大部分时间都消耗在查询或延时等待上,这对于多回路的采样检测并且 CPU工作很忙的测控系统中,不宜采用这两种方式,而采用中断方式。 在这种方式中, CPU启动 A/D 转换后,可以继续执行主程序。当 A/D 转换结束时,发出一转换结束信号 EOC ,该信号反相器接 89C51 的 P3.2 ( INT0 )引脚,向 CPU发出中断清求。 CPU响应中断后,即可读入数据并进行处理。