一种带斐波那契译码的高精度电流舵DAC

时间:2022-07-06 02:14:27

摘 要: 在设计的电流舵DAC中应用了一种新的译码结构,即斐波那契数列译码结构。通常电流舵DAC设计基于面积和精度的折衷考虑,会采用高位温度计译码,低位二进制译码的分段结构,在此设计的电流舵DAC为进一步提高精度,高位6位仍采用温度计译码,低6位用斐波那契数列译码代替二进制译码。仿真测得DAC转换器的积分非线性误差(INL)为0.5 LSB,微分非线性误差(DNL)为0.28 LSB。在10 MHz采样率下,无杂散动态范围(SFDR)达85 dB。

关键词: 分段式电流舵; dac; 斐波那契数列; 译码结构

中图分类号: TN710?34 文献标识码: A 文章编号: 1004?373X(2013)20?0136?03

0 引 言

随着信号处理和电子通信系统的飞速发展,对数/模转换器精度的要求越来越高。DAC模块已经成为制约整个系统性能的关键因素[1]。电流舵DAC精度主要受静态误差和动态误差两方面因素影响。静态误差主要来源于电流源的失配,所以要减小静态误差,在DAC电流源阵列中应该使用大尺寸的晶体管[2]。通信系统中更关注的是动态误差,动态误差受毛刺的影响很大,毛刺产生主要是由于码元转换过程时时钟的不同步导致的[3]。而这些都和DAC的译码结构密切相关。

在电流舵DAC中主要采用两种译码结构,温度计译码和二进制译码。温度计译码采用的权电流源都相同,输入相邻的数字码元,只有一个电流源的开关状态改变,因此毛刺很小。但是温度计码需要的电流源很多,对N位的DAC,需要2N+1个电流源,译码很复杂,译码电路占用面积大[4]。二进制译码采用的权电流源按2的指数次方增加为20,21,22,…,2N+1;输入码元几乎不需要译码,可直接通过开关控制这些电流源来实现数模转换,因此占用面积很小。但是二进制译码转换到中间码元的时候,需要改变电流源开关的数量很大,毛刺很大[5]。

1 斐波那契数列译码

1.1 斐波那契数列译码特点

斐波那契数列通项公式[6]由下面公式给出:

[F0=0,F1=1Fi+2=Fi+Fi+1, i≥0]

给出初始前2项的值,后面的项可有递推公式推得。斐波那契数列译码,即将斐波那契数列的数值作为权电流源的值,输入的数字码元通过控制相应的权电流源开关的状态来选择输出模拟量的大小。可推得:

[limn∞Fn+1Fn=1+52≈1.618]

斐波那契数列的连续权重比为黄金比例,介于二进制译码(为2)和温度计译码(为1)之间。因此斐波那契数列能综合二进制译码和温度计译码的优势,首先DAC所需的权电流源数比温度计译码所需的权电流源数大大减小,译码逻辑电路将会大大减少,因为译码电路面积大小是和控制信号数正相关的[7]。另外由于译码电路面积的减少,使得斐波那契数列的权电流源能用大尺寸晶体管,减小电流源失配误差[8]。并且斐波那契数列译码DAC相邻码元转变时,需要改变状态的权电流开关比二进制译码少,尤其是转换到中间码元时,二进制译码的权电流开关状态需要全部改变[9],但

是斐波那契数列译码DAC则不必要,因此斐波那契数列译码的最大毛刺比二进制译码最大毛刺小很多[10]。因此用斐波那契数列译码代替二进制译码能大大提高DAC的精度,当然这会引起译码逻辑电路的增加,但是相对于温度计译码来说这点面积增加又是可接受的。

1.2 斐波那契数列译码的实现

因为本文采用高6位温度计译码,低6位斐波那契数列译码的结构,因此论述如何实现6位斐波那契数列的译码结构。6位译码,有64个模拟量输出。可证明8位斐波那契数列权电流源,有87个模拟量输出,只要前7个斐波那契数列权电流源,就可实现64个模拟量输出。根据文献,采用大晶体管能够减小电流源失配误差,因此设计将每个权电流源都加一个偏移值来增加晶体管的尺寸。则第i位的权电流大小为:

[wi=w0+Fi, i≥1]

式中w0为偏移值。在本次设计的低6位斐波那契译码电路中,选择w0的值为9,选取斐波那契数列前7个值作为权电流,则全电流大小如表1所示。

表1 斐波那契数列译码权电流

输入数字码元通过译码控制这些权电流源的通断来实现相应的模拟输出。译码的过程如表2所示。表中dm为相应的权电流源的开关控制信号。可推知DAC输出电流为:

