我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 743|回复: 0

在测控系统中用IP核实现D/A转换 - 工业/测控 - 电子工程师俱

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:28:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在各类电子系统中,数字电路所占比重越来越大。这主要是因为数字电路相对于模拟电路有一些突出的优点,例如:
*数字电路中的有源器件工作在饱和区与截止区,工作状态稳定;
*数字电路处理的是二值信号,易于存储和再生;
*数字电路是由大量相同的基本单元,如门、触发器等所组成,易于大规模集成,易于自动化设计工具的应用等。

由于数字电路的以上特点,再加上数字计算机和数字信号处理技术的迅速发展,使得数字电路从集成规模、应用范围及设计自动化程度等方面大大超过了模拟电路,越来越多的由模拟电路实现的功能转由数字电路实现,进入了电子系统数字化的时代。

在测控系统采用数字化技术,将原来由模拟电路实现的D/A由数字电路实现。

<strong>1 IP核介绍</strong>

IP(知识产权)核将一些在数字电路中常用,但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等设计成可修改参数的模块。 IP核的重用是设计人员赢得迅速上市时间的主要策略。随着CPLD/FPGA的规模越来越大,设计越来越复杂(IC的复杂度以每年55%的速率递增,而设计能力每年仅提高21%),设计者的主要任务是在规定的时间周期内完成复杂的设计。调用IP核能避免重复劳动,大大减轻工程师的负担,因此使用IP核是一个发展趋势。

IP核包括硬IP与软IP。可配置IP是参数化后的可重定目标IP,其优点是可以对功能加以裁剪,以符合特定的应用。这些参数包括总线宽度、存储器容量、使能或禁止功能块。

硬IP最大的优点是确保性能,如速度、功耗等。然而,硬IP难以转移到新工艺或集成到新结构中,是不可重配置的。
软IP是以综合形式交付的,因而必须在目标工艺中实现,并由系统设计者验证。其优点是源代码灵活,可重定目标于多种制作工艺,在新功能级中重新配置。

不过目前大多数库是收费的,但也可以从网上下载一些免费的IP核。

<strong>2 用IP核实现的D/A转换器的功能及特点</strong>

数字到模拟转换器(DACs)将一个二进制数转换为与之对应的电压值,目前常用的D/A转换器都是由电阻或电容加权网络、受码元控制的开关和基准电压或电流源组成。当D/A转换器需要转换的信号每次取样字长很长时,对这些电路的精度要求很高,并且还必须在整个温度范围和整个使用寿命期间内保持电路参数的稳定。例如,一个16位的D/A转换器,其MSB的精度必须在1/2 16以内,这是很困难的。所以,需寻求一种中保持高分辨率又可降低对电路精度和稳定度要求的方法。

可综合的Delta-Sigma DAC(术语Delta-Sigma分别指算术差与和,即Δ-∑DAC),是Xilinx公司提供的免费IP核,可从网上下载得到。

Delta-Sigma DAC使用数字技术,因而它不温度的影响,并且能在一片可编程逻辑器件中实现。避免在D/A转换器中使用匹配电阻,不仅能更便宜,而且,其转换是线性的。 Delta-Sigma DAC实际上是高速单个位的DAC,用数字反馈技术,在输出端产生一串脉冲。脉冲串中信号为高电平的时间部分与二进制输入成比例,当这个脉冲串通过一个模拟低通滤波器后就得到一个模拟输出信号。

图1是一个典型的可编程逻辑器件实现的DAC的顶层电路图,输入信号有复位信号、时钟信号以及二进制数据总线。输出DACoutDrvr驱动一个外部的低通滤波器Vout能从0V~Vcco。这里Vcco是FPGA I/O块的供电电压。输入/输出详细说明如表1所列。


<ignore_js_op>





2010-3-18 20:59:21 上传
<strong>下载附件</strong> (17.81 KB)




</ignore_js_op>


<strong>表 1 输入输出描述表</strong>
信号方向描 述DACOUT输出驱动外部低通滤波器的脉冲串(通过一个输出驱动器)DACIN输入数字输入总线,值必须设置成钟的正沿clk输入正沿有效Reset输入复位信号初始化SigmaLatch和输出D触发器
DAC的二进制输入是一个无符号数。“0”代表最低电压,输出的模拟电压也只有正的。“0”输入产生0V输出,输入端全“1”,则输出近似达到 Vcco。

图2是Delta-Sigma DAC的原理框图,二进制输入的位宽是可变的。为简单起见,电路原理图描述了一个8位二进制输入的DAC。


<ignore_js_op>





2010-3-18 20:59:21 上传
<strong>下载附件</strong> (19.73 KB)




</ignore_js_op>


在这个器件中,二进制加法器用来产生和,也用来产生差。尽管Delta Adder的输入是无符号数,两个加法器的输出却都是有符号数。Delta Adder计算DAC输入和当前DAC输出的差,并用一个二进制数表示。因为DAC的输出是一个单个的位,因此它不是1就是0。如图2所示,当输入加上由 Sigma Latch的输出的两个拷贝与0构成的10位数,就产生差值,这也补偿了DACIN是无符号数的事实。Sigma Adder将它原来的输出(保存在Sigma Latch中)与当前的Delta Adder的输出相加。

图1中输出电压与输入电压的关系为
VOUT=(DACIN/(2MSBI+1))×VCCO
式中单位为V。

例如,对于一个8位DAC(MSBI=7),最后的输出是这样:DACIN输入是0,则输出也是0;DACIN输入是十六进制数FF时,输出值为最大(255/256)×Vcco。

阻容低通滤波器适合多数应用需要,一个简单的阻容低通滤波器就能工作得很好。

Vs的定义是:DAC输入增加或减少时,在Vout端产生变化的绝对值。对一个8位DAC,Vs等于(1/256)×Vcco。

Vout能够产生在0V~Vcco之间可变的电压,具体的值由DACIN的位宽和输入的数值决定。

Delta-Sigma DAC适合需要相对高精度的低频应用。在这种应用中,电压不会很快地变化,因此,RC的时间常数可以很大,以减小噪声。
这种DAC最广泛的应用就是产生通常直流电压。这包括电压控制振荡器、电压控制运算放大器、I/O参数电压、可编程电压源、波形发生器(正弦、三角等)、A/D转换中的参考电压等。

Delta-Sigma DAC是一个例子,说明高速可编程逻辑器件能用于混合信号系统,以减少元件的数量。可编程逻辑器件的速度和密度使它们成为模拟信号产生和处理方面理想的元件。

<strong>3 用VHDL语言编写的程序</strong>

library ieee;
use ieeestd_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 ut 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+error;din 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;

<strong>4 芯片的选择和配置</strong>

选择MAX7000S系列可编程逻辑器件,编译后由MAX+PLUS II软件自动配置进EMP7032SLC44芯片,将生成的目标文件通过编程电缆对器件进行编程。

将该IP核实现的D/A转换器用于新型智能电阻炉温度控制仪中,因为调节炉温的信号不要求变化很快,因此DAC的输入二进制信号为缓变信号。对于这种低频应用,可以将RC时间常数取得较大,以减小噪声。这样,可综合的VHDL语言Delta-Sigma DAC模块配置进EMP7032芯片后,达到了预期的效果。

<strong>参考文献</strong>

1. 蒋璇.臧春华 数字系统设计与PLD应用技术 2001
2. John Logue Virtex Synthesizable Delta-Sigma DAC
3. 张昌凡 可编程逻辑器件及VHDL设计技术 2001

作 者:中国直升机设计研究所 李艳萍
来 源:单片机与嵌入式系统应用2003(10)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表