AC-DC/DC-DC转换
A/D转换就是要将模拟量V(如V=5V)转换成数字量D(如D=255)。模/数(A/D)转换的型式较多,如计数比较型、逐次逼近型、双积分型等等。在集成电路器件中普遍采用逐次逼近型,现简要介绍逐次逼近型A/D的基本工作原理。
图为逐次逼近型的结构图。这种A/D转换器是以D/A转换器为基础,加上比较器、逐次逼近寄存器、置数选择逻辑电路及时钟等组成。其转换原理如下。
在启动信号控制下,首先置数选择逻辑电路,给逐次逼近寄存器最高位置“1”,经D/A转换成模拟量后与输入模拟量进行比较,电压比较器给出比较结果。如果输入量大于或等于经D/A变换后输出的量,则比较器为1,否则为0,置数选择逻辑电路根据比较器输出的结果,修改逐次逼近寄存器中的内容,使其经D/A变换后的模拟量逐次逼近输入模拟量。这样经过若干次修改后的数字量,便是A/D转换结果的量。
现逼近型A/D大多采用二分搜索法,即首先取允许电压最大范围的1/2值与输入电压值进行比较,也就是首先最高为“1”,其余位为“0”。如果搜索值在此范围内,则再取范围的1/2值,即次高位置“1”。如果搜索值不在此范围内,则应以搜索值的最大允许输入电压值的另外1/2范围,即最高位为“0”,依次进行下去,每次比较将搜索范围缩小1/2,具有n位的A/D变换,经n次比较,即可得到结果。逐次逼近法变换速度较快,所以集成化的A/D芯片多采用上述方法。
由图可知,A/D转换需外部启动控制信号才能进行,分为脉冲启动和电平启动两种,使用脉冲启动的芯片有ADC0804、ADC0809、ADC1210等。使用电平启动的芯片有ADC570、ADC571、ADC572等。这一启动信号由CPU提供,当A/D转换器被启动后,通过二分搜索法经n次比较后,逐次逼近寄存器的内容才是转换好的数字量。因此,必须在A/D转换结束后才能从逐次逼近寄存器中取出数字量。为此D/A芯片专门设置了转换结束信号引脚,向CPU发转换结束信号,通知CPU读取转换后的数字量,CPU可以通过中断或查询方式检测A/D转换结束信号,并从A/D芯片的数据寄存器(即图10-9中逐次逼近寄存器)中取出数字量。
ICL7109的接口电路较强,输出为12位二进制数。其特点是:可与TTL电路兼容;具有三态控制输出;有通用信号控制端,可方便监视转换;有极性和溢出位;片内有振荡器,UART异步收发数据交换;可串行、并行接口;差分输入,差分基准电压使其具有较低噪声和较小误差;带有防静电保护功能;类似型号有TSC7109,ADC7109。模拟部分接线图:
通常A/D转换都需使用A/D转换芯片来实现,MC9S12XS128MAL是飞思卡尔公司HCS12系列16位单片机中的一种,它有8kB的RAM、128kB的片内闪存(FlashEEPROM)、2kB的电可擦写可编程只读存储器(EEPROM)及多种功能的接口,MC9S12XS128内置的A/D模块是16通道、12位精度、多路输入复用、逐次逼近型的模数转换器,故可省去使用A/D转换芯片而设计的硬件电路,可降低成本,提高了系统的稳定性及可靠性。但单片机的模拟输入端只能接受单极正向模拟信号,不能直接进行双极模拟信号的模数转换,为此必须把双极模拟信号转换成单极正向模拟信号。在一般的设计中,常常要把形如-ui-+ui的双极型模拟信号通过电位平移电路转换成0~5V单极信号,而这种平移电路会使得A/D转换的精度降低一倍,而且稳定性也降低。而文中采用对称电路设计,使得单片机可接收的A/D信号由0~5V扩大到-5~+5V,A/D转换的量程扩大了1倍,稳定性也大幅提高。
当输入的信号经放大电路放大后,若信号为正,则二极管1截止,信号无损失地从AD0口输入,同时正的信号经反相器反相后变成负的信号,二极管2导通,所以AD1口接收到的信号为二极管2的正向导通压降的负值,只要这个负值电压的幅度小于A/D口输入的允许值,则由此口采集的A/D值就为0,因此在这种情况下的A/D值就是AD0口的值;
反之,当输入的信号为负值时,二极管1导通,AD0口接收的数据为0,而经反相器反相后的信号为正,二极管2截止,AD1口接收数据。
若AD=AD0-AD1,当信号为正时,AD=AD0-0,为正;当信号为负时,AD=0-AD1,为负。此时,AD可接收的数据由原来的0~5V扩展为-5~+5V。
若从线性度考虑,应该选择正向压降高的二极管,例如1N4007。但1N4007的正向压降约为0.7V,当二极管导通时,对应的A/D口所接收到的信号为-0.7V,这会烧毁单片机,所以从安全性考虑应该选择压降较低的二极管进行实验。PMEG2010的压降约为0.1V,1N60的压降约为0.2~0.3V,均能保护好单片机不被烧坏。在安全性的前提下,分别测量数据分析二极管的线性度。
D/A转换电路由‘DAC0832及运算放大器LM358等组成,有两个糟出通道,采用单极性电压输出。数字输出范围为:OOH—FFH,对应电压输出范围为;O—5v。对电阻炉的温度进行控制,其中5v对应200℃.ov对应0℃。DAC0832的地址为288H~28BH,参考电压接稳压块7805的输出+5v,前一级运算放大器输出为0~-5v.第二级运算放大器输出为0—+5v。
给大家提供一种实用的用普通单片机实现的A/D转换电路,它只需要使用普通单片机的2个I/O脚与1个运算放大器即可实现,而且它可以很容易地扩展成带有4通道A/D转换功能,由于它占用资源很少,成本很低,其A/D转换精度可达到8位或更高,因此很具有实用价值。
1、硬件说明:
图一中“RA0”和“RA1”为单片机的两个I/O脚,分别将其设置为输出与输入状态,在进行A/D转换时,在程序中通过软件产生PWM,由RA0脚送出预设占空比的PWM波形。RA1脚用于检测比较器输出端的状态。
R1、C1构成滤波电路,对RA0脚送出的PWM波形进行平滑滤波。RA0输出的PWM波形经过R1、C1滤波并延时后,在U1点产生稳定的电压值,其电压值U1=VDD*D1/(D1+D2),若单片机的工作电压为稳定的+5V,则U1=5V*D1/(D1+D2)。
图一中的LM324作为比较器使用,其输入负端的U1电压与输入正端的模拟量电压值进行比较,当U1大于模拟量输入电压时,比较器的输出端为低电平,反之为高电平。
2、A/D转换过程:
如果使RA0输出PWM波形,其占空比由小到大逐渐变化,则U1的电压会由小到大逐渐变化,当U1电压超过被测电压时,比较器的输出端由高电平变为低电平,因此可以认为在该变化的瞬间被测的模拟量与U1的电压相等。
由于U1的电压值=VDD*D1/(D1+D2),当VDD固定时,其电压值取决于PWM波形的占空比,而PWM的占空比由单片机软件内部用于控制PWM输出的寄存器值决定,若软件中用1个8位寄存器A来存放RA0输出的PWM的占空比值D1,因此在RA1检测到由“1”变为“0”的瞬间,A寄存器的值D1即为被测电压的A/D转换值,其A/D转换结果为8位。如果用16位寄存器来作输出PWM的占空比,则A/D转换值可达到16位。
本次设计选用高性能7/2位A/D转换器件MC14433,其片内含有振荡器,只要外接两只电容和两只电阻即可,在此选其输出量程为199.9mV。MC14433的输出信号端中Q0~Q3为BCD码数据输出端,DS1~DS4分别是千位、百位、十位和个位数的输出选通信号。通过调节电阻R的阻值可以使得MC14433的输出BCD码与输入电压相同。其中MC1403是精密电源为MC14433提供可靠的参考电压。
全部0条评论
快来发表一下你的评论吧 !