自动控制网—学习自动控制技术电气自动化技术从这里开始!

A/D转换器与系统的连接及举例

时间:2015-11-02 07:30来源:www.eadianqi.com 编辑:自动控制网
A/D转换器对外的信号连接涉及模拟输入信号、数据输出信号、启动转换信号、转换结束信号和数据的读取等内容。A/D转换器和系统连接时,要处理好下列问题。 1、输入模拟电压的连接 A/D转换器的输入模拟电压可以是单端输入也可以是双端输入。如单通路8位A/D转换

   A/D转换器对外的信号连接涉及模拟输入信号、数据输出信号、启动转换信号、转换结束信号和数据的读取等内容。A/D转换器和系统连接时,要处理好下列问题。

本文来自www.eadianqi.com

    1、输入模拟电压的连接

自动控制网www.eadianqi.com版权所有

    A/D转换器的输入模拟电压可以是单端输入也可以是双端输入。如单通路8位A/D转换器果用单端输入的负向信号,则把VIN(+)接地,信号加到VIN(-)端。如果用双端输入,则模拟信号加在VIN(-)端和VIN(+)端之间。

自动控制网www.eadianqi.com版权所有

    ADC0808/0809可以从IN0~IN7接8路模拟电压输入,通常接成单端、单极性输入,这时(+)=5V、(-)=0V,也可以接成双极性输入ADC0804的两个输入端为VIN(-)、VIN(+),如果用单端输入的正向信号,则把VIN(-)接地,信号加到VIN(+)端;如,这时(+)和(-)应分别接+、-极性的参考电压。 本文来自www.eadianqi.com

    AD574是单端输入模拟电压,在10Vin和20Vin中任一端和AGND之间输入,可输入单极性电压或双极性电压,输入模拟电压的极性不同其输入电路也不同(参阅图5-54、图5-55)。

自动控制网www.eadianqi.com版权所有

    2、数据输出和系统总线的连接 本文来自www.eadianqi.com

    A/D转换器数据输出有两种方式,一种是A/D芯片内部带有三态输出门,其数据输出线可以直接挂到系统数据总线上去。另一种是A/D芯片内部不带三态输出门,或虽有三态输出门,但它不受外部信号控制,而是当转换结束时自动开门的,如AD570就是这种芯片,这类A/D转换器芯片的数据输出线都不能和系统数据总线直接相连接,而应外加输入缓冲器(如74LS244)或通过并行I/O接口的输入端口才能和CPU之间交换数据。 自动控制网www.eadianqi.com版权所有

    ADC0804、ADC0808/0809等的数据输出线都具有三态输出门,其8位数据输出线可以直接接到系统数据总线上去。 自动控制网www.eadianqi.com版权所有

    AD574的数据输出线也有三态输出门,可直接接数据总线。但是,它是12位输出,就有一个A/D输出数位和总线数位的对应关系问题。如果AD574直接接到16位的系统数据总线上,那么可以将AD574的数据输出按位接到数据总线上,也可以接8位数据总线,按字节分时读出,此时将接数据总线,而其低4位管脚(DB0~DB3)接到高4位上去()。通过控制信号来区别,当=0时,则允许高8位数据呈现在管脚20~27上,而当A0=l时,高8位被禁止,低4位呈现在管脚24~27上,而管脚20~23为0,这样CPU执行两条字节输入指令就可将转换后的12位数据读入。 自动控制网www.eadianqi.com版权所有

    3、A/D转换启动信号

自动控制网www.eadianqi.com版权所有

    A/D转换器是由CPU发出启动转换信号的。启动信号有电平启动和脉冲启动两种方式。如AD570、AD571、AD572等要求用电平启动信号,在整个A/D转换期间,启动电平信号不能撤消。CPU一般要通过并行接口输出端或用D触发器发出和保持有效的电平启动信号。ADC0804、ADC0808/0809和AD574都要求用脉冲启动信号。通过读/写信号或程序控制得到足够宽度的脉冲信号。

本文来自www.eadianqi.com

    4、转换结束信号及转换数据的读取 本文来自www.eadianqi.com

    A/D转换结束时,A/D转换芯片输出转换结束信号。转换结束信号也有两种:电平信号和脉冲信号。CPU检测到转换结束信号即可读取转换后数据。CPU一般可以采用3种方式和A/D转换器进行联络来实现对转换数据的读取。 本文来自www.eadianqi.com

    (1)程序查询方式:就是在启动A/D转换器工作以后,程序不断读取A/D转换结束信号,若检测到结束信号有效,则认为完成一次转换,即可用输入指令读取转换后数据。 本文来自www.eadianqi.com

    (2)中断方式:即把A/D转换器送出的转换结束信号作为中断申请信号(有时可能要外加一个反相器),送到CPU或中断控制器的中断请求输入端。

自动控制网www.eadianqi.com版权所有

    (3)是固定的延迟程序方式:用这种方式时,要预先精确地知道完成一次A/D转换需要的时间。CPU发出启动A/D命令之后,执行一个固定的延迟程序,然后发出读取数据的指令。延迟时间应略大于完成一次A/D转换所需的时间。

