快捷搜索:  汽车  科技

转换器10a和20a什么区别(干货分享DA与A)

转换器10a和20a什么区别(干货分享DA与A)1.2:双极性模拟输出电压1.1 单极性模拟输出1、单缓冲工作方式此方式适用于只有一路模拟量输出,或有几路模拟量输出但并不要求同步的系统。即:默认 CS = XFER = 0, ILE = 1; WR单独控制。 缓冲仅由WR单独控制。

转换器10a和20a什么区别(干货分享DA与A)(1)

一、D/A转换器的基本原理及分类

T型电阻网络D/A转换器 :

转换器10a和20a什么区别(干货分享DA与A)(2)

二:输出电压与数字量的对应关系

转换器10a和20a什么区别(干货分享DA与A)(3)

三:D/A转换器的主要性能指标

1、分辨率

pin description:

2:DAC0832三种工作方式

1、单缓冲工作方式

此方式适用于只有一路模拟量输出,或有几路模拟量输出但并不要求同步的系统。

即:默认 CS = XFER = 0, ILE = 1; WR单独控制。 缓冲仅由WR单独控制。

1.1 单极性模拟输出

转换器10a和20a什么区别(干货分享DA与A)(4)

1.2:双极性模拟输出电压

转换器10a和20a什么区别(干货分享DA与A)(5)

双极性输出时的分辨率比单极性输出时降低1/2,这是由于对双极性输出而言,最高位作为符号位,只有7位数值位

2、双缓冲工作方式

多路D/A转换输出,如果要求同步进行,就应该采用双缓冲器同步方式 。

即:默认 CS = 0 ILE = 1 ; WR 和 XFER都单独控制, 缓冲由WR和XFER两个控制。

转换器10a和20a什么区别(干货分享DA与A)(6)

3、直通工作方式

当DAC0832芯片的片选信号CS、写信号WR、及传送控制信号XFER 的引脚全部接地,允许输入锁存信号ILE引脚接 5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。

即: CS = WR = XFER = 0, ILE = 1;

A/D转换器

一、逐次逼近式ADC的转换原理

转换器10a和20a什么区别(干货分享DA与A)(7)

二、双积分式ADC的转换原理

转换器10a和20a什么区别(干货分享DA与A)(8)

三、A/D转换器的主要技术指标

1、分辨率

ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/ 2^n 。一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/ 2^12 =2.4mV。

2、量化误差

ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。

转换器10a和20a什么区别(干货分享DA与A)(9)

3、偏移误差

偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。

4、满刻度误差

满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。

5、线性度

线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。

6、绝对精度

在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。

7、转换速率

ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。

四:AD080X demo

转换器10a和20a什么区别(干货分享DA与A)(10)

转换器10a和20a什么区别(干货分享DA与A)(11)

PIN5 如果采用中断方式通知CPU,则接外部中断, 否则 5可悬空,延时直接读取即可。

启动时序图如下:

code demo:

[cpp] view plain copy print?

void Launch()

{

CS = 0;

WR = 1; WR = 0; WR = 1;

/*Waiting for INTR goto 0*/

}

转换器10a和20a什么区别(干货分享DA与A)(12)

读取时序图:

code demo:

[cpp] view plain copy print?

void ReadAD()

{

/* INTR had goto 0*/

CS = 0;

RD = 1; RD = 0; /*delay*/ RD = 1;

/* READ */

}

转换器10a和20a什么区别(干货分享DA与A)(13)

猜您喜欢: