- 计数型ADC
转换电路由比较器C、D/A 转换器、计数器、脉冲源、控制门G以及输出寄存端等几部分组成。转换开始前先用复位信号将计数器置0,且转换信号停留在V1=0的状态,这时候G门被封锁,计数器不工作。计数器加给DAC的全是0信号,所以DAC输出的模拟电压Vo=0 。如果V1为正电压信号,比价器的输出电压为1。依同样的方法比较完DA的全部位数。
比如说以三位的二进制数码来表示模拟电压,那么计数器从000开始,将这个二进制数输送到DAC中,由DAC转换成模拟电压,和外面要测量的模拟电压相比较,如果相同则输出这个二进制数码。
每当检测比较,计数器也会把二进制数输入到输出寄存器中,直到某个二进制数符合条件,由输出寄存器输出要测量的模拟电压的二进制数码。
但是这个方案有个明显的问题是:转换时间长。当输出为n位二进制数码时,最长的转换时间可达到2^n-1倍的时钟信号周期,因此这种方法只能用在对转换速度要求不高的场合。但是它的电路非常简单,所以在对转换速度没有严格要求时仍是一种可取的方案。
- 逐次比较型ADC
为了提高转换速度,在计数型ADC转换的基础上产生了逐次比较型ADC。逐次逼近转换过程与用天平称物重非常相似。按照天平称重的思路,逐次比较型ADC是将输入模拟信号与不同的参考电压作比较,使转换所得的数字量在数值上逐次逼近输入模拟量的对应值。
三位逐次比较型ADC是一个输出为三位二进制数的逐次比较型ADC,其逻辑电路如下
C为电压比较器,当V1>=V0时,比较器的输出为0,反之输出为1 。触发器FFA、FFB、FFC组成了三位数码寄存器,触发器FF1—FF2和门电路G1—G2组成控制逻辑电路。
逐次比较型ADC完成一次转换所需时间与其位数和时钟脉冲频率有关,位数愈少,时钟频率越高,转换所需时间越短。这种ADC具有转换速度快,精度高的特点。
- 间接A/D转换器
目前使用的间接A/D转换器多半都属于电压-时间变换型(V-T变换型) 和 电压-频率变换型(V-F变换型 )两类。
在V-T变换型ADC中,首先把输入的模拟电压信号转换成与之成正比的时间宽度信号,然后在这个时间宽度里对固定频率的时钟脉冲计数,计数的结果就是正比于输入模拟电压的数字信号。
在V-F变换型ADC中,首先把输入的模拟电压信号转换成与之成正比三位频率信号,然后在一个固定的时间间隔里对得到的频率信号计数,得到的结果就是正比于输入模拟电压的数字量。
- ADC的参数指标
-
分辨率——它说明ADC对输入信号的分辨能力。
ADC的分辨率以输出二进制数的对数表示。从理论上讲,n位输出的ADC能区分2^n 个不同等级的输入模拟电压,能区分输入电压的最小值为满量程输入的1/2^n。在最大输入电压一定时,输出位数愈多,量化单位愈小,分辨率越高,常见的有8、10、12、16、32位等。
例如ADC输出为8位二进制数,输入信号最大值位5V,那么这个转换器应能区分输入信号的最小电压位5V1/2^8=19.53mV 。
再例如,某ADC输入模拟电压的变化位-10~ +10,转换器为8位,若第一位用来表示正负号,其余7位表示信号赋值,则最末一位数字可表示80mV模拟电压(10V*1/2^7=80mV),即转换器可以分辨的最小模拟电压为80mV。
-
转换误差——表示ADC实际输出的数字量与理论输出数字量之间的差别。
这个不必深究,知道就可以。
-
转换精度——ADC的最大量化误差和模拟部分精度的共同体现。
-
转换时间——指ADC从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。
不同类型的转换器转换速度相差甚远。并行比较ADC转换速度最高,8位二进制输出的单片机集成ADC转换时间可达50ns以内。逐次比较ADC次之,它们多数转换时间为10~ 50μs。间接ADC的速度最慢。在实际应用中,应从系统数据总的位数、精度要求、输入模拟信号的范围及输入信号极性等方面综合考虑ADC的选用。
5.3 ADC0804工作原理及其实现方式
集成ADC品种繁多,选用时应综合考虑各种因素选取集成芯片。一般逐次比较型ADC用得较多,ADC0804就是这类单片集成ADC。
ADC0804采用CMOS工艺20引脚集成芯片,分辨率为8位,转换时间位100μs,输入电压范围位0~ 5V 。芯片内具有三态输出数据锁存器,可直接连接在数据总线上。
下图为ADC0804的引脚分布图
实物图
| 引脚名称 | 作用 |
|---|---|
| CS | 片选信号输入端,低电平有效,一旦有效,表明ADC被选中,可启动工作 |
| RD | 读信号输入,低电平输出端有效 |
| WR | 写信号输入,低电平启动A/D转换 |
| CLK | 时钟信号输入端 |
| INTR | A/D转换结束信号,低电平表示本次转换已经完成 |
| VIN(+) VIN(—) | 两模拟信号输入端,用来接收单极性、双极性和差模输入信号 |
| AGND | 模拟信号地 |
| VREF/2 | 参考电平输入,决定量化单位 |
| DGND | 数字信号地 |
| VCC | 芯片电源5V输入 |
| CLKR | 内部时钟发生器的外接电阻端,与CLK端配合可由芯片自身产生时钟脉冲,其频率为1/(1.1RC) |
| DB7~DB0 | 具有三态特性的数字信号输出口 |
三态特性:这里的三态,是指它的输出既可以是一般二值逻辑电路的正常的“0”状态和“1”状态,又可以保持特有的高阻抗状态,第三种状态—高阻状态 (高阻态相当于隔断状态)。
下图为ADC0804的典型应用接法
我们用的TX—1C实验班上ADC0804外围电路及与单片机的链接参照图如下
分析如下
- ADC0804的片选端CS连接U2锁存器的Q7输出端,我们可以通过控制锁存器来控制CS,这样接的原因是TX-1C实验板扩展的外围太多,没有多余的I/O口独立控制ADC0804的CS端,所以选择U2.
- VIN(+)接电位器的中间滑动端,VIN(—)接地,因为这两段可以输入查分电压,即可测量VIN(+)与VIN(—)之间的电压。当VIN(—)接地时,VIN(+)端的电压即ADC0804的模拟输入电压。VIN(+)与电位器之间串联一个10kΩ的电阻,其目的是限制流入VIN(+)端的电流,防止电流过大而烧坏A/D芯片。当用短路帽短接插针ADIN后,电位器的中间滑动端便通过电阻R12与VIN(+)相连接,因此调节电位器的旋钮,其中间滑动端的电压便在0~ VCC之间变化,进而ASC0804的数字输出端也在0x00~ 0xFF之间变化。
- CLKR、CLR、GND之间用电阻和电容组成RC振荡电路,给ADC0804提供工作所用的脉冲,其脉冲的频率为 1/(1.1RC)。按芯片手册上说明,R取10kΩ,C取150pF,TX-1C实验班为了减少元件种类和焊接方便,C选用的是104瓷片电容。
- VREF/2端用两个1kΩ的电阻分压得到VCC/2电压,即2.5V,将该电压作为A/D芯片工作是内部的参考电压。
- WR、RD分别接单片机的P3.6和P3.7引脚,数字输出端接单片机的P1口。
- 将AGND和DGND同时连接到实验板的GND上。我们在设计产品时,若用到A/D和D/A,一般这些芯片都提供独立的模拟地(AGND)和数字地(DGND)引脚,为了达到精度高、稳定性好的目的,最好将所有器件的模拟地与数字地分别连接,最后将模拟地与数字地仅在一点相连。
- INTR引脚未连接,TX-1C实验板上读取A/D数据未用中断法,因此可不接该引脚
好难啊,慢慢理解把