library ieee
use ieee.std_logic_1164.all
use ieee.std_logic_arith.all
use ieee.std_logic_unsigned.all
entity dac_ds is
port(reset :in std_logic
clk :in std_logic
din :in std_logic_vector(7 downto 0)--Signed integer
dout :out std_logic)
end dac_ds
architecture arch_dac_ds of dac_ds is
signal error :std_logic_vector(9 downto 0)--Error accumulator is 2 bits larger
constant zeros:std_logic_vector(7 downto 0):=(others=>'0')
begin
process(reset,clk,din)
variable val :std_logic_vector(9 downto 0)
begin
if reset='1'then
error<=(others=>'闭模哗0')
dout<='0'
elsif clk'event and clk='1' then
--val:=din+errordin is sign extended to nbits+2
val:=(din(din'high)&din(din'high)&din)+error
if val(val'high)='0'then
dout<='1'
error<=val+("11"&zeros)
else
dout<='0'
error<=val+("01"&zeros)
end if
end if
end process
end arch_dac_ds
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式进行da转换:直通方式、单缓冲方式和双缓冲方式。1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。
2、双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。
3、直通方式。直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用简裤时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。[1]
DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入并启、同步转换等)。所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图: D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通拦蔽简过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。
D/A转换器:将数字信号转换成模拟信号的电路叫做数/模转换电路,简称D/A转换器。\x0d\x0aA/D转换器:将模拟信号转换成数字信号的电路叫做模/数转换电路,简称A/D转换器。\x0d\x0a这两族携类电路兆睁伏常用于计算机与模拟系统的接口电路中。\x0d\x0a\x0d\x0aD/A转换器的基本原理:对于有权码,先将每位代码按其权的大小转换成相应的模拟量,然后相加,即可得到与数字量成正比的总模拟量,从而实现从数字到模拟信号的转换。\x0d\x0aA/D转换器的基本原理:模拟信号转换为数字信号,一般分为四个步骤:早侍取样、保持(展宽)、量化和编码,前两个步骤在取样与保持电路中完成;后两个步骤在ADC中完成。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)