ADC0809
- 格式:doc
- 大小:120.50 KB
- 文档页数:5
ADC0809
AD器件的存在必要:
在现实生活中,我们遇到的信号基本上都是离散或者说是模拟信号,比如说电压、音乐、图片、温度值等等,单片机无法直接接收这样的信号并处理,以电压为例,单片机如果想获得电压的大小,显然我们不可能直接将这根电线联在单片机的管脚上面,单片机的管脚是只能识别0V(0)或者5V(1)的。为了获得这个电压值,就必须有一种元器件将这个电压值转换成为数字信号再交给单片机来进行处理,完成这个任务的器件就被称为AD器件。
AD器件的参数说明:
AD或者DA器件最重要的参数是位数,我们经常会听到说是几位AD(DA),是指这种器件的精度,8位AD可以精确到1/256,而16位AD就可以将外部信号精确到1/65535。举例来说,一个8位的AD器件用于接收外部的0-5V信号,并进行转换成数字信号,如果是0V,则AD器件就将其变换成数字0,如果是5V就变换成数字255,可以看到这种AD可识别的精度大约是0.02V,实际上选用何种AD或DA器件要根据实际情况来定,比如声音信号差不多需要12位的AD才能比较清晰的分辨,而心电图等人体电流信号可能需要16位或更高的精度才能测量。
AD转换的原理:
AD转换原理有好多种,此处就以学习板上采用的ADC0809来说明。0809是一款8通道复用的8位AD转换器,数据获取的关键部分是它的8位模/数转换器。这个部分主要是由3部分组成:256R的阶梯网络,连续逼近的电阻,和比较器。
连续逼近电阻(SAR)通过8次迭代去大约逼近输入电压,只要输出是几位,那么就需要几次迭代。SAR通过8组开关组和比较器完成获取输入电压对应参考电压的数字信号。下图展示了一个3位转换器的典型例子,0809只是把这个位数延伸到8位而已。
学习板AD转换电路的设计:
原理图如下:
EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U1SST89E554RCC730PC630PXAL111.0592MHZRXDTXDVCCGNDP1.0P1.1P1.2P1.3P1.5P1.6P1.7RST_CPUINT0VCCVCCP1.4234567891PR15.1KF_RH_RAD0AD1AD2AD3AD4AD5AD6AD7A8A9A10A11A12A13A14A15ALERDWRT0INT1T1
A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U1474HC138OC1C111D22D33D44D55D66D77D88D91Q192Q183Q174Q165Q156Q147Q138Q12U974HC573AD0AD1AD2AD3AD4AD5AD6AD7A0A1A2A3A4A5A6A7GNDALEA15A12A13A14CS_0809CS_0832CS_E2CS_LEDCS_1CS_2CS_12887CS_E1GNDGND IN-026msb2-1212-220IN-1272-3192-418IN-2282-582-615IN-312-714lsb2-817IN-42EOC7IN-53ADD-A25IN-64ADD-B24ADD-C23IN-75ALE22ref(-)16ENABLE9START6ref(+)12CLOCK10U15ADC0809AD0AD1AD2AD3AD4AD5AD6AD7123U19A74HC02456U19B74HC02WRRDCS_0809CLK3D2SD4CD1Q5Q6U18A74HC74CLK11D12SD10CD13Q9Q8U18B74HC74VCCVCCVCCVCCALEGNDVCC123U3A74HC00W210KVCCT1 虽然ADC0809有8个输入通道,但是原理图中只使用了IN-0通道,通道的选择是有管脚ADD-A,ADD-B,ADD-C的值来决定的。所以如果由CPU控制这3个输入就可以任意切换模拟信号输入通道,从而达到8通道复用的目的。学习板上把这三个管脚都接地,即都为0,对应输入通道是IN-0通道。具体的对应关系请参考芯片手册。
因为数据获取是相对于参考电压而来的,此处参考电压的值分别是REF(+)=VCC,REF(-)=GND。所以输入的模拟信号不应该超出这个参考电压范围,否则就会超出量程。学习板上的IN-0通道输入是由一个三端电位器的中心端输入的,因此最大最小输入信号都在VCC~GND之间,不会超出量程。
下图是ADC0809的工作时序图。
从时序图可以看出,要获取AD信号,必须首先启动AD,然后等待转换结束信号,最好读取转换获得的数字信号。
在学习板上对应的操作过程是这样的:首先,由高位地址线A12~A15通过138组成译码电路产生ADC0809的片选信号CS_0809。要启动ADC0809必须首先启动ADC0809的ALE端和START端,这两个信号有CS_0809和CPU来的WR信号控制,因此要启动AD必须首先向使能CS_0809信号的对应译码地址写任意一个数值,以能给ALE和START端产生启动脉冲。这个对应的译码地址从74HC138的电路可以看出是0xF000H,事实上只要高4位地址全为1就可以。当在ADC0809的ALE和START端产生了启动脉冲后,ADC0809就进入转换工作,EOC端输出低电平,当转换完成后,EOC端会有一个上升沿,变成高电平。学习板中把EOC端输出通过一个74HC00与非门接到INT_0809信号上,这个信号通过跳线连接到CPU的INT1中断上,因此,当AD转换结束后会在CPU的INT1端产生一个下降沿中断,从而程序进入中断服务程序,开始读取数据。读数据信号要使能ADC0809的ENABLE信号,这个信号就有RD信号和CS_0809来组成,所以要读取数值,必须向ADC0809对应的译码地址发一个读命令就能获取数据线上的数据了。
大家可以注意到ADC0809的采样时钟信号CLOCK是由CPU端的ALE端通过2个D触发器4分频而产生的。ALE的输出时钟频率是六分之一的CPU晶振频率。 关于此方面的知识,可以去三毛电子世界获得更多支持。
图书馆:/souceitem/library.asp
产品支持:/shopitem/shopmain.asp
论坛:/bbsitem/indexbbs.asp