自动控制网www.eadianqi.com版权所有

    上述三种方式中,当A/D转换时间较长和响应要求快的复杂系统,一般选用中断方式。当A/D转换时间较短时,可用查询方式或延迟方式。实际运用中要根据具体情况选定。 自动控制网www.eadianqi.com版权所有

    例1:8位A/D转换器ADC0808/0809和CPU的连接 本文来自www.eadianqi.com

    若指定8路模拟电压输入端口地址为78H~7FH。转换结束信号以中断方式与CPU联络。采用74LSl38做输入通道地址译码器,那么,可画出ADC0808/0809和8086CPU的连接原理电路图(如图1所示)。

本文来自www.eadianqi.com

本文来自www.eadianqi.com

图1 ADC0808/0809与CPU连接例 本文来自www.eadianqi.com

    由于ADC0808/0809的数据输出带三态输出门,故可直接接到CPU数据总线上。按图1所示接线,74LSl38的环译出的地址范围正好是78H~7FH。低3位地址线A2~A0直接分别接到ADC0808/0809的采样地址输入端C、B、A上,用于选通8路输入通路中的其中一路。那么用一条输出指令即可启动某一通路开始转换(使ADC0808/0809的START端和ALE端得到一个启动正脉冲信号) 本文来自www.eadianqi.com

    CONTVl:MOV AL,00H;可以是不为00H的其他数字

本文来自www.eadianqi.com

    OUT 78H,AL;选通IN0通路并开始转换 自动控制网www.eadianqi.com版权所有

    CONTV7:MOV AL,00H; 本文来自www.eadianqi.com

    OUT 7FH,AL;选通IN7通路并开始转换

自动控制网www.eadianqi.com版权所有

    转换结束,ADC0808/0809从EOC端发出一个正脉冲信号,通过中断控制器8259A向CPU发出中断请求,CPU响应中断后,转去执行中断服务程序。中断服务程序中,执行一条输入指令,即可读取转换后数据。如执行INAL,78H,即可将已启动转换的IN0通路的转换数据读入AL中。因为执行这条指令时,使片选信号Y和读信号同时出现有效低电平,ADC0808/0809的输出允许信号端出现一正脉冲,使输出三态门开启,CPU既可读取转换后数据。 自动控制网www.eadianqi.com版权所有

    例2:AD574与8031的连接 自动控制网www.eadianqi.com版权所有

    图2为AD574与8031单片机的接口电路。由于AD574片内有时钟,故无需外加时钟信号。该电路采用单极性输入方式,可对0~10V或0~20V模拟信号进行转换。转换结果的高8位从D11~D4输出,低4位从D3~D0输出,并且直接和单片机的数据总线相连。遵循左对齐原则,D3~D0应接单片机数据总线的高半字节。为了实现启动A/D转换和转换结果的读出,AD574的片选信号由地址总线的次低位A1(P0.1)提供,在读写时,A1应设置为低电平。AD574的CE信号由单片机的和A7(P0.7)经一级或非门产生。R/则由和A7经一级或非门提供。可见在读写时,A7亦应为低电平。输出状态信号STS接P3.2端供单片机查询,以判断A/D转换是否结束。12/端接地,AD574的朋由地址总线的最低位A0(P0.0)控制,以实现全12位转换,并将12位数据分两次送入数据总线上。 自动控制网www.eadianqi.com版权所有

自动控制网www.eadianqi.com版权所有

图2 AD574与8031的接口 自动控制网www.eadianqi.com版权所有

    利用该接口电路完成一次A/D转换,并把转换结果高8位放入R2中、低8位放入R3中的工作程序如下: 本文来自www.eadianqi.com

    MAIN:MOV R0,#7CH;选择AD574,并令A0=0 本文来自www.eadianqi.com

    MOVX @R0,A;启动A/D转换,全12位 本文来自www.eadianqi.com

    LOOP:NOP 自动控制网www.eadianqi.com版权所有

    JB P3.2,LOOP;查询转换是否结束 自动控制网www.eadianqi.com版权所有

    MOVX A,@R0;读取高8位 自动控制网www.eadianqi.com版权所有

    MOV R2,A;存人R2中 自动控制网www.eadianqi.com版权所有

    MOV R0,#7DH;令A0=1 自动控制网www.eadianqi.com版权所有

    MOVX A,@R0;读取低4位,尾随4个0

自动控制网www.eadianqi.com版权所有

    MOV R3,A;存入R3中

本文来自www.eadianqi.com

    … …

自动控制网www.eadianqi.com版权所有

    例3:12位A/D转换器AD574与外部的连接

自动控制网www.eadianqi.com版权所有

    如图3所示是AD574与外部连接电路。输入模拟电压信号是双极性(-、+),所以按双极性输入接线。通过运算放大器放大后的输入直流电压的线性变化范围为 -5 ~ +5V,从10Vin端输入。AD574的端固定接+5V,恒为“1”。那么当按74LSl38译码器给AD574译得的一个偶地址执行一条输出指令时,有=0、=0、R/=0,就可启动AD574按12位转换。转换结束信号STS接至系统并行接口8255A的某一输入线上,CPU可以检测该输入线的状态,当检测到该输入线的状态由“1”变为“0”时,表示转换已结束,因12/端接DGND端,则CPU连续执行二条输入指令即可读取转换后数据。第一条输入指令按启动转换时的偶地址(=0)操作,读入的是转换后的高8位数据。第二条输入指令应按启动转换时的偶地址加1后的奇地址(Ao=1)操作,读入的是转换后的低4位数据和后跟4个“0”。

本文已影响