FPGA在∑-Δ D/A转换器中的应用

出处:pheavecn 发布于:2011-08-26 16:51:38

 

  用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存储二值数据的数字电路。从整体上看,数字电路可以分为组合逻辑电路和时序逻辑电路两大类。集成度高,体积小,功耗低是数字电路突出的优点之一。电路的设计、维修、维护灵活方便,随着集成电路技术的高速发展,数字逻辑电路的集成度越来越高,集成电路块的功能随着小规模集成电路(SSI)、中规模集成电路(MSI)、大规模集成电路(LSI)、超大规模集成电路(VLSI)的发展也从元件级、器件级、部件级、板卡级上升到系统级。电路的设计组成只需采用一些标准的集成电路块单元连接而成。对于非标准的特殊电路还可以使用可编程序逻辑阵列电路,通过编程的方法实现任意的逻辑功能。

  1  变∑-Δ换的原理

  ∑-Δ变换采用过取样技术,将信号按时间分割,保持幅度恒定,具有高取样率、噪声整形和比特字长短的特点。变换可以在低取样率、高分辨率的量化器或者高取样率、低分辨率的量化器中进行,在数字音频中很有用,如用于音频信号数字化的∑-Δ ADC及可将已经数字化处理后的音频信号还原为模拟声音信号的比特数时所带来的量化非线性误差、纠错困难的缺点。

  ∑-Δ变换是将信号按时间分割,保持信号幅度恒定。它用高电平或低电平的脉冲表示信号,例如可以采用脉冲密度调制(PDM),如图1所示恒定幅度的脉冲信号,不论电平高或低都能够重建输出信号波形。  打个比方来说明如何用1比特替代16或更多比特:传统的阶梯变换器像16个电灯泡,连接到各自的开关上,每个都有不同的亮度,用各种组合方式可以得到216(即65536)种不同的亮度。然而,灯泡间的亮度差会引入误差,某种组合也并不总是能够产生所要求的亮度。1比特变换技术采用完全不同的方法,不用那么多灯泡和开关,只用一个灯泡和一个开关。房间亮度的变化可以通过简单的改变开、关灯泡的次数来得到。如果灯泡开的次数增加,房间的亮度就会增加。

恒定幅度的脉冲信号

 图1 脉冲密度调制

  2  ∑-Δ DAC的结构

  DAC格式是英文Digital Audio Compress的简称,是北京豪杰纵横网络技术有限公司(以超级解霸的成功开发而闻名),凭借自己多年积累的音频编码技术,独创自然声学模型,开发出的级音频压缩格式,超高音质,并且具有很好的定位能力。DAC格式具有以下优势:低码率时DAC压缩的大小与MP3差不多,但声音不发沙,定位感依然存在,与原始无损压缩相比只是会发现截止频率以上的声音有些小差别;中等码率时DAC音质与AC-3差不多,截止频率越过了人耳的范围,从仪器中可以测出;高码率时DAC音质与CD的差别是人耳几乎分辨不出来,只能从仪器中的波形进行比较才能分出差别;DAC的效率不会发沙,因为它不删去频率,它不认为人耳听不到;也不会发闷,因为它不针对低质量的音频进行处理。

  传统的应用电流模技术的DAC当位数达到10位以上时,要在某一温度范围保持非常困难。本文的∑-Δ DAC运用了数字技术,因此与电流模DAC相比,不受温度变化的影响,且能在可编程逻辑器件如FPGA中实现。∑-Δ DAC实际上是高速1位DAC,应用数字反馈技术从输入二进制数字量产生等幅的脉冲串,脉冲串的平均占空比与输入二进制数字量成正比,脉冲串再通过一RC模拟低通滤波器就能重建模拟波形。∑-Δ DAC非常适合于低频、高的应用,尤其在数字音频领域应用广泛。

  作为例子,本文中所描述的∑-Δ DAC的二进制8位输入数字量是无符号数,模拟输出电压值都是正值。输入"00000000"产生输出电压0V,"11111111"产生输出电压的值Vmax,Vmax非常接近VCCO,其中VCCO是FPGA芯片I/O端口的供电电压。

       

∑-Δ DAC的内部结构图

  图2  ∑-Δ DAC的内部结构图    

  术语"∑-Δ"分别代表算术和与差,都可用二进制加法器来产生。虽然Δ加法器的输入是无符号数,但Δ和∑两加法器的输出被看作有符号数。Δ加法器用来计算DAC输入与当前DAC输出之间的差值。由于DAC的输出只有一位,非0即1,即全0或全1.如图2 ∑-Δ DAC的结构图所示,Δ加法器的另一个输入值由∑锁存器位L[9]的两个拷贝后面跟8个0产生,这也弥补了DAC输入值是无符号数的问题。∑加法器将它的上输出(已经保存在∑锁存器)与Δ加法器的当前输出求和。

  3 ∑-Δ DAC的FPGA实现

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA.因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  如图2所示,∑-Δ DAC的内部仅由2个10位的二进制加法器,1个10位的锁存器和一个D触发器组成,用FPGA实现时只需耗费极少的逻辑资源,即使用的FPGA也能实现,本文采用了Xilinx Virtex FPGA,图3给出了FPGA实现的顶层原理图。输入信号有8位宽的二进制数字量DACin[7:0]、时钟信号CLK和复位信号Reset;输出信号为等幅脉冲串DACout,通过一个驱动缓冲器OBUF_F_24(是Xilinx FPGA特有的SelectI/O资源,OBUF表示输出缓冲器,F表示它的转换速率快,24表示它的驱动能力即输出驱动电流是24MA,基于LVTTL I/O标准)驱动FPGA外部的模拟RC低通滤波器,该缓冲器的输出端连接到FPGA的I/O端口,则它的驱动电压即为FPGA的I/O端口的供电电压VCCO.表1列出了∑-Δ DAC的接口信号。

FPGA实现∑-Δ DAC的顶层原理图

  图3  FPGA实现∑-Δ DAC的顶层原理图

∑-Δ DAC的接口信号

  表1  ∑-Δ DAC的接口信号    

  图3虚线框内的电路都在FPGA里面实现,其中的DAC模块的原理图见图2,在本文中是用可以综合的VerilogHDL语句来描述的。VerilogHDL描述的可综合性是指其可被综合工具所识别,将其寄存器传输级(RTL)描述综合成门级网表,终能通过FPGA的布局布线工具映射到FPGA当中成为能完成指定功能的硬件电路。VerilogHDL语言初是面向建模和仿真的,只有10%可以被综合称为可综合子集。对于不同的综合工具,可综合子集的内容并不相同。IEEE的一个工作组目前正在撰写一个名为IEEE Std 1364.1RTL的综合子集的规范,定义了一个的可综合的Verilog语言要素的子集,以便得到各综合工具提供商的支持。

  图3中缓冲器的输出端DACoutDrvr连接到FPGA的输出引脚上,驱动外部的模拟RC低通滤波器。图

  中R=3.3kΩ,C=0.0047μF,VOUT即为终转换所得的模拟信号。下面给出了DAC模块的可综合的VerilogHDL描述:

  'timescale 100 ps / 10 ps

  //This is a Delta-Sigma Digital to Analog Converter

  module dac(DACout, DACin, Clk, Reset);

  output DACout; // This is the average output that feeds low pass filter

  reg DACout;

  input [7:0] DACin; // DAC input

  input Clk;

  input Reset;

  reg [9:0] DeltaAdder; // Output of Delta adder

  reg [9:0] SigmaAdder; // Output of Sigma adder

  reg [9:0] SigmaLatch; // Latches output of Sigma adder

  reg [9:0] DeltaB; // B input of Delta adder

  always @(SigmaLatch) DeltaB = {SigmaLatch[9],SigmaLatch[9]} 《 (8);

  always @(DACin or DeltaB) DeltaAdder = DACin + DeltaB;

  always @(DeltaAdder or SigmaLatch) SigmaAdder = DeltaAdder + SigmaLatch;

  always @(posedge Clk or posedge Reset)

  begin

  if(Reset)

  begin

  SigmaLatch <= #1 1'bl 《 (8);

  DACout <= #1 1'b0;

  end

  else

  begin

  SigmaLatch <= #1 SigmaAdder;

  DACout <= #1 SigmaLatch[9];

  end

  end

  endmodule该程序经过Xilinx的FPGA集成开发工具ISE6.2编译(含综合过程)、仿真后,再选择Virtex系列FPGA芯片进行配置。设置CLK=100MHz(可达219MHz)。

  4 结论

  ∑-Δ DAC是高速FPGA芯片用于数字模拟混合信号系统设计的尝试,可应用于可编程电压源、波形发生器、声音发生器、RGB颜色发生器和ADC的参考电压发生器等,极大的减少了系统的元件数目,降低了系统的成本,有很好的实用价值。

 


  
关键词:FPGA转换器

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!