首页 ADC0804资料

ADC0804资料

举报
开通vip

ADC0804资料ADC0804资料 A/D 0804转换器简介 ADC0804的管脚图如下所示 图1 ADC0804架构图 它的主要电气特性如下: , 工作电压:,5V,即VCC,,5V。 , 模拟输入电压范围:0,,5V,即0?Vin?,5V。 8, 分辨率:8位,即分辨率为1/2=1/256,转换值介于0,255之间。 , 转换时间:100us(f,640KHz时)。 CK , 转换误差:?1LSB。 , 参考电压:2.5V,即V,2.5V。 ref 1.ADC0804的转换原理 ADC0804是属于连续渐...

ADC0804资料
ADC0804资料 A/D 0804转换器简介 ADC0804的管脚图如下所示 图1 ADC0804架构图 它的主要电气特性如下: , 工作电压:,5V,即VCC,,5V。 , 模拟输入电压范围:0,,5V,即0?Vin?,5V。 8, 分辨率:8位,即分辨率为1/2=1/256,转换值介于0,255之间。 , 转换时间:100us(f,640KHz时)。 CK , 转换误差:?1LSB。 , 参考电压:2.5V,即V,2.5V。 ref 1.ADC0804的转换原理 ADC0804是属于连续渐进式(Successive Approximation Method)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。 以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。 第一次寻找结果:10000000 (若假设值?输入值,则寻找位,假设位,1) 第二次寻找结果:11000000 (若假设值?输入值,则寻找位,假设位,1) 第三次寻找结果:11000000 (若假设值>输入值,则寻找位,该假设位,0) 第四次寻找结果:11010000 (若假设值?输入值,则寻找位,假设位,1) 第五次寻找结果:11010000 (若假设值>输入值,则寻找位,该假设位,0) 第六次寻找结果:11010100 (若假设值?输入值,则寻找位,假设位,1) 第七次寻找结果:11010110 (若假设值?输入值,则寻找位,假设位,1) 第八次寻找结果:11010110 (若假设值>输入值,则寻找位,该假设位,0) 这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换 器只要12次寻找,就能完成转换的动作,其中的输入值代表图1的模拟输入电压Vin。 2.分辨率与内部转换频率的计算 对8位ADC0804而言,它的输出准位共有28,256种,即它的分辨率是1/256,假设输入信号Vin为0,5V电压范围,则它最小输出电压是5V/256,0.01953V,这代表ADC0804所能转换的最小电压值。 表1列出的是8,12位A/D转换器的分辨率和最小电压转换值。 表1 A/D转换器的分辨率和最小电压值 位数目 分辨率 最小电压转换值 8 1/256 0.01953V 10 1/1024 0.00488V 12 1/4096 0.00122V 至于内部的转换频率fCK,是由图2的CLKR(19脚)、CLK IN(4脚)所连接的R()、C(150PF)来决定。 图2 ADC0804与CPLD&FPGA、8051单片机等典型连接图 频率计算方式是:fCK,1/(1.1×R×C) 若以图2的R,10KΩ、C,150PF为例,则内部的转换频率是 fCK,1/(1.1×10 KΩ×150PF),606KHz 更换不同的R、C值,会有不同的转换频率,而且频率愈高代表速度愈快。但是需要注意R、C的组合,务必使频率范围是在100KHz,1460KHz之间。 3.ADC0804的控制方法 要求ADC0804进行模拟/数字的转换,其实可以直接由下面的时序图及图2信号的流向来配合了解。 图3 ADC0804控制信号时序图 以图2、图3信号流向而言,控制ADC0804动作的信号应该只有CS、WR、RD。其中INTR由高电位转为低电位后,代表ADC0804完成这次的模拟/数字转换,而DB0,DB7代表是转换后的数字资料。 图3的动作大概可分成4个步骤区间——S0、S1、S2、S3,每个步骤区间的动作方式如下: , 步骤S0:CS,0、WR,0、RD,1(由CPLD发出信号要求ADC0804开始进行模拟/ 数字信号的转换)。 , 步骤S1:CS,1、WR,1、RD,1(ADC0804进行转换动作,转换完毕后INTR将高 电位降至低电位,而转换时间>100us)。 , 步骤S2:CS,0、WR,1、RD,0(由CPLD发出信号以读取ADC0804的转换资料)。 , 步骤S3:CS,1、WR,1、RD,1(由CPLD读取DB0,DB7上的数字转换资料)。 由上述步骤说明,可以归纳出所要设计的CPLD动作功能有: , 负责在每个步骤送出所需的CS、WR、RD控制信号。 , 在步骤S1时,监控INTR信号是否由低电位变高电位,如此以便了解ADC0804的转换 动作结束与否。 , 在步骤S3,读取转换的数字资料DB0,DB7。 下面是利用状态机控制ADC0804的程序代码: -- ******************************************** LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; --********************************************* ENTITY Ch9_2_1 is PORT( Din : IN STD_LOGIC_VECTOR(7 Downto 0); -- A/D Data In Dout : OUT STD_LOGIC_VECTOR(7 Downto 0); -- A/D Data Out CP : IN STD_LOGIC; -- CLOCK RST : IN STD_LOGIC; -- System Reset nCS,nWR,nRD: OUT STD_LOGIC; -- O/P Signal nINTR : IN STD_LOGIC -- I/P Signal ); END Ch9_2_1; --********************************************* ARCHITECTURE a OF Ch9_2_1 IS TYPE STATE_TYPE IS (S0,S1,S2,S3); --State Type Declare SIGNAL State : STATE_TYPE; --(1)State Signal Declare SIGNAL EC,nIN : STD_LOGIC; --Synchronous Control & A/D nINTR SIGNAL D : STD_LOGIC_VECTOR(7 Downto 0); --Read A/D Data BEGIN SystemConnection: Block Begin nIn <= nINTR; Dout <= D; -- A/D Data Out End Block SystemConnection; StateChange: Block Begin PROCESS (CP,RST) BEGIN IF RST = '1' Then -- Reset State nCS <= '1'; nWR <= '1'; nRD <= '1'; EC <= '0'; State <= S0; ElsIF CP'Event And CP = '1' Then CASE State IS WHEN S0 => --(2)STATE S0 & Write State nCS <= '0'; nWR <= '0'; nRD <= '1'; EC <= '0'; State <= S1; WHEN S1 => --(3)STATE S1 & A/D Conversion State nCS <= '1'; nWR <= '1'; nRD <= '1'; EC <= '0'; If nIN = '0' Then --nINTR = '0' ? State <= S2; --(7) End if; WHEN S2 => --(4)STATE S2 & Read State nCS <= '0'; nWR <= '1'; nRD <= '0'; EC <= '1'; --(9) State <= S3; WHEN S3 => --(5)STATE S3 nCS <= '1'; nWR <= '1'; nRD <= '1'; EC <= '0'; State <= S0; WHEN OTHERS => --(6)Initial State State <= S0; END CASE; ENd If; END PROCESS; End Block StateChange; ReadData: Block Begin PROCESS (CP) BEGIN IF CP'Event AND CP = '1' THEN IF EC = '1' THEN -- (8)Read State --> EC = '1' D <= Din; -- Read A/D Convertor Data END IF; END IF; END PROCESS; End Block ReadData; END a; 程序说明: (1) 首先上述程序(1)处,我们先定义共有S0,S3,4个状态。 (2) 程序(2),(6)是一个Case,when语句所构成的状态机功能结构。 (3) 在状态S1时,它是必须到ADC0804的INTR信号转为低电位时,才会通过程序(7) 将状态由S1切换至下个状态S2。 (4) 接着在状态S2的程序(9)处,将信号EC设定为高电位,这样下个脉冲信号CP 正沿时,即程序(8)处,才开始读取ADC0804的DB0,DB7管脚沙国内的数字转 换信号。
本文档为【ADC0804资料】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_037433
暂无简介~
格式:doc
大小:69KB
软件:Word
页数:0
分类:互联网
上传时间:2017-10-01
浏览量:18