首页 第6章 FPGA的模数数模转换模块设计

第6章 FPGA的模数数模转换模块设计

举报
开通vip

第6章 FPGA的模数数模转换模块设计 1 第 6章 FPGA的模数/数模转换模块设计 6.1 DAC0832数模转换电路及程序设计 本节介绍以 D/A芯片 DAC0832为核心组成的数模转换模块�可以完成双缓冲的八位数 模转换。 6.1.1 DAC0832的功能描述 1� DAC0832的主要性能 DAC0832是 8位的四象限乘法型 D/A芯片�采用 CMOS工艺和 R�2R的 T形电阻解 码网络�数据输入能以双缓冲、单缓冲或直接通过三种方式工作�输入电平与 TTL、CMOS 兼容�转换结果输出为一对差动电流...

第6章  FPGA的模数数模转换模块设计
1 第 6章 FPGA的模数/数模转换模块设计 6.1 DAC0832数模转换电路及程序设计 本节介绍以 D/A芯片 DAC0832为核心组成的数模转换模块�可以完成双缓冲的八位数 模转换。 6.1.1 DAC0832的功能描述 1� DAC0832的主要性能 DAC0832是 8位的四象限乘法型 D/A芯片�采用 CMOS工艺和 R�2R的 T形电阻解 码网络�数据输入能以双缓冲、单缓冲或直接通过三种方式工作�输入电平与 TTL、CMOS 兼容�转换结果输出为一对差动电流 I 01 和 I 02 �其主要性能参数为� (1) 分辨率�8位。 (2) 单电源供电��5V��15V�低功耗�20mW。 (3) 参考电压��10V��10V。 (4) 转换时间�1μ S。 (5) 满刻度误差�±1LSB。 (6) 数据输入电平与 TTL电平兼容。 2� DAC0832的引脚功能 DAC0832采用 DIP封装的引脚封装形式如图 6.1.1所示。 图 6.1.1 DAC0832的引脚封装图 DAC0832的引脚功能描述如表 6.1.1所示。 表 6.1.1 DAC0832的引脚功能表 引脚名称 功能描述 cs 片选�低电平有效�与 ILE一起控制 1WR 使能 ILE 输入锁存器使能�高电平有效�与 CS 一起控制 1WR 使能 1WR 1 路写入�当 1WR 为低电平时�加载数字输入信号给输入 锁存器�当 WR1 为高电平�输入锁存器的数据锁存。要更 新输入锁存器�当 ILE为高电平时�CS和WR1必须为低 电平。 2WR 2路写入�低电平有效�此信号与 XFER 信号一起使输入寄 存器中的八位有效数据传输至 DAC寄存器。 XFER 传输控制信号�低电平有效� 2WR 的使能信号。 2 DI 0 �DI 7 数字输入� I out1 DAC直流输出 1 I out2 DAC直流输出 2 R fb 反馈电阻 V REF 参考电压输入 V CC 数字电源电压 GND 电源地 3� DAC0832的内部结构 DAC0832内部由三部分电路组成�“8位输入寄存器”、“8位 DAC寄存器”、“8位 D/A 转换电路”�D/A转换由 8位 T型电阻网络和电子开关组成�如图 6.1.2所示。 图 6.1.2 DAC0832的内部原理框图 8位输入寄存器为第一级锁存器�它的锁存信号为 ILE。当 ILE为高电平、 CS 、 WR1 和 WR2 为低电平时�这种情况下�输入寄存器的输出随输入而变化。此后�CS 由低变高时� ILE变为低电平�此时�数据被锁存到输入寄存器中。 8位 DAC寄存器为第二级锁存器�它的锁存信号也称为通道控制信号。 2WR 和 XFER 同时为低电平时�ILE 为高电平�这时�8 位的 DAC 寄存器的输出随输入而变化�此后� 当WR2由低变高时�ILE变为低电平�将输入寄存器的信息锁存到 DAC寄存器。 4� DAC0832的工作时序 DAC0832的工作时序如图 6.1.3所示。D0-D7数据输入后�在 ILE=1� CS =0时� 1WR 由低电平向高电平转换时�数据被锁存在 8位输入寄存器中。 XFER 和 2WR 同时为 0时� 数据被加到变换寄存器上�开始产生模拟输出。 若 XFER 和 WR2 均接地�第二级锁存器总是导通的�而 ILE接高电平时�只要 D0-D7 写入一个数据�同时给CS和WR2送一个选通脉冲�即可完成一次新的变换。 如果系统中接有多片 DAC0832�且要求各片的输出模拟量�在一次新的变换中同时发 生变化�即各片的输出量在同一时刻发生变化�则可以分别利用 CS 、 WR1 和 ILE 信号将 各路要变换的数据送入各自的第一级输入寄存器中�然后在所有芯片的WR2和 XFER 端� 同时加一个负脉冲�这样在 WR2 的上升沿�数据将由各输入寄存器锁存到 DAC寄存器中� 从而实现多片的同时变换输出。 3 图 6.1.3 DAC0832的工作时序图 6.1.2 DAC0832的接口电路 DAC0832的数据输入能以双缓冲、单缓冲或直接通过三种方式工作。 直通工作方式�输入寄存器和 DAC寄存器都接成直通方式。此时提供给 DAC的数据� 必须来自锁存端口( WR1 = WR2 =0)。 单缓冲工作方式�控制输入寄存器和 DAC寄存器同时跟随或锁存数据�或只控制这两 个寄存器之一�而另一个接成直通方式。此方式适用于只有一路模拟量输出或几路模拟量非 同步输出的情形。 双缓冲工作方式�分别控制输入寄存器和 DAC寄存器�此方式适用于多路 D/A同时输 出的情形�使各路数据分别锁存于各输入寄存器�然后同时�相同控制信号�打开各 DAC 寄存器、实现同步转换。 DAC0832 芯片直接输出的是电流信号�为转换成电压输出�常采用单极性和双极性两 种连接方式�如图 6.1.4所示。 a.反相输出电路 b.同相输出电路 �1�单极性输出电路 �2�双极性输出电路 图 6.1.4 DAC0832的输出电路图 4 DAC0832与 FPGA的接口电路如图 6.1.5所示。 图 6.1.5 DAC0832与 FPGA的接口电路图 6.1.3 DAC0832的程序设计 以数字信号发生器为例�本设计以 FPGA 为核心�控制输出存储器中 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 波形的数字 编码�然后经过 DA转换和滤波�产生频率和幅值都可调的矩形波、三角波、锯齿波和正弦 波。 1� DAC0832的程序设计 --文件名�top.vhd --功能�实现数字信号发生器。 --说明� 通电后系统首先进行初始化�默认输出信号为 5KHz的方波信号。然后总控制模块检 测有无按键输入�如无按键输入�就按照默认值产生信号输出。如有按键输入�就将按键信 号送按键去抖模块去抖动�得到稳定的控制信号�根据控制信号�选择不同的波形和不同的 频率�产生不同的波形数据编码�然后通过 DAC0832进行数模转换得到模拟波形�再经滤 波后即可得到所需的波形。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity top is -- 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 信号发生器 Port (clk,rst,add,sub,bx:in std_logic; rs,wr,e:out std_logic; data_lcd:inout std_logic_vector(7 downto 0); data:out std_logic_vector(7 downto 0); xfer,wr2,ile,cs:out std_logic); end top; architecture Behavioral of top is 5 component anjianqd is --按键去抖 Port (clk,key:in std_logic; keyo:out std_logic ); end component anjianqd; component bianpin is --变频 Port (clk,sub,add,rst:in std_logic; count:out std_logic; conn:out integer range 1 to 25 ); end component bianpin; component bxsj is --波形数据 Port (rst,clk:in std_logic; ss:in std_logic_vector(1 downto 0); data:out std_logic_vector(7 downto 0) ); end component bxsj; component bxzh is --波形转换 Port (clk,rst,key:in std_logic; ss:out std_logic_vector(1 downto 0) ); end component bxzh; component dd is Port (clk,rst:in std_logic; rs,wr,e:out std_logic; bx:in std_logic_vector(1 downto 0); --波形 freq:in integer range 1 to 25; --频率 data:inout std_logic_vector(7 downto 0) ); end component dd; signal add1,sub1,bx1:std_logic; signal clk1:std_logic; signal ss1:std_logic_vector(1 downto 0); signal con:integer range 1 to 25; begin u1:anjianqd port map(clk=>clk,key=>add,keyo=>add1); u2:anjianqd port map(clk=>clk,key=>sub,keyo=>sub1); u3:anjianqd port map(clk=>clk,key=>bx,keyo=>bx1); u4:bianpin port map(clk=>clk,rst=>rst,conn=>con,add=>add1,sub=>sub1,count=>clk1); u5:bxsj port map(clk=>clk1,rst=>rst,ss=>ss1,data=>data); u6:bxzh port map(clk=>clk,rst=>rst,key=>bx1,ss=>ss1); u7:dd port map(clk=>clk,rst=>rst,rs=>rs,wr=>wr,e=>e,bx=>ss1,freq=>con,data=>data_lcd); xfer<='0';wr2<='0';ile<='1';cs<='0'; end Behavioral; 6 2� DAC0832的程序仿真 DAC0832的程序仿真如图 6.1.6所示。 图 6.1.6 DAC0832的程序仿真图 6.2 TLC7524数模转换电路及程序设计 本节介绍以 D/A芯片 TLC7524为核心组成的数模转换模块�可以完成与数字信号处理 接口的快速八位数模转换。 6.2.1 TLC7524的功能描述 1� TLC7524的主要性能特点 TLC7524是 8位乘法型 DAC�具有输入锁存以及与随机存取存储器写周期相类似的装 载周期。分段高阶位可使最高有效位变化期间内的闪变为最小�该变化会产生最高闪变脉冲。 器件可提供 1/2 LSB的精度而无需薄膜电阻或激光微调�采用 5V至 15V单电源工作�其功 耗典型值小于 5mW。该器件的主要性能特点如下� �1�易于与微处理器接口。 �2�片内数据锁存。 �3�在整个 A/D转换范围内单调变化。 �4�分段的高阶位可确保低闪变输出。 �5�可以和模拟器件 AD7524、PMI PM-7524以及微功率系统 MP7524互换使用�适合于 包括与 TMS320接口的数字信号处理应用的快速控制信号。 �6�CMOS工艺制造。 �7�分辨率为 8位�线性度误差为 1/2 LSB�在 V DD =5V时�最大功耗为 5mW。 2� TLC7524的引脚功能 TLC7524采用 DIP封装的引脚封装形式如图 6.2.1所示。 图 6.2.1 TLC7524的引脚封装图 7 TLC7524的引脚功能描述如表 6.2.1所示。 表 6.2.1 TLC7524的引脚功能表 引脚名称 功能描述 CS 片选 WR 读写信号 R EF 参考电压输入 R FB 反馈电阻 OUT1 模拟输出 1 OUT2 模拟输出 2 DB 0 �DB 7 8位数字信号输入 V DD +5V电源 GND 电源地 3� TLC7524的内部结构 TLC7524 是 8 位乘法型 DAC�它包括反相 R-2R 梯形网络、模拟开关以及数据输入锁 存器�其内部原理框图如图 6.2.2所示。 图 6.2.2 TLC7524的内部原理框图 二进制加权的电流在 OUT1 和 OUT2 总线之间切换�于是在每一梯形网络分支内保持 恒定的电流而与开关状态无关。高阶位被译码�这些译码后的位�通过 R-2R梯形网络的变 换�控制 8个等权量的电流源。大多数应用只要求另加外部运算放大器和电压基准。 4� TLC7524的工作时序 TLC7524 通过数据总线以及 CS 和 WR 控制信号与微处理器接口。当 CS 和 WR 二 者均为低时�TLC7524的模拟输出与 DB0~DB7数据总线输入端的数据活动相对应�在此方 式下�输入锁存器是透明的�输入数据直接影响模拟输出。当 CS 和 WR 信号变为高电平时� DB0~DB7输入端上的数据被锁存�直到 CS 和 WR 信号再次变为低电平为止。当 CS 为高电 平时�不管 WR 信号的状态如何�数据输入都无效。 TLC7524的工作时序如图 6.2.3所示。 8 图 6.2.3 TLC7524的工作时序图 6.2.2 TLC7524的接口电路 1� 所有数字输入相同时的等效电路 在所有数字输入为低的情况下�全部基准电流 I ref 切换至 OUT2�如图 6.2.4所示。电流 源 I/256 代表流过 R-2R 梯形网络端电阻的恒定电流�而电流源 I Lkg 代表基片漏电流。呈现 在 OUT1 和 OUT2 的电容取决于数字输入代码。在所有数字输入为高的情况下�断开状态 开关电容(最大为 30pF)呈现在 OUT2�而接通状态开关电容(最大为 120pF)呈现在 OUT1。 在所有数字输入为低时�情况与上述相反。所有数字输入为高的电路的 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 与图 6.2.4相类 似�但是�在此情况下�I ref 将切换至 OUT1。 图 6.2.4 所有数字输入为低时的等效电路图 2� 电压工作模式 TLC7524可以用电压方式实现电流乘法型 DAC。在电压方式下�固定电压加在电流输 出端�即可在基准电压端产生模拟输出电压�如图 6.2.5所示。 图 6.2.5 电压工作模式图 3� 乘法运算模式 TLC7524 可以实现单极性 2 象限和双极性全 4象限乘法。单极性 2 象限乘法的电路接 法如图 6.2.6所示�双极性 4象限乘法的电路接法如图 6.2.7所示。 9 图 6.2.6 单极性 2象限乘法的电路接法图 图 6.2.7 双极性 4象限乘法的电路接法图 单极性和双极性运用的输入码分别如表 6.2.2和 6.2.3所示。 表 6.2.2 单极性输入码表 数字输入 LSB=1/256(V ref ) 模拟输出 MSB LSB 11111111 �V ref �255/256� 10000001 �V ref �129/256� 10000000 �V ref �128/256�=�V ref /2 01111111 �V ref �127/256� 00000001 �V ref �1/256� 00000000 0 表 6.2.3 双极性输入码表 数字输入 LSB=1/128(V ref ) 模拟输出 MSB LSB 11111111 �V ref �127/128� 10000001 �V ref �1/128� 10000000 0 01111111 �V ref �1/128� 00000001 �V ref �127/128� 00000000 �V ref 10 4�TLC7524 与 FPGA的接口电路 FPGA与 TLC7524的接口电路如图 6.2.8 所示。FPGA_IO1~8为 TLC7524提供 8位并 行数据。TLC7524的CS、WR都是低电平有效�直接接地�使 TLC7524一直工作在正常 模式�在逻辑设计时�只要输入时钟信号和并行数据即可得到模拟输出。 图 6.2.8 FPGA与 TLC7524的接口电路图 6.2.3 TLC7524的程序设计 以设计一个简易的正弦波发生器为例说明 TLC7524的程序设计�先将正弦波量化成 64 个点数据��量化成多少个数据可变�量化得越多�量化误差越小�但程序量越大��TLC7524 是 8位的 D/A转换器�所以每个点的数据长度为 8位�其转换周期为 100ns�FPGA的系统时 钟为 50MHz�必须对其进行分频处理,这里进行 5分频�得到的正弦波的频率为 156.25KHz。 1� TLC7524的程序设计 --文件名�TLC7524.VHD --功能�产生 156.25KHz的正弦波。 library ieee; use ieee.std_logic_arith.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity TLC7524 is port( clk :in std_logic; --系统时钟 rst :in std_logic; --复位信号 data_out:out std_logic_vector(7 downto 0)); --波形数据 end TLC7524; architecture behav of TLC7524 is signal b:integer range 0 to 63; --地址计数器 signal q:integer range 0 to 4; --计数器 signal d:integer range 0 to 255; --波形数据寄存器 begin 11 process(clk) --此进程通过对系统时钟的分频�完成的地址计数器的循环计数 begin if rst='1' then b<=0; --复位时�对地址寄存器清零 elsif clk'event and clk='1' then if q=4 then q<=0; --此 IF语句完成对系统时钟的 5分频 if b=63 then b<=0; --此 IF语句完成对地址的循环计数 else b<=b+1; end if; else q<=q+1; end if; end if; end process; process(b) --此进程存储了正弦波 64个采样点的波形数据 begin case b is when 00=> d<=255 ; when 01=> d<=254 ;when 02=> d<=252 ;when 03=> d<=249 ; when 04=> d<=245 ; when 05=> d<=239 ;when 06=> d<=233 ;when 07=> d<=225 ; when 08=> d<=217 ; when 09=> d<=207 ;when 10=> d<=197 ;when 11=> d<=186 ; when 12=> d<=174 ; when 13=> d<=162 ;when 14=> d<=150 ;when 15=> d<=137 ; when 16=> d<=124 ; when 17=> d<=112 ;when 18=> d<= 99 ;when 19=> d<= 87 ; when 20=> d<= 75 ; when 21=> d<= 64 ;when 22=> d<= 53 ;when 23=> d<= 43 ; when 24=> d<= 34 ; when 25=> d<= 26 ;when 26=> d<= 19 ;when 27=> d<= 13 ; when 28=> d<= 8 ; when 29=> d<= 4 ;when 30=> d<= 1 ;when 31=> d<= 0 ; when 32=> d<= 0 ; when 33=> d<= 1 ;when 34=> d<= 4 ;when 35=> d<= 8 ; when 36=> d<= 13 ; when 37=> d<= 19 ;when 38=> d<= 26 ;when 39=> d<= 34 ; when 40=> d<= 43 ; when 41=> d<= 53 ;when 42=> d<= 64 ;when 43=> d<= 75 ; when 44=> d<= 87 ; when 45=> d<= 99 ;when 46=> d<=112 ;when 47=> d<=124 ; when 48=> d<=137 ; when 49=> d<=150 ;when 50=> d<=162 ;when 51=> d<=174 ; when 52=> d<=186 ; when 53=> d<=197 ;when 54=> d<=207 ;when 55=> d<=217 ; when 56=> d<=225 ; when 57=> d<=233 ;when 58=> d<=239 ;when 59=> d<=245 ; when 60=> d<=249 ; when 61=> d<=252 ;when 62=> d<=254 ;when 63=> d<=255 ; when others=> null; end case; end process; data_out<=conv_std_logic_vector(d,8); --正弦波波形数据输出 end behav; 2� TLC7524的程序仿真 6.3 AD9740数模转换电路及程序设计 12 本节介绍以 D/A芯片 AD9740 为核心组成的数模转换模块�可以完成高达 165Msps的 快速十位数模转换。 6.3.1 AD9740的功能描述 1� AD9740的主要性能 AD9740是宽频带、低功耗、高性能的 TxDAC系列的第三代产品成员中的高速 10位数 模转换器。当刷新速率达到 165Msps时�AD9740具有极好的交直流性能。分级的电流源结 构和专门的整流技术相结合�减少了虚伪成分、提高了动态性能。边沿触发锁存和 1.2V的 温度补偿带隙基准电压综合在一起�提供了完整的单片集成的 DAC解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。数字输出支 持 3V的 CMOS逻辑电平。AD9740的主要性能特点如下� �1�AD9740是引脚兼容的 TxDAC系列中的一种 10位数模转换器�有极好的 INL和 DNL性能。 �2�数据输入支持二进制补码和直接二进制码。 �3�高速、单端的时钟输入支持 165Msps的转换数率。 �4�低功耗�工作电压为 3.3V到 3.6V、功耗为 135mW时�有完整的 CMOS DAC功 能�低于满量程电流输出时�可低功耗运行�空闲时�可提供更低功耗的睡眠模式。 �5�片上基准电压�AD9740内置了一个 1.2V的温度补偿带隙基准电压。 �6�采用工业标准的 28脚 SOIC和 TSSOP封装。 2� AD9740的引脚功能 AD9740采用 SOIC和 TSSOP封装的引脚封装形式如图 6.3.1所示。 图 6.3.1 AD9740的引脚封装图 AD9740的引脚功能描述如表 6.3.1所示。 表 6.3.1 AD9740的引脚功能表 引脚功能 引脚名 功能描述 DB9 数据的最高位 DB8-DB1 数据的第 8位-第 1位 DB0 数据的最低位 NC 空脚�内部没有连接 SLEEP 低功耗模式控制输入脚�高电平有效 REFLO 基准电压控制脚�此引脚接AGND即表示使用内部1.2V的基准电压� 此引脚接AVDD即表示使内部基准电压无效 REFIO 基准电压输入/输出脚�当内部基准无效时此引脚作为外部基准电压的 13 输入引脚。当内部基准电压有效时�此引脚作为内部基准电压 1.2V 的输出引脚。使用内部基准电压时此引脚需要通过一个 0.12uF的电容 接 AGND FS ADJ 最大输出电流调整脚 NC 空脚�内部没有连接 ACOM 模拟地脚 IOUTB 互补电流输出脚�当数据全为 0时有电流输出最大 IOUTA 互补电流输出脚�当数据全为 1时有电流输出最大 RESERVED 保留脚�不连接地和电源 AVDD 模拟电源脚(3.3 V) MODE 输入数据格式选择脚�接DGND表示输入数据格式为二进制�接DVDD 表示数据格式为二进制补码 DCOM 数字地脚 DVDD 数字电源脚(3.3 V) CLOCK 时钟输入脚�上升沿数据被锁存 3� AD9740的内部结构和功能描述 AD9740的内部原理框图如图 6.3.2所示。 图 6.3.2 AD9740的内部原理框图 ADC9740 由一个 DAC、一个数字控制逻辑和一个满量程电流输出控制器组成。这个 DAC 包括一个 PMOS 电流源阵列�由 31 个相等的电流源组成�能够提供达 20mA 的满量 程输出电流(IOUTFS)�组成了 5个最高位�MSBs�。接下来的 4位或中间四位由 15个相等 的电流源组成�它们的值为一个MSB电流源的 1/16。这些最低位�LSBs�是中间位电流源 的二进制剩余的部分。用电流源来实现中间位及更低位的控制�代替了 R-2R的阶梯�对于 多频声和小幅度信号来说加强了它的动态性能�且保持了高输出阻抗(例如>100 kΩ)。 所有的这些电流源通过 PMOS 微分电流转换开关被转换到这两个输出(IOUTA 或 IOUTB)中的一个或另一个输出节点上。这些转换开关基于 AD9740 家族中的领先结构�通 过改进进一步减少了由开关瞬间引起的失真。这种开关转换结构也减少了各种各样的延时误 差�且给微分电流转换开关的输入提供了匹配的补偿驱动信号。 14 AD9740的数字部分和模拟部分有各自独立的供电输入(AVDD和DVDD)�在 3.3V到 3.6V 的工作电压范围内�它们可以独立的运行。数字部分工作时钟频率可以达到 165MSPS�它 包括边沿触发锁存器和分段的译码逻辑电路。模拟部分包括 PMOS 电流源、相关的差分转 换开关、1.2V的带隙基准电压和一个基准电压的控制运放。 基准电压的控制运放可控制 DAC的最大输出电流�通过一个外接电阻 RSET可以设置 它为 2mA到 20mA�这个电阻连接到芯片的最大输出电流调整脚(FSADJ)。这个外部电阻和 基准电压�VREFIO�以及基准电压控制运放一起控制基准电流 IREF�IREF以恰当的缩放 比例反映到分段电流源的输出电流上。最大输出电流 IOUTFS是 IREF的 32倍。 �1� 基准电压的操作 AD9740 内置了内部 1.2V 的带隙基准电压。把 REFLO 接到 AVDD 可以使内部基准无 效。同时�不使用外部基准对 AD9740的性能也没有影响�而且比较容易实现。使用内部或 外部基准时�相应的 REFLO 作为输入或输出。使用内部基准时�可以简单地在 REFLO 脚 和 ACOM 之间接一个 0.1µF 的电容�起去耦合的作用�同时要通过一个小于 5Ω的电阻把 REFLO接到ACOM。REFIO引脚上输出的即为内部基准电压。如果其他电路中使用了REFIO 引脚的电压�就还需要一个外部缓冲运放�这个运放的输入偏置电流应当小于 100nA。使用 内部基准电压的例子如图 6.4.4所示。 图 6.3.3 内部基准配置 外部基准既可以提供一个固定的基准电压以提高精度和漂移性能�也可以提供一个可变 的电压以作为增益控制。值得注意的是当不使用内部基准时�就不需要 0.1µF的补偿电容� 且与 REFIO 相关的高输入阻抗对任何的外部基准负载降到了最低。使用外部基准电压的例 子如图 6.4.5所示。 图 6.3.4 外部基准配置 �2� 基准控制运放 15 AD9740 内置了一个控制运放�作为一个电压-电流转换器�用于控制满量程输出电流 IOUTFS。控制运放的输出电流 IREF由 VREFIO和 RSET的比率决定�如式 6.3.4中所述。IREF通 过以一个合适的比例因数分流到分段电流源来设置 IOUTFS�如式 6.3.3中所述。 控制运放有很宽的调节范围�在 62.5μ A和 625μ A之间设置 IRE的值可以控制 IOUTFS 从 1mA到 20mA变化。IOUTFS的宽调节范围有几个有利之处�首先�它直接关系到 AD9740 的功耗�AD9740的功耗与 IOUTFS的大小成比例(涉及电源功耗部分)。其次�它关系到 20dB 的调节器�这对于系统的增益控制是很有帮助的。基准控制运放的小信号带宽大约为 500kHz�且能用于低频小信号的乘法应用。 �3� DAC的传输函数 AD9740的两个 DAC提供互补电流输出 IOUTA 和 IOUTB。当所有输出都为高电平(也就 是DAC CODE = 1023)时 IOUTA提供一个几乎满量程的电流输出 IOUTFS�而 IOUTB为互补输出� 电流为零。IOUTA 和 IOUTB是输入编码和 IOUTFS的函数�如式所示� OUTFSOUTA I DACCODE I �� ) 1024 ( �式 6.3.1� IOUTFS DACCODE IOUTB � � � ) 1024 1023 ( �式 6.3.2� 式中�DAC CODE从 0到 1023 (也就是十进制数)。 IOUTFS是基准电流 IREF的函数。显然�IREF由基准电压 VREFIO和外部电阻 RSET 设置�如式� I R E FI OUT F S �� 32 �式 6.3.3� 式中� R S E T V R E F I O I R E F� �式 6.3.4� 典型情况下�这两个输出电流直接驱动一个负载或是通过一个变压器。如果要求直流耦 合�IOUTA 和 IOUTB应该直接连接一个匹配电阻 RLOAD�这个电阻另一端接到模拟公共 端 ACOM。 要注意的是�当双端输出连接为 50Ω或 75Ω的电缆时�RLOAD将被 IOUTA 或 IOUTB 视为等价的负载电阻。IOUTA和 IOUTB输出节点的电压计算比较简单。 RLOADIOUTAVOUTA �� (式 6.3.5) RLOADIOUTBVOUTB �� (式 6.3.6) 应该注意�满量程输出不应该超过指定的范围�以确保失真和线性性能。 RLOADIOUTBIOUTAVDIFF ��� )( (式 6.3.7) 替换 IOUTA、 IOUTB和 IREF�VDIFF可以表示为� VREFIO RSET RLOADDACCODE VDIFF � � � � � � � � � � � � � � � �� � 32 1024 )10232( (式 6.3.8) 式 6.3.8 表明了 AD9740采用差分操作的优势。首先�差分操作联合 IOUTA和 IOUTB 有利于消除共模误差源�如噪声、失真和直流偏置。第二�由电流和输出电压决定的差分代 码值 VDIFF是单端电压输出值的两倍�因此能给负载提供两倍的信号功率。 注意�对于 AD9740的单端输出(VOUTA 和 VOUTB)或微分输出(VDIFF)�根据式 6.3.8 中所示的比例关系�为 RLOAD 和 RSET选择温度跟踪电阻可以提高增益漂移温度性能。 16 �4� 数字输入 AD9740的数字部分由 10位数据输入通道和一个时钟输入组成�10位并行数据输入以 标准的正二进制进行编码�DB9 为最高位�DB0 为最低位。当所有输入数据位都为逻辑 1 时�IOUTA产生满量程输出电流�当 IOUTA和 IOUTB的输出都要作为输入时�IOUTB也 将输出补码形式的满量程电流。AD9740的等效输入电路如图 6.3.5所示。 图 6.3.5 AD9740的等效输入电路图 数字化交换是利用边缘触发主/从锁存器来实现的。DAC输出在时钟的上升沿更新�并 可达到 165MSPS的更新频率。能满足指定的锁存器脉宽的任意占空比时钟信号都可进行操 作�同样�在满足最小额定时间的情下�在时钟周期内建立和保持的时间也可以多种多样� 但这些转换边沿的位置将会影响数字馈通和失真性能。典型情况下�输入数据的转换在占空 比为 50%的时钟周期的下降沿完成将有最优的性能。 �5� 模拟输出 每个 DAC 的互补电流输出 IOUTA 和 IOUTB 可以设置为单端或差分工作方式。通过 一个负载电阻 RLOAD 可以使 IOUTA 和 IOUTB 转化为互补单端电压输出 VOUTA 和 VOUTB。通过一个传输变压器或差分运放结构�可以把 VOUTA 和 VOUTB中的差分电压 VDIFF转化为单端电压。AD9740的交流特性适用于且被指定用于一个耦合输出的差分传输 变压器�在传输变压器中的 IOUTA 和 IOUTB的波动被限制在±0.5V。 利用运放差分输出的连接电路如图 6.3.6所示。利用运放的单电源差分输出的连接电路 如图 6.3.7所示。单极性缓冲电压输出的连接电路如图 6.3.8 所示。13.0V到 0.5V无缓冲连 接电路如图 6.3.9所示。 图 6.3.6 利用运放差分输出的电路图 17 图 6.3.7 利用运放单电源差分输出的电路图 图 6.3.8 单极性缓冲电压输出的电路图 图 6.3.9 13.0V到 0.5V无缓冲电压输出的电路图 AD9740设置成差分工作时�提高了失真和噪声性能。利用传输变压器或差分运放的共 模抑制功能使 IOUTA 和 IOUTB 的共模误差大大地减少。这些共模误差源包括 even-order 失真积和噪声。对于重建波形来说�提高失真性能和增加频率成分或者降低幅度一样有意义。 可以将各种动态共模失真机制、数字馈通和噪声在第一时间消除。 通过传输变压器实现差分到单端转换时�也能提供双倍的重构信号功率给负载。由于 IOUTA和 IOUTB的输出电流是互补的�在差分处理时�它们就是多余的。正确选择传输变 压器能使 AD9740给负载提供需要的功率和电平。利用变压器差分输出的电路如图 6.3.7所 示。 图 6.3.10用变压器差分输出的电路图 18 PMOS 开关的等效并行连接与电流源共同决定了 IOUTA 和 IOUTB 的输出阻抗�典型 为 100kΩ并联 5pF连接。由于 PMOS器件本身的特性�输出阻抗也有一小部分由输出电压 决定。结果�通过一个电流-电压运放转换结构保持 IOUTA和/或 IOUTB在虚地时将产生最 合适的直流线性特性。要注意的是�对于 AD9740的 INL/DNL的参数�是通过一个运放将 输出 IOUTA保持在虚地时测试出来的。 4� AD9740的工作时序 AD9740的工作时序如图 6.3.3所示。 图 6.3.3 AD9740的工作时序图 6.3.2 AD9740的接口电路 图 6.3.4 AD9740的接口电路 19 6.3.3 AD9740的程序设计 1� AD9740的程序设计 --程序功能�使用 DDS技术产生任意频率的方波�通过预置频率字设置频率 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity SIGNAL_SOURCE is Port ( F_WORD : in STD_LOGIC_VECTOR (31 downto 0); CLK : in STD_LOGIC; RST : in STD_LOGIC; DA_DATA : out STD_LOGIC_VECTOR (9 downto 0); CLOCK : out STD_LOGIC; EN : in STD_LOGIC); end SIGNAL_SOURCE; architecture Behavioral of SIGNAL_SOURCE is begin process(clk,RST) variable Q:std_logic_vector(31 downto 0); begin if RST='0' then Q:=(others=>'0'); elsif falling_edge(CLK) and EN='1' then Q:=Q+F_WORD; DA_DATA<=q(31 downto 22); end if; end process; CLOCK<=CLK; end Behavioral; 2� AD9740的程序仿真 6.4 ADC0809模数转换电路与程序设计 本节介绍以 A/D芯片 ADC0809为核心组成的模数转换模块�可以完成开关控制可选八 通道模拟量输入的八位模数转换。 20 6.4.1 ADC0809的功能描述 1� ADC0809的主要性能 ADC0809是 CMOS的 8位 A/D转换器�片内有 8路模拟采样开关�可控制 8个模拟量 中的一个进入转换器中。该器件的主要性能如下� �1�采用单+5V电源逐次逼近式 A/D 转换�工作时钟典型值为 640KHz�转换时间约 为 100 s� 。 �2�分辨率为 8位二进制码�总失调误差为±1LSB。 �3�模拟量的输入电平范围为 0�5V�不需要零点和满度调节。 �4�具有开关控制的 8通道�可以直接接入 8个单端模拟量。 �5�数字量输出采用三态逻辑�输出符合 TTL电平。 �6�容易与各种微处理器连接�也可以独立工作。 2� ADC0809的引脚功能 ADC0809采用 DIP封装的引脚封装形式如图 6.4.1所示。 图 6.4.1 ADC0809的引脚封装图 ADC0809通过引脚 IN0�IN1�„�IN7可输入 8路单边模拟输入电压。ALE将 3位地 址线 ADDA�ADDB�ADDC 进行锁存�然后译码�得到与之对应的通道输入�译码的关 系如表 6.4.2所示。 ADC0809的引脚功能如表 6.4.1所示。在 ADC0809片内的 256R电阻 T型网络和电子 开关树�它相当一个 D/A 转换器。它把预测的 8 位二进制数转换为模拟的电压幅值�送入 比较器中与实际电压相比较。在变换前�SAR为全零。变换开始�先使最高位为 1�其余位 仍为 0�此“数字”控制开关树中开关的合、断�开关树的输出 Vst 和模拟量输入 V in 一起 输入比较器进行比较。如果 V st >V in �则比较器输出为 0�SAR的最高位置 0�如果 V st
本文档为【第6章 FPGA的模数数模转换模块设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_038356
暂无简介~
格式:pdf
大小:797KB
软件:PDF阅读器
页数:0
分类:
上传时间:2013-12-28
浏览量:83