DDS中DAC选型(原创)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
DDS由相位累加器、ROM、DAC和低通滤波器(LPF)组成,其中DAC(Digital-to-Analog Converter)的直接影响到误差。下面对DAC的参数进行详细介绍:
DAC芯片选型可以通过访问下面几大公司的网站选择你所需要的DAC(实力最强的在前面)
1)ADI 美国模拟器件公司
http://www.analog.com/zh/digital-to-analog-converters/da-converters/products/index.html
2)德州仪器
3)Linear Technology
http://www.linear.com.cn/pc/viewCategory.jsp?navId=H0,C1,C1155,C1005
5)美信
http://para.maxim-ic.com/cn/index.mvp?tree=daconverters
4)国家半导体
http://www.national.com/analog/adc
DAC分类
1)电压输出型(如AD669)
电压输出型DA转换器虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低阻抗输出。直接输出电压的DAC仅用于高阻抗负载,内置输出放大器,相比不接放大器的电流输出型DAC,响应速度较慢。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
AD669的原理框图
2)电流输出型(如THS<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />5661A)
电流输出型DA转换器很少直接利用电流输出,大多外接电流—电压转换电路得到电压输出,后者有两种方法:一是只在输出引脚上接负载电阻而进行电流—电压转换,二是外接运算放大器。用负载电阻进行电流—电压转换的方法,虽可在电流输出引脚上出现电压,但必须在规定的输出电压范围内使用,而且由于输出阻抗高, 所以一般外接运算放大器使用。此外,大部分CMOS DA转换器当输出电压不为零时不能正确动作,所以必须外接运算放大器。
当外接运算放大器进行电流电压转换时,则电路构成基本上与内置放大器的电压输出型相同,这时由于在DA转换器的电流建立时间上加入了运算放入器的延迟,使响应变慢。此外,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位补偿。
THS5661A的原理框图
3)乘算型(如AD7533)
4)一位DA转换器
DDS DAC选择依据:(偶要做一个时钟100MHz,48位累加器的DDS)
1)分辩率(Resolution)bit
指数字信号的位数,这个根据需要有8bit,12bit,14bit,16bit.20bit。DDS一般用12bit、14bit和16bit,但要知道随着位数的增加,前级的ROM所存的数据位数也要相应增大,可能造成FPGA的ROM资源不够,再说其实位数太多也没有多大意义,但相位累加量很小的时候,相邻的两个数据其实变得很小。
2)建立时间(Setting Time) 通常指DAC从数字输入变迁(通常从半满度即50%点,例如从011…11到100…00)开始到达并保持在规定终值附近的误差带(一般为±1/2LSB)所需要的时间。一般地,电流输出DA建立时间较短,电压输出DA则较长。
电流输出DAC
THS5661A时间框图
THS5661A时间参数
从THS5661A的DataSheet可以知道它的Output Setting Time是指ts(DAC),从半满度50%达到并保持规定终值附近0.1%之内的时间,为35ns。也就是说,35ns之后数字值才转换为正确对应的模拟值。
电压输出DAC
AD669时间参数
AD669的Output Setting Time为2.5μs,从半满度50%达到并保持规定终值附近0.0008%之内的时间。
一般地,电流输出DAC的Output Setting Time较短,电压输出DAC由于输出运算放大器的延迟,所以Output Setting Time较长。但要注意的是“电流输出DAC的Output Setting Time较短”是指数字量转化为相应的模拟电流值的时间较短,“电压输出DAC的Output Setting Time较长”是指数字量转换为相对应的模拟电压值的时间较长,如果电流输出DAC再接运算放大器,I-V转换输出电压,那就还要算上运算放大器的延迟。
PS:经过我查找,DAC Output Setting Time最小的是ADI公司的AD9742(AD9744),为11ns。
AD9744的Output Setting Time为11ns
很显然,如果我的DDS时钟为100MHz(10ns),也就是说ROM每10ns读出一个sina波形的一个点的数字量(Digital)经过DAC转换为模拟量(Analog),但如果用AD9744的话,Setting Time才11ns,模拟量显然不能完全在一个规定终值的0.1%或0.01%之内。不过不要紧,转换到模拟量与计算出的规定终值也差不多了。
《如何选择DAC》
问:DAC的精度于速度有什么关系
[答:Theresa] There is no direct relationship between accuracy and speed of a DAC.
Current output DACs are much faster settling in ns in contrast to voltage output dacs, settling in ms.
Both types are available with 16 bits of accuracy
翻译:DAC输出速度与精度之间没有直接的关系。同样是16位(bit)DAC的情况下,电流输出DAC建立时间(Setting Time)可以到ns级,而电压输出的DAC可以到ms级。
3)输出更新速率(output update rate)
指从数据寄存器精确地向DAC传输数据的速率,但并不意味着这个速率能达到规定位数的精度。
可以参考网上ADI技术专家的解答:
《如何选择DAC》
问: DA的一个参数:MSPS UPDATE RATE是什么意思,是不是最高的工作频率?
[答:LiaoWS] MSPS is million samples per second.Update rate is MSPS for many converters,except the Sigma-Delta ones. They are not maximum working frquency, they are the frequency that converter can work normally. The maximum should be faster than them.
翻译:MSPS是指每秒百万次采样(每秒钟取百万个采样点)。除了Sigma-Delta这种结构的转换器没有更新速度(Update Rate)之外,其他转换器都有。Update Rate不是最高工作频率,这个参数是转换器正常工作室的频率,最高工作频率比Update Rate要大。
从上面的解答可以知道,如果要设计100MHz的DDS,也就是后面要用100MHz的时钟接DAC,每个时钟出一个模拟值,则DAC的Update Rate最好要比100MHz高就行。
电流输出DAC
AD9744的最大输出更新速率(Maximum Output Updata Rate)的最小值为210MHz
这个好理解,因为AD9744有一个CLOCK端,只要这个管脚接的时钟小于210MHz就行。但有些电压输出并行输入DAC没有CLK,如AD669,如何理解?
AD9744功能框图
电压输出DAC
ADI网站上AD669的网页介绍
(http://www.analog.com/zh/digital-to-analog-converters/da-converters/AD669/products/product.html )
但在AD669的DataSheet上是没有DAC Updata Rate的,自己算了一下:每秒167k个点,每个点就与等于6μs与DAC Settling Time相等,其实可以这样理解:
电压输出DAC Updata Rate="1/DAC" Settling Time,多大的速度就用了多少时间;
而电流输出DAC Updata Rate>1/DAC Settling Time
AD669功能框图
4)Output Propagation Delay (tPD)传播延时
THS5661A时序
可以知道,THS5661A数据时钟上升沿有效,12bit的数字在时钟上升沿时,进入Logic Control(从THS5661A功能图可以看到),进行运算(MODE决定是数据的格式,是原码还是补码),在Digital delay time之后输出到Output Current Switches,传播延时一段时间(Output Propagation Delay)再输出建立的电流值。THS5661A的Digital delay time="1" clk; Output Propagation Delay="1ns"
AD9744时序
可以知道,AD9744没有了Digital delay time,在一个时钟内就转换了,显然很快。
MAX5878
MAXIM公司的MAX5878更是等待8,9个时钟(Data Latency)才把数字量转换为模拟电压输出。
AD9744
Settling Time The time required for the output to reach and remain within a specified error band about its final value, measured from the start of the output transition.
THS5661A
settling time
The time required for the output to settle within a specified error band.
tengjingshu_112148725 2010-2-26 11:28
用户541503 2010-2-26 00:09
用户209396 2009-11-8 20:54
用户1479044 2009-6-9 15:58