[Itol=k=06wk+1dk]

当输入数字码元为000000时,权电流10ILSB,11ILSB的开关控制信号d0,d1为1,其余开关控制信号都为0,则模拟输出量为21ILSB,输出的模拟偏移量Ioffset为21ILSB。当输入数字码元为000001时,权电流10ILSB,12ILSB的开关控制信号d0,d2,其余开关控制信号都为0,则模拟输出量为22ILSB,即ILSB+Ioffset,依次类推,可相应的数字码元,可得到模拟输出量2ILSB,3ILSB,…,63ILSB,实现了6位数/模转换(模拟偏移量可以最后通过微调消除)。

2 12位电流舵DAC设计

为实现高分辨率12位电流舵DAC的设计,采用高6位温度计译码,低6位斐波那契数列译码分段结构。高6位温度计译码由于最低权位为26,因此图1中8×8方格中每个方格代表64ILSB,即高6位相邻码元变化,输出模拟量变化64ILSB。高6位中的低3位经过3?8译码器译码有8位输出,每位输出控制1个方格,高6位中的高3位经过3?8译码器译码的8位输出,每位输出控制1行8个方格。高6位温度计译码和低6位斐波那契数列译码结合,可产生从0到4 095ILSB的模拟量输出。另外,为了避免干扰及温度的影响,本文设计了高精度的基准电压源。为保证控制信号信号同步,输入信号用寄存器,输出信号用锁存器,保证时钟上升沿时同时动作。同时,为了提高输出阻抗,电流源采用共源共栅结构等,完成高精度12位电流舵DAC设计。

3 仿真结果与分析

本文在Cadence Spectre仿真器中对设计的电路进行了仿真验证,如图2和图3所示测得INL为0.5 LSB,DNL为0.28 LSB。本文设计的电流舵DAC采样率为10 MHz,输入理想的46.386 718 75 kHz正弦信号,输出采样后的正弦信号如图4所示,根据图4可计算SFDR为85 dB,如图5所示。本文设计的电流舵DAC在动态误差方面和静态误差方面都达到了很高的精度。

4 结 语

本文低6位译码应用了一种新的译码结构———斐波那契数列译码,经测得DNL为0.28 LSB,INL为0.5 LSB,在46.39 kHz正弦波输入下,SFDR达85 dB,达到了很高的精度。只是采样率还需要提高,这是下一步工作的重点。

参考文献

[1] FOURNIER J M, SENN P. A 130?MHz 8?b CMOS video DAC for HDTV applications [J]. IEEE J. Solid?State Circuits, 1991, 26: 1073?1077.

[2] BUGEJA A. A self?trimming 14?b 100MS/s CMOS DAC [J]. IEEE J. Solid?State Circuits, 2000, 35: 1841?1852.

[3] CATTEAU B, ROMBOUTS P, WEYTEN L. A digital calibration technique for the correction of glitches in high?speed DAC's [C]// Proceedings of International Symposium on Circuits and System (lSCAS). New Orleans, LA: ISCAS, 2007: 1477?1480.

[4] LIN C. A 10?b, 500?Msample/s CMOS DAC in 0.6mm [J]. IEEE J. Solid?State Circuits, 1998, 33: 1948?1958.

[5] DEN BOSCH A V, BORREMANS M, STEYAERT M, et al. A 10?bit 1?G sample/s Nyquist current?steering CMOS D/A converter [J]. IEEE J. Solid?State Circuits, 2001, 36(3): 315?324.

[6] MACK D R. The magical Fibonacci number [J]. Potentials, IEEE, 1990, 9(3):34?35.

[7] VOGT A W, DEDIC I J. A 10?bit high speed CMOS CAS macrocell [C]// Custom Integrated Circuits Conference. [S.l.]: CICC, 1989: 671?674.

[8] ABRIAL A, BOUVIER J, FOURNIER J?M, et al. A 27?MHz digital?to?analog video processor [J]. IEEE J. Solid?State Circuits, 1988, 23: 1358?1369.

[9] PELGROM M J M, DUINMAIJER A C J, WELBERS A P G. Matching properties of MOS transistors [J]. IEEE J. Solid?State Circuits, 1989, 24: 1433?1440.

[10] KAUTZ W H. Fibonacci codes for synchronization control [J]. IEEE Transactions on Information Theory, 1965, 11(2): 284?292.

上一篇:基于UML和CORBA的空间应用仿真研究 下一篇:基于光伏电池组件的ZigBee芯片供电电路设计