双积分式A/D转换器常采用动态输出的方法,我们可以通过三态缓冲器把它的输出数据线与CPU的数据总线相连接,然后根据动态输出的时序将其逐位读入。
MC14433是3 1/2位的双积分式 A/D转换器,转换速度每秒1~10次,量程为1.999V或199.9mV,以 BCD码的形式输出,其逻辑符号如图1所示。
图1 MC14433的逻辑符号
MC14433的数据信号有:
DS1~DS4 多路选通脉冲输出,DS1为千位,DS4为个位。
Q0~Q3 BCD码输出。
-OR过量程标志输出,当|VX|>VR时,-OR为低电平。
DU 更新转换结果的输出。
EOC 转换周期结束标志。
与模拟输入有关的信号有:
R1,R1/C1,C1外接积分电阻与电容。在量程为2V时,R1=470kΩ,C1=0.1μF 。量程为200mV时,R1=27kΩ,C1=0.1μF 。
C01,C02 补偿电容,0.1μF 。
CLK0,CLK1时钟振荡器外接电阻、典型值为470 kΩ,电阻加大,时钟频率降低。
VR 基准电压输入端,选2.0V或200mV。
VX 被测电压输入端。
VAG被测电压,基准电压接地端。
VDD,VSS,VEE正负电源及接地端。
图2为输出选通脉冲的时序图。
图2 MC14433输出选通脉冲时序图
在DS1有效时输出千位数据,DS4有效时输出个位数据。每个选通脉冲宽度为18个时钟周期。两个相邻脉冲之间的间隔为2个时钟周期。
DSl有效时输出的千位数据的含义如下:Q3位表示千位,如Q3=1,则千位为0,如Q3=0,则千位为1。Q2位表示极性,Q2=1表示输入电压为正,反之为负。Q0位=1时表示超出量程范围,在Q0=1时为欠量程,Q0=0时为过量程。
MC14433可通过74LS244与 CPU的数据总线相连,其连接方法如图3所示。
图3 MC14433接口
将DU与EOC相连,这样每次A/D转换结束后,数据都被更新。EOC信号还可作为中断申请信号,在转换结束后申请中断。中断响应后即可读入数据,根据输出选通脉冲的时序,先用查询方法判断是否为DS1有效。若是DS1有效,则按Q0,Q2,Q3来决定是否超量程、信号的极性及千位为1还是0。然后等待DS2周期,读入百位数的BCD码。在DS3、DS4周期内分别读入十位和个位的BCD码。读入数据的程序流程图如图4所示。
图4 读入数据的程序流程图