发明的实施例的详细说明
依据本发明的基本原理一般地可应用于D/A变换器,特别是在变换期间易出现误差累积的D/A变换器。
然而,在本公开文本中,主要参考涉及循环D/A变换器和流水线D/A变换器的实施例说明本发明。本发明的这些特定实施例仅仅是例示性的例子,本发明并不限于此。
为了更好地理解本发明,首先解释基于标准二进制码的常规循环D/A变换器和流水线D/A变换器的原理和操作。
基于标准二进制码的常规循环D/A变换器和流水线D/A变换器
为了避免误解,下述标准二进制码的定义将在整个公开文本中使用。在标准二进制码中,数被表示为2的乘方的线性组合:
其中,i和N是整数,b(i)代表一个双级数字(第i位)。整数N表示位数,符号i表示位的位置。一个编码的数通常被表示为一个位序列,其中序列最左边的位(i=1)是最高有效位(MSB),最右边的位(i=N)是最低有效位(LSB)。此后将标准二进制码简称为二进制码。
一般来说,循环D/A变换器循环地应用相同的功能部件将一个数字输入信号变换成一个模拟输出信号。循环D/A变换器通常具有一单个数字输入端和一个模拟输出端。在这种D/A变换器中,数字输入信号的输入位被一个循环一位地顺序加到变换器的数字输入端,并响应于输入位循环地更新一个中间模拟信号,直到产生最后的模拟输出信号。
图1是显示基于二进制码的常规的循环D/A变换器的基本原理的示意图。图1中所示二进制码循环D/A变换器包括下述功能部件:第一开关4,加法器/减法器5,第二开关6,增益系数等于0.5的放大器7,以及采样/保持电路8。时钟信号一般用于控制循环D/A变换器、即其功能部件的操作。这些时钟信号是由一个常规的时钟信号发生器(未显示)产生的。
下面作为一个一般的例子研究一个N位循环D/A变换器。因此,数字输入信号包括N个输入位bb(i),其中i从N到1。注意,bb(N)代表最低有效位(LSB),bb(1)代表最高有效位(MSB)。将输入位bb(i)连续地加到循环D/A变换器的数字输入端(由虚线表示),变换从LSB开始,到MSB结束。下标b表示数字输入是以二进制码给出的。
实际的D/A变换从将第一开关4连到地开始,从而定义了一个等于零的初始模拟信号Vb(N+1)。第一开关4还与接收初始模拟信号Vb(N+1)=0的加法器/减法器5相连。当前加到循环D/A变换器上的输入位(在这种情况下为bb(N))确定是将一个基准信号Vr加到初始模拟信号Vb(N+1)上还是从其中减去该基准信号Vr。更准确地说,当前加上的输入位bb(N)控制第二开关6,以使得基准信号Vr或其逆信号-Vr被切换到与加法器/减法器5相连,从初始模拟信号减去该值。将加法器/减法器5的输出信号送到放大器7,放大器7以系数0.5放大信号。放大器7的输出信号被定义为中间模拟信号Vb(N)。这个中间模拟信号Vb(N)由采样/保持电路8采样。现在,第一开关4与采样/保持电路8的输出相连,从而闭合了环路,使信号能循环。在该处,由采样/保持电路8采样和保持的中间模拟信号Vb(N)被释放并通过加法器/减法器5,下一个输入位bb(N-1)被加到数字输入端。这个输入位bb(N-1)确定是基准信号Vr还是其逆信号-Vr被加到中间信号Vb(N)上。加法器/减法器5的输出信号在放大器7放大,以产生一个与输入位bb(N-1)相联系的更新的中间模拟信号Vb(N-1)。采样/保持电路8再次采样和保持放大器7的输出信号。
在循环D/A变换器的每个循环中,通过加法器/减法器5、数字控制的第二开关6和放大器7更新中间信号。总体上说,一个更新的中间信号Vb(i)是根据前面的中间信号Vb(i+1)和当前的输入位bb(i)产生的。
在所有循环中,第一开关4与采样/保持电路8的输出相连,操作一直进行到已经将最高有效位(MSB)加到循环D/A变换器上为止。然后从变换器环路提取出放大器7的输出信号或采样/保持电路8的输出信号,作为循环D/A变换器的最终的模拟输出信号。新的循环D/A变换可以通过再次将第一开关4连到地开始。
为了简要地说明基于标准二进制码的常规流水线D/A变换器的原理和操作,下面参考图2。二进制码流水线D/A变换器10是一个离散时间N位D/A变换器,包括N个级联(串联)的信号处理级。为了例示的目的,未清楚地显示出所有级。一般地,每级具有一个模拟输入端、一个模拟输出端和一个数字输入端。一级的模拟输出端与下一级的模拟输入端相连。每一级响应于一个相应的输入位bb(i),该输入位bb(i)也被称作为数字输入信号的第i个MSB。在操作中,将输入位bb(i)以离散时间序列连续地加到变换器的各级上,每级一位,并由变换器的信号处理级以流水线方式更新一个中间模拟信号Vb(i),直到在最后一级产生一个最终的模拟输出信号Vb(1)=Vbout。当最后一级已经产生其模拟输出信号Vb(1)时,D/A变换结束。
二进制码流水线D/A变换器的信号处理级一般是由不重叠的时钟信号、例如图2中所示的Φ1和Φ2与每一级中提供的某种类型的采样和保持电路相结合进行控制的。这确保了变换器的离散时间操作。举例来说,如果级i接收第i个MSB以便在时钟相位Φ2产生中间模拟信号Vb(i),则级(i-1)接收第(i-1)个MSB以便在时钟相位Φ1产生中间模拟信号Vb(i-1),以此类推。
在图2中,还显示了常规的流水线D/A变换器的单级的更详细的表示。图2的流水线级基本上包括下列功能部件:加法器/减法器15,开关16,增益系数等于0.5的放大器17,以及采样/保持电路18。
图2的流水线级进行如下操作。第i级的输入信号、即中间信号Vb(i+1)通过加法器/减法器15。加到第i级的输入位bb(i)控制开关16,以使得基准信号Vr或其逆信号-Vr被切换成与加法器/减法器15相连,并从输入信号Vb(i+1)减去其值。将加法器/减法器15的输出信号送至放大器17,放大器17以系数0.5对信号进行放大。放大器17的输出信号由采样/保持电路18采样和保持。在下一个时钟相位,将S/H电路18的采样和保持信号释放,并作为中间信号Vb(i)通过下一级。
一般将流水线D/A变换器看作为高速变换器。为了充分应用流水线D/A变换器的高速能力,变换器通常“同时”执行多个D/A变换。一旦一个信号处理级响应于第一数字码值的输入位已经更新了中间模拟信号,并将该中间信号传输给下一级,它就可以准备接收第二数字码值的输入位。以这种方式,流水线D/A变换器可以在变换器的不同级同时处理不同数字码值的输入位。这种流水线操作之所以可能的原因是因为流水线D/A变换器的离散时间操作,并且这提高了变换器的处理能力。
通过比较图1的常规的循环D/A变换器和图2的常规的流水线D/A变换器,可以理解,这两种类型的D/A变换器彼此是非常相似的。图1的循环D/A变换器包括与图2的流水线级相同的功能部件。主要不同点在于循环变换器循环地应用这些部件,而流水线变换器以流水线方式应用这些部件的几个重复级。
事实上,图1的二进制码循环D/A变换器和图2的二进制码流水线D/A变换器可以用相同的算法总结。这个算法由下列等式定义:
Vb(N+1)=0
Vbout=Vb(1) (1.1)
其中,bb(i)代表数字输入信号的第i个MSB。N代表数字输入的位数,i是从N至1变化的整数值。注意,bb(1)代表MSB,bb(N)代表LSB。下标b表示数字输入是二进制码的形式。Vb(i)表示与第i个MSB相联系的中间信号,Vr是预先确定的基准信号。
通过对等式(1.1)一直迭代计算到i=1,得到下列表达式:
从等式(1.2)可以看出,模拟输出Vbout是正比于二进制数字输入位的。当数字输入位是1时,将一个加权基准加到模拟输出上,而当数字输入位是0时,从模拟输出减去一个加权基准。如等式(1.2)所示,加权是由位位置确定的。
为了更容易地理解常规的二进制码循环和流水线D/A变换器的操作,下面将参考图1和图2和等式(1.1)说明一个理想4位D/A变换的例示性例子。在这个特定例子中,假设数字输入信号等于0110,是以二进制码给出的,最左边一位为MSB,最右边一位为LSB。此外,假设基准信号对应于1.0V的电压,并且模拟信号也以电压表示。中间信号Vb(i)在根据等式(1.1)的递归公式的每一次递归/迭代进行改变,其中i从4变至1。将最终的模拟输出信号定义为Vb(1)。D/A变换从将初始模拟信号Vb(N+1)定义为Vb(5)=0V开始。
数字输入:0110
加第4 MSB,即LSB,i=4;
bb(4)=0,以及
Vb(4)=0.5·(0-(-1)0·1.0)=0.5·(0-(1.0))=-0.5V
加第3MSB,i=3;
bb(3)=1,以及
Vb(3)=0.5·(-0.5-(-1)1·1.0)=0.5·(-0.5-(-1.0))=0.25V
加第2 MSB,i=2;
bb(2)=1,以及
Vb(2)=0.5·(0.25-(-1)1·1.0)=0.5·(0.25-(-1.0))=0.625V
加MSB,i=1;
bb(1)=0,以及
Vb(1)=0.5·(0.625-(-1)0·1.0)=0.5·(0.625-1.0)=-0.1875V
因此,应用对应于一个标称全刻度级的1.0V的基准电压,将数字输入0110变换成量化的模拟输出信号-0.1875V。
应该注意的是,执行上述图示D/A变换的常规D/A变换器是双极性的,即模拟输出信号可以代表正电压也可以代表负电压。根据上述例子中给出的条件,量化的模拟输出信号的电压可以位于-0.9375V(当数字输入码是0000时)和+0.9375V(当数字输入码是1111时)之间的范围内,其分辨率为0.125V。
然而,基于二进制码的常规的循环和流水线D/A变换器对于由电路实现缺陷引起的偏移误差具有较高的敏感性。在实际的D/A变换器实现中,偏移误差产生于例如电路中的直流偏移和时钟引入的电荷注入。当然,在变换中一般还产生其他类型的误差,例如低频噪声。无论如何,在产生中间模拟信号Vb(i)时(其中i从N到1),将产生一个误差ΔVb(i)。在变换中产生的误差将通过常规的D/A变换器传播并积累。参看上述的等式(1.1),考虑在产生每个中间信号中产生的误差,得到下列等式:
由于常规二进制码循环和流水线D/A变换器的结构,误差会以严格上升的方式累积。这可以从等式(1.3)一直迭代到i=1看出,得到下列结果:
在基于二进制码的常规的N位循环或流水线D/A变换器的最终的模拟输出信号中的整个累积误差可以由下式给出:
因为由偏移引起的误差一般具有相同的符号,所以这些误差是确实地累积的,这限制了常规二进制码循环和流水线D/A变换器的精度并增大了失真。
依据本发明的D/A变换
依据本发明的总体思想是根据所发明的一个格雷码至模拟变换算法执行从一个数字输入信号到一个量化模拟输出信号的数模变换。
在依据本发明的基于格雷码至模拟变换算法的D/A变换器结构中,在变换期间的误差累积将较低。特别是与相应的常规二进制码D/A变换器进行比较,误差累积将显著减小。在给出依据本发明的格雷码至模拟变换算法的一特定例子之前,先简要解释一下格雷码的概念。
格雷码
格雷码一般被认为是一个位模式序列,其中,相邻模式只有一位不同。通过研究下面的表I可以很容易地理解格雷码结构。表I左边显示了4位格雷码,中间是4位二进制码,右边是对应的十进制数。
表I
格雷码 |
二进制 |
十进制 |
0000 |
0000 |
0 |
0001 |
0001 |
1 |
0011 |
0010 |
2 |
0010 |
0011 |
3 |
0110 |
0100 |
4 |
0111 |
0101 |
5 |
0101 |
0110 |
6 |
0100 |
0111 |
7 |
1100 |
1000 |
8 |
1101 |
1001 |
9 |
1111 |
1010 |
10 |
1110 |
1011 |
11 |
1010 |
1100 |
12 |
1011 |
1101 |
13 |
1001 |
1110 |
14 |
1000 |
1111 |
15 |
在两种类型的代码,即格雷码和二进制码中,最右边的位是最低有效位(LSB)。然而,应该认识到,在格雷码中,没有特定的位加权可以指定给编码值的各位。格雷码有时被描述为反射码,因为格雷码值除了最左边的位位置(MSB)之外的所有位置看起来都象是沿一反射线的反射,而最左边位置改变逻辑状态。
在现有技术中,格雷码已经用于D/A变换器中:在1995年6月13日颁发给Chang等的美国专利No.5,424,740中公开了一种D/A变换器,该D/A变换器具有一个响应于编码成约翰逊码或格雷码的数字输入信号、用于产生一个从约翰逊码解码的控制信号的发生器,一组连接到发生器并响应于控制信号的开关,以及第一和第二端口,在两端口之间连接着一个电阻器件,该电阻器件有多个节点与开关相连。在一个节点和一个端口之间获得一个节点电压,用作为一个模拟信号。Chang等的D/A变换器应用约翰逊码或格雷码作为中间步骤来产生一个控制信号。
在1986年5月27日颁发给Seiler的美国专利No.4,591,826中公开了一种应用格雷码以便具有固有的单调性的D/A变换器梯形结构。
德国专利申请DE 34 13 456 A1公开了一种带有格雷码输入信号的D/A变换器。该D/A变换器是一个卷积类型的变换器,应用格雷码来便于卷积。每一位级被指定为一个带有求和曲线的卷积电流放大器。另外,没有采样和保持功能与该位级相联系,并且DE 34 13 456 A1的卷积类型的变换器完全与需要采样和保持的诸如循环和流水线结构的D/A结构不相关。
德国专利申请DE 34 00 061 A1公开了一种用于正弦/余弦信号的D/A变换器,该D/A变换器具有由格雷码控制的开关。
依据本发明的最佳格雷码至模拟变换算法
下面将参考所发明的格雷码至模拟变换算法的一个例示性和最佳形式说明本发明的基本原理。下面给出的发明算法是用于循环和流水线D/A变换器的,但应该理解的是,依据本发明的总的思想并不限于此。
假设数字输入信号具有一预先确定的整数N个格雷码位bg(i),其中i是从N到1的整数,并假设应用一预先确定的基准信号Vr产生模拟输出信号Vgout。依据本发明的一个最佳实施例,格雷码至模拟算法由下列等式定义:
Vg(N+1)=0
Vgout=Vg(1)
(2.1)
其中,bg(i)代表数字输入信号的第i个MSB。注意,bg(1)代表MSB,,bg(N)代表LSB。下标g表示数字输入是格雷码的形式。Vg(i)代表与第i个MSB相联系的中间模拟信号。中间模拟信号Vg(i)、模拟输出信号Vgout和基准信号Vr例如可以代表电荷、电压或电流,这取决于所选择的电路实现。
通过将等式(2.1)一直迭代到i=1,得到下列表达式:
注意,数字输入是格雷码而不是二进制码,并且等式(2.1)的公式与常规的二进制码D/A变换的等式(1.1)有显著不同。
为了更好地理解发明的格雷码至模拟算法,下面将参考等式(2.1)说明一个理想的4位格雷码至模拟变换的例示性例子。为了能够将常规二进制码D/A变换与依据本发明的格雷码至模拟变换进行比较,将对应于在上述的常规二进制码D/A变换的例子中用作为数字输入的二进制码0110的格雷码值选择为数字输入。应用上述的表I可以看出,格雷码值0101对应于二进制码值0110。因此,格雷码输入和二进制码输入虽然是以不同类型的代码给出的,但它们是彼此相一致的。另外,与在上述的理想二进制码D/A变换的例子中一样,考虑相同的基准电压1.0V。并且,假设在这个特定例子中模拟信号是以电压表示的。中间信号Vg(i)根据等式(2.1)的递归公式在每次递归/迭代中改变,其中i从4到1。最后的模拟输出信号被定义为Vg(1)。模拟输出信号可以代表正电压,也可以代表负电压,并且量化输出信号的电压可以处于-0.9375V(当数字输入码为0000时)和+0.9375V(当数字输入码为1000时)之间的范围内,其分辨率为0.125V。依据本发明的D/A变换从将初始模拟信号Vg(N+1)定义为Vg(5)=0V开始。
数字输入(以格雷码形式):0101
加第4 MSB,即LSB,i=4;
bg(4)=1,以及
Vg(4)=0.5·(0-1.0)·(-1)1=0.5·(-1.0·(-1))=0.5V
加第3 MSB,i=3;
bg(3)=0,以及
Vg(3)=0.5·(0.5-1.0)·(-1)0)=0.5·(-0.5)·1=-0.25V
加第2 MSB,i=2;
bg(2)=1,以及
Vg(2)=0.5·(-0.25-1.0)·(-1)1=0.5·(-1.25)·(-1)=0.625V
加MSB,i=1;
bg(1)=0,以及
Vg(1)=0.5·(0.625-1.0)·(-1)0=0.5·(-0.375)·1=-0.1875V
因此,应用对应于一个标称全刻度级的1.0V的基准电压,将格雷码输入0101变换成量化的模拟输出信号-0.1875V,这与二进制码输入0110的常规二进制码D/A变换中的输出电压完全相同。
一般地,可以看出,关于模拟输出信号依据本发明的格雷码D/A变换与对应的常规二进制码D/A变换具有相同的理想特性。二进制码到格雷码的变换定义如下:
bg(1)=bb(1);
bg(i)=bb(i)bb(i-1),(2≤i≤N) (2.3)
其中,下标g表示格雷码位,下标b表示二进制码位,代表异或操作。一个简单计算显示如下:
因此,得到下列关系:
将等式(2.5)代入等式(2.2),得到:
从关系式(2.6)可以看出,依据本发明的格雷码D/A变换和常规的二进制码D/A变换在数学上是彼此一致的。
然而,在依据本发明的格雷码D/A变换中的偏移误差的传播与常规的二进制码D/A变换中的完全不同。由电路实现中的缺陷引起的偏移误差通常将在所有的D/A变换器中产生。这些偏移误差可以出自例如电路中的直流偏移和低频噪声。例如,在开关电容器实现中,偏移产生的主要原因通常是钟控开关中的时钟引入的电荷注入和其他直流偏移。假设在产生中间模拟信号Vg(i)(其中i从N到1)时会产生一个误差ΔVg(i)。在依据本发明的最佳实施例的基于格雷码至模拟变换算法的D/A变换器中,偏移误差将未必会以增长的方式累积。参见上述的等式(2.1),考虑在产生每个中间信号时产生的误差ΔVg(i),得到下列等式:
将等式(2.7)一直迭代到i=1,得到:
因此,在依据本发明的格雷码至模拟变换算法的N位D/A变换的最终模拟输出信号中的全部累积误差由下式给出:
现在,通过研究等式(1.5)和等式(2.9),比较常规的二进制码D/A变换与本发明的格雷码D/A变换的全部累积误差。为了更容易地比较等式(1.5)和等式(2.9),首先合并等式(2.5)和等式(2.9):
因为偏移误差一般具有与i无关的相同的符号,并假设ΔVg(i)=ΔVb(i),所以得到下列关系:
从数学上严格地讲,等式(2.11)显示出,在依据本发明的N位格雷码D/A变换中的全部累积误差的绝对值小于或等于在相应的N位二进制码D/A变换中的全部累积误差的绝对值。然而,在实际中,格雷码累积误差一般会比二进制码累积误差小得多。下面将对这一事实进行简要直观的说明。依据本发明的格雷码至模拟变换算法,在每次递归或迭代中,根据在递归(迭代)中运用的特定格雷码位有选择地反相中间模拟信号。这种对中间信号的有选择的反相是依据本发明的格雷码至模拟算法的固有特性,并且它是显著减少D/A变换中的误差累积的关键因素。由于输入的格雷码位通常在离散状态0和1之间大致随机地变化,所以在变换中产生的偏移误差有时会加到此时的累积误差上,有时会从累积误差中减去。因此,误差一般不会以增加的方式累积,并且依据本发明的格雷码D/A变换中的全部累积误差会比对应的常规二进制码D/A变换大致接近于零。
因此,对于对电路缺陷的敏感性,依据本发明的基于格雷码至模拟算法的D/A变换比二进制码算法具有显著的优点。
为了例示的目的,下面将比较在依据本发明的格雷码D/A变换中的误差累积和对应的二进制码D/A变换的误差累积。例如,考虑4位二进制码0110及对应的4位格雷码0101的情况。由于在这个特定例子中考虑的是4位码值,所以N等于4。假定在产生每个中间信号中的偏移误差是+0.02V。
二进制码累积误差:
根据用于常规二进制码D/A变换的等式(1.5),在变换二进制码0110(bb(1)=0,bb(2)=1,bb(3)=1,bb(4)=0,)中的全部累积误差为:
格雷码累积误差:
根据用于依据本发明的格雷码D/A变换的等式(2.9),在变换格雷码0101(bg(1)=0,bg(2)=1,bg(3)=0,bg(4)=1,)中的全部累积误差为:
可以看到,|ΔVgout|<|ΔVbout|,依据本发明的格雷码误差累积一般要比二进制码误差累积低得多,因为与误差相联系的符号是正的和负的。这是一个与发明的格雷码至模拟算法的选择性信号反相直接相关的特性,产生等式(2.9)中的项
图3是依据本发明的一个最佳实施例的将数字输入信号变换成模拟输出信号的方法的原理流程图。假设数字输入信号具有预定整数N个格雷码输入位bg(i),其中i是从N到1的整数。依据本发明的D/A变换基本上如下进行。在步骤A,将变量i初始设置为N+1,并定义初始模拟信号Vg(N+1)=0。接着,在步骤B,将变量i减1。在步骤C,在D/A变换中应用输入位bg(i),并根据下列表达式产生/更新一个中间模拟信号Vg(i):
在步骤C中,使前一中间信号Vg(i+1)减去一个预定的基准信号Vr,接着放大0.5,并根据应用的格雷码位bg(i),有选择地进行一个信号反相,从而产生/更新中间模拟信号Vg(i)。此时,i等于N,表明初始模拟信号Vg(N+1)被用作为前一中间信号,并且输入位bg(N)、即格雷码LSB被用在D/A变换中。在步骤D,如果i等于1,即如果数字输入信号的所有位在此时都已经应用(YES),则在步骤E,将模拟输出信号Vgout定义为最终的中间信号Vg(1),D/A变换完成,该过程结束。然而,数字输入信号一般包括不止一位,从而N大于1(NO),则该过程返回步骤B。在步骤B,变量i再次减1。此时,i=N-1,表明要将下一个输入位bg(N-1)应用在D/A变换中。中间模拟信号被更新,该过程根据流程图继续进行,直到i=1,所有N个格雷码位都已经应用在D/A变换中。
通过在步骤A再次定义初始模拟信号,可以启动一个新的D/A变换,并且开始一个接一个地应用格雷码输入位。
应该理解,在步骤C中的放大和有选择的信号反相的特定顺序对于依据本发明的D/A变换并不关键,也可以在放大之前执行选择反相。
上述参考图3说明的D/A变换方法最好以一种循环方式或流水线方式来实施。循环D/A变换是采用相同的硬件循环地执行的,而流水线D/A变换是采用每个输入位的专用硬件执行的,这些都将在下面更加详细地说明。另外,应该理解,循环和流水线D/A变换的混合也是可以的。因此,上述方法也可以由循环方法和流水线方法的结合来实施。
已经显示出,在基于本发明的格雷码至模拟算法的D/A变换中的误差累积一般是非常低的。下面将描述将格雷码至模拟变换算法的最佳形式硬件实施成循环和流水线D/A变换器。
将所发明的格雷码至模拟算法实施成循环D/A变换器的实施方式
图4是一个显示依据本发明的循环D/A变换器的基本原理的原理框图。循环D/A变换器20基本上包括下述功能部件:第一开关24,加法器/减法器25,反相器26,第二开关27,增益系数等于0.5的放大器28,以及采样/保持电路29。还提供了一个数字输入端(由虚线表示),用于连续接收格雷码位,循环D/A变换器20的每次循环接收一个格雷码位。通常应用不重叠的时钟信号来控制循环D/A变换器、即其功能部件的操作。这些时钟信号是由一个常规的时钟信号发生器(图4中未显示)产生的。
考虑一个N位D/A变换器,作为一个一般的例子。因此,数字输入信号包括N个格雷码输入位bg(i),其中i从N到1。注意,bg(N)表示最低有效位(LSB),bg(1)表示最高有效位(MSB)。将输入位bg(i)连续加到循环D/A变换器的数字输入端,变换从LSB开始,到MSB结束。
实际的D/A变换是从将第一开关24连到地、从而定义一个等于零的初始模拟信号Vg(N+1)开始的。第一开关24还与接收初始模拟信号Vg(N+1)=0的加法器/减法器25相连。加法器/减法器25还响应于一个基准信号Vr,从初始模拟信号Vg(N+1)减去该基准信号Vr。当前加到循环D/A变换器的格雷码输入位、在这种情况下为bg(N)确定是加法器/减法器25的输出信号还是其反相信号被前馈到变换器中。信号反相是由信号反相器26实现的。第二开关27由运用的格雷码位控制,以使得加法器/减法器25的输出信号或其反相信号被切换成与放大器28相连。放大器28以系数0.5放大输入的信号。将放大器28的输出信号定义为与输入位bg(N)相联系的中间模拟信号Vg(N)。这个中间模拟信号Vg(N)由采样/保持电路29进行采样。接着,第一开关24从地连到采样/保持电路29的输出,从而闭合了变换器环路,使信号能进行循环。此时,由采样/保持电路29采样和保持的中间信号Vg(N)被释放,并传到加法器/减法器25。加法器/减法器25从中间信号Vg(N)减去基准信号Vr,信号反相器26执行被加/减的信号的信号反相。将下一个格雷码位bg(N-1)加到数字输入端,其确定是加法器/减法器25的输出信号还是来自信号反相器26的其反相信号被切换成与放大器28相连。由第二开关27前馈的信号在放大器28放大,以产生一个与输入位bg(N-1)相联系的更新的中间模拟信号Vg(N-1)。采样/保持电路29再次采样和保持放大器28的输出信号。
在依据本发明的循环D/A变换器的每次循环中,通过加法器/减法器25、信号反相器26、数控第二开关27和放大器28更新中间信号。一般来说,更新的中间信号Vg(i)是根据前一个中间信号Vg(i+1)和当前的格雷码输入位bg(i)而产生的。
在所有循环中第一开关24与采样/保持电路29的输出相连,操作一直持续到最高有效位(MSB)已经加到循环D/A变换器上。然后,将放大器28的输出信号或采样/保持电路29的输出信号从变换器环路提取,作为循环D/A变换器20的最终的模拟输出信号。通过将第一开关24再次与地相连,可启动一个新的循环D/A变换。
图4的循环D/A变换器20是上面在等式(2.1)定义的所发明的格雷码至模拟算法的直接实现。通过将第一开关24与地相连,将初始模拟信号Vg(N+1)定义为零。然后,在更新中间信号Vg(i)的每个循环中,从前一个中间信号Vg(i+1)减去一个基准信号Vr,并根据在这个循环中采用的格雷码位bg(i),有选择地使所得信号进行信号反相和放大0.5。变换一直持续到已经产生Vg(1)。
应该认识到,放大器28也可以在反相器26和第二开关27之前。
还应该理解的是,循环D/A变换器的循环在时间上是有点彼此分开的,在同一时间相互临时电隔离。这种操作是由采样/保持功能和不重叠时钟信号对电路的控制确保的,这将在下面参考图5和6进行更详细的说明。
图5是依据本发明的第一最佳实施例的循环D/A变换器的完全差分开关电容的一个例示性实现的电路图。对于完全差分实现,考虑双信号,也称之为差分信号。一个差分信号具有振幅相同、极性相反的两个信号部分。图5的电路实施方式实现了关于差分信号的等式(2.1)的格雷码至模拟算法。为了简化起见,用等式(2.1)中定义的对应的单端信号的标号来标示差分信号。
循环D/A变换器30基本上包括两个运算放大器(OPAMP)31和32、电容器C1、C2和C3、开关结构33和多个控制开关。此外,还有一个数字输入端(未显示)用于连续接收格雷码位,循环D/A变换器的每次循环接收一个格雷码位。运算放大器31和电容器C1和C2在适当的控制开关的控制下作为第一采样和保持放大器(SHA)操作。第一SHA在其保持模式的增益系数是0.5。第二运算放大器32和电容器C3在适当的控制开关的控制下作为第二单位增益采样和保持放大器(SHA)操作。除了与采样和保持放大器的操作有关的控制开关之外,还提供了反馈开关S
f和输出开关S
out。循环D/A变换器30还包括一个时钟信号发生器(未显示),产生一组具有预定定时和预定信号值的时钟信号Φ
s、Φ
1和Φ
2。图6是显示在图5的D/A变换器实现中采用的时钟信号Φ
s、Φ
1和Φ
2的时序图。循环D/A变换器30的操作是由这些时钟信号控制的,时钟信号控制反馈开关S
f、输出开关S
out和控制开关。反馈开关S
f是由
控制的,输出开关S
out是由Φ
s控制的。在附图中,由对应的时钟信号的标号标示特定的控制开关。在这个实现例子中,当相应的时钟信号变高时,接通开关,当相应的时钟信号变低时,断开开关。
参看图5,OPAMP 31、32中的每一个具有两个输入端和两个输出端,并以一个内部公共模式反馈功能进行操作。第一OPAMP 31具有相关的并联电容器C1、C2。在第一OPAMP 31的每对输入输出(+至-/-至+)端上有通过由Φ2控制的控制开关有选择地并联的电容器C1和电容器C2。第二OPAMP 32具有两个相关的前电容器C3,分别与一个相应的输入端相连。开关结构33具有两个输入端和两个输出端,包括四个开关,由从数字输入端提供的输入格雷码位b(i)和其逻辑逆b(i)控制。开关结构33被构造为根据输入的格雷码位通过交换其信号极性有选择地将输入到其上的差分信号反相。所有的电容器都具有相同的电容。电容器C1有选择地通过由Φs控制的控制开关连接到地,通过反馈开关Sf连接到开关结构33的输出端。电容器C2通过由Φ1控制的开关有选择地连接到最好是从一个常规的信号源(未清楚地显示)提供的差分基准信号Vr的反相。在操作中,当第一OPAMP 31处于一放大或保持相位时,它的增益系数等于0.5。应该理解,第一OPAMP 31与其相关的电容器C1和C2一起形成了第一SHA,这使该结构的增益系数是0.5。第一OPAMP 31和第二OPAMP 32分别具有由Φ1和Φ2控制的控制开关,并联在对应的OPAMP上。在闭合时,由Φ1和Φ2控制的控制开关短路或分别将第一OPAMP31和第二OPAMP 32复位。这个复位能减少OPAMP中的直流偏移。另外,由Φ1控制的控制开关并联在第二OPAMP 32及其相关的前电容器C3上。
可以看出,第一SHA通过由Φ2控制的开关有选择地连接到第二SHA,第二SHA接着直接连到开关结构33。开关结构33的输出端连到输出开关Sout,并通过反馈回路中的反馈开关Sf有选择地连接到第一SHA的电容器C1。
为了更好地理解图5所示的循环D/A变换器的完全差分实现,下面将更详细地说明在多个连续时钟相位、一般用时钟信号Φs、Φ1和Φ2的高相位表示的相位的操作。下面参看图7A-C,图7A-C是图5的完全差分实现在不同时钟相位的简化电路图。图7A-C的电路图被简化了,以便只显示循环D/A变换器30在所考虑的时钟相位相关的那些部分。断开的开关和未连接的元件一般未显示。
图7A显示了在第一时钟相位、当Φs和Φ1为高时的循环D/A变换器。变换开始于与时钟相位Φ1一致的时钟相位Φs。通过将输入电容器C1连到地而启动电路,以便在电容器C1上采样一个零电压,从而定义了初始模拟信号Vg(N+1)。同时,在电容器C2上对基准信号的逆信号采样。注意,由于全差分结构,由负分支对基准(不是基准的逆信号)进行采样。在第一SHA的第一OPAMP 31自动置零,而带有第二OPAMP 32及其相关电容器C3的第二SHA处于其保持模式。将一个格雷码输入位加到开关结构33上,以使得由第二SHA保持的电压根据该位输入反相或交换。在循环D/A变换器30中,在第一时钟相位启动一个新的D/A变换。然而,同时,在图6中表示为MSB的前一个数字输入码的最高有效位被加到开关结构33上。现在,由于Φs为高,输出开关Sout闭合,开关结构33的选择性反相输出信号被作为与前一个数字输入码相联系的模拟输出信号Vgout’=Vg(1)’向前传送。为了防止前面的D/A变换影响新启动的D/A变换,通过断开反馈开关Sf来切断从开关结构33的输出端向第一SHA的电容器C1的反馈。
图7B显示了在第二时钟相位、当Φ2为高时的循环D/A变换器30。第一SHA处于其保持模式。记住,基准的逆信号先前已在电容器C2上采样。现在,电容器C2上的电荷在并联的电容器C1和C2之间平均地分布,从而将基准电压一分为二(第一SHA实现放大系数为0.5)。第一SHA、即第一OPAMP 31及其相关电容器C1和C2的输出信号由电容器C3采样。因此,在电容器C3上采样的电压等于1/2·(-Vr)。第二SHA中的第二OPAMP 32自动置零,输出开关Sout现在断开。
图7C显示了在下一个时钟相位期间、当Φ1再次为高时的循环D/A变换器30。如图6所示,将当前的数字输入码的第一个格雷码输入位LSB加到电路上。现在i=N。第二SHA处于其保持模式,由第二SHA保持的信号被传到开关结构33,并根据加上的输入位b(N)、即LSB有选择地进行反相。开关结构33的输出信号也被称为中间模拟信号Vg(N),因此该信号等于:
其中,ΔV(N)代表在产生中间信号Vg(N)中的误差电压。假设误差电压ΔV(N)代表在一个从Vg(N+1)=0开始、在上述定义的Vg(N)结束的变换循环期间引入到信号中的所有误差。这个误差电压是多个不同类型误差的代表。在高阻抗节点提供的控制开关一般引入一个小的电荷,即所谓的时钟感应电荷,而这导致一个直流偏移误差电压。在差分实现中,这些偏移误差在理想上会相互排斥。然而,关于时钟感应电荷引入不对称的开关对会产生一个直流偏移。一般来说,在每个OPAMP中还有一个固有的直流偏移,虽然这个偏移电压已经通过对OPAMP复位而被减至最小。在下面的描述中,将在产生中间信号Vg(i)中引入的所有误差、包括低频噪声一起用误差电压ΔV(i)表示。
输出开关Sout仍然断开,但现在反馈开关Sf闭合,以使得来自开关结构33的中间信号Vg(N)被采样在电容器C1上。同时,基准信号的逆信号被采样在电容器C2上,第一SHA中的第一OPAMP 31自动置零。
在下一个时钟相位中,当Φ2为高时(再参见图7B),第一SHA处于其保持模式。在前面的时钟相位期间(参见图7C),中间信号Vg(N)被采样在电容器C1上,基准信号的逆信号被采样在电容器C2上。现在,在电容器C1和C2上的电荷的总和在电容器C1和C2之间平均分布。换句话说,第一SHA实现了0.5倍的放大。第一SHA、即第一OPAMP 31及其相关的电容器C1和C2的输出信号由电容器C3采样。因此,采样到电容器C3上的电压等于1/2·[Vg(N)-Vr]。第二SHA中的第二OPAMP32自动置零,输出开关Sout断开。
接着,在时钟相位Φ1,如图6所示,将当前数字输入码的第二个格雷码输入位、第2 LSB加到电路上。再参看图7C,i=N-1,第二SHA处于其保持模式,由第二SHA保持的信号传到开关结构33,并根据加上的输入位b(N-1)、即第2 LSB有选择地进行反相。因此,开关结构33的输出信号、也即中间模拟信号Vg(N-1)等于:
其中,ΔV(N-1)代表在产生中间信号Vg(N-1)中的误差。输出开关Sout仍然断开,反馈开关Sf闭合,以使得来自开关结构33的中间信号Vg(N-1)被采样在电容器C1上。基准信号的逆信号被采样在电容器C2上。另外,第一SHA中的第一OPAMP 31自动置零。
在下一个时钟相位中,当Φ2为高时(参见图7B),第一SHA处于其保持模式。在前面的时钟相位期间,中间信号Vg(N-1)被采样在电容器C1上,基准信号的逆信号被采样在电容器C2上。现在,在电容器C1和C2上的电荷的总和在电容器C1和C2之间平均分布,并且第一SHA的输出信号由电容器C3采样。因此,采样到电容器C3上的电压等于1/2·[Vg(N-1)-Vr]。第二SHA中的第二OPAMP 32自动置零,输出开关Sout仍然断开。
循环D/A变换器的操作继续进行,在处于时钟相位Φ1的图7C的电路结构和处于时钟相位Φ2的图7B的电路结构之间变换,直到当前的数字输入码的MSB被加到D/A变换器上。下列关系式(与等式2.7相同)在产生中间信号Vg(i)中为真:
在当前输入码的MSB被加到电路上时,复位时钟信号Φs有效,与时钟相位Φ1一致。MSB输入判定开关结构33是否反相了由第二SHA保持的信号。现在,输出开关闭合,将开关结构33的有选择地反相的输出信号作为与当前的数字输入码相联系的模拟输出信号Vgout=Vg(1)向前传送。将模拟输出信号定义为:
Vgout的最后一项代表最终的模拟输出信号的全部累积误差。从开关结构33到第一SHA的电容器C1的反馈通过断开反馈开关Sf被切断,从而防止当前的D/A变换影响下面的D/A变换。由第一SHA和第二SHA之间的Φ2控制的控制开关断开这个事实使得能够在当前D/A变换完成的同时启动又一个D/A变换。电路的启动是通过将输入电容器C1连到地、从而将一个零电压采样在电容器C1上来执行的。同时,基准信号的逆信号被采样在电容器C2上,并且在第一SHA中的第一OPAMP 31自动置零。
应用依据图5的N位循环D/A变换器的D/A变换采用了N个时钟周期。
应该理解,在开关结构33中执行的信号反相应用了位输入的数字信息,并根据这个信息判定是否应该将开关结构33的输入信号反相。信号反相最好被实施为一个数控极性位移(shift)。在图5的完全差分实现中,通过应用数控开关结构33交换不同信号的极性来执行反相。以这种方式,以非常高的精度实现了信号反相。信号反相的高精度还提高了依据本发明的循环D/A变换器的精度。
另外,由于信号反相只需要非常简单的时钟控制开关,所以使硬件额外开销保持为最小。
还可以通过改变开关和电容器的特定结构来修改上面结合图5、6和7A-C说明的完全差分电路实现。开关和电容器的个数可以变化。还可以以另一些形式实现采样和保持功能、0.5倍的放大、以及反相。控制循环D/A变换器的开关和电路的时钟信号当然可以根据这些电路实现的修改来调整。
还应该理解,根据图5的完全差分实现的单端D/A变换器实现是很容易获得的。
将所发明的格雷码至模拟算法实施成流水线D/A变换器的实施方式
图8是显示依据本发明的流水线D/A变换器的基本原理的原理框图。依据本发明的流水线D/A变换器是一个离散时间的N位D/A变换器,包括整数N个级联(串联)的信号处理级。因此,数字输入信号包括N个格雷码输入位bg(i),其中i从N至1。注意,bg(N)代表最低有效位(LSB),bg(1)代表最高有效位(MSB)。为了例示的目的,未清楚地显示出所有级。一般地,每一级具有一个模拟输入端、一个模拟输出端和一个数字输入端。一级的模拟输出端与下一级的模拟输入端相连。每一级的数字输入端响应于数字输入信号的输入位bg(i)的一对应位,也将其称为第i个LSB。此外,还提供了一个响应于一预定基准信号的第二模拟输入端。
通过将级N连到地、从而定义一个等于零的初始模拟信号Vg(N+1),开始实际的流水线D/A变换。接着,将数字输入码加到D/A变换器上,并将该码字的输入位bg(i)以一离散时间序列连续地加到变换器的信号处理级上,每一级一位,并由变换器的各级以流水线方式更新中间模拟信号Vg(i),直到在最后一级产生一个最终的模拟输出信号Vg(1)=Vgout。通过定义,当最后一级已经产生其模拟输出信号Vg(1)时,D/A变换完成。
流水线D/A变换器的信号处理级一般是由不重叠的时钟信号、例如图8所示的Φ1和Φ2与在每一级中提供的某种采样和保持电路相结合来控制的。这确保变换器的离散时间操作。在连续的输入位之间最好以半个时钟周期的间隔提供输入位。换句话说,流水线D/A变换器的各级的操作在时间上是有点相互分离的,并在瞬时彼此电隔离。例如,如果级i接收第i个MSB以便在时钟相位Φ2上产生中间模拟信号Vg(i),则级(i-1)接收第(i-1)个LSB以便在时钟相位Φ1上产生中间模拟信号Vg(i-1),以此类推。这些时钟信号是由常规的时钟信号发生器(未显示)产生的。
在图8中,还显示了发明的流水线D/A变换器的单级40的一个更详细的表示。图8的流水线级40基本上包括下列功能部件:加法器/减法器45、反相器46、开关47、增益系数等于0.5的放大器48、以及采样/保持电路49。流水线级40如下操作:前一级的输出端与加法器/减法器45相连,加法器/减法器45在一给定时钟相位接收前一级的中间模拟信号Vg(i+1)。加法器/减法器45还响应于一个基准信号Vr,将其从中间模拟信号Vg(i+1)中减去。加到流水线级40的格雷码输入位,在这种情况下为bg(i),判定是加法器/减法器45的输出信号还是其反相信号被向前馈送。信号反相是由信号反相器46实现的。开关47由应用的格雷码位控制,以便可以将加法器/减法器45的输出信号或其反相信号切换成与放大器48相连。放大器48以系数0.5放大运送的信号。由采样/保持电路49采样并保持放大的信号。将S/H电路49的采样和保持信号定义为一个与输入位bg(i)相联系的中间模拟信号Vg(i)。在下一个时钟相位,由采样/保持电路49采样和保持的中间信号Vg(i)被释放,并传送到下一级(级i-1)。
应该理解,图8的流水线D/A变换器是在上述等式(2.1)中定义的所发明的格雷码至模拟算法的直接实现。然而,放大器48也可以在反相器46和开关47的前面。另外,可以将放大器48和S/H电路49集成为一单个单元,例如采样和保持放大器。
为了完全地应用依据本发明的流水线D/A变换器的高速能力,变换器一般“同时”执行数个D/A变换。一旦一个信号处理级已经响应第一数字码值的输入位更新了中间模拟信号,并将中间信号传输到下一级,则它准备接收第二数字码值的一个输入位。以这种方式,流水线D/A变换器可以在变换器的不同级同时处理不同数字码值的输入位。这种流水线操作提高了变换器的处理能力,从而使流水线DAC在每个时钟周期产生一个模拟输出信号。
图9是依据本发明的第二个最佳实施例的完全差分流水线D/A变换器的电路图。图9的流水线D/A变换器的整体结构与图8中的是非常相似的。图9的流水线D/A变换器包括整数N个级联的信号处理级,其中,一级的模拟输出端与下一级的模拟输入端相连。数字输入信号包括N个格雷码输入位bg(i),其中i从N到1,bg(N)代表最低有效位(LSB),bg(1)代表最高有效位(MSB)。通过将级N连到地、从而定义一个等于零的初始模拟信号Vg(N+1),实际的流水线D/A变换开始。接着,将数字输入码加到变换器上,并将数字输入码的输入位bg(i)以一离散时间序列连续地加到变换器的单个信号处理级上,每一级一位,并由变换器的各信号处理级以流水线方式更新中间模拟信号Vg(i),直到在最后一级产生一个最终的模拟输出信号Vg(1)=Vgout。
图9的流水线D/A变换器还包括一个时钟信号发生器(未显示),用于产生一组预定定时和预定信号值的时钟信号Φ1和Φ2。图10是显示时钟信号Φ1和Φ2的时序图,时钟信号Φ1和Φ2控制流水线D/A变换器的操作。
为了正确地处理数字输入码,在从LSB开始的连续的输入位之间提供了半个时钟周期的延迟。符号z-(N-1)/2表示(N-i)/2个时钟周期(N>i≥1)的延迟。此外,在连续各级之间的时钟相位应该被“交换”,即,如果级i在时钟相位Φ2产生中间模拟信号Vg(i),则级(i-1)在时钟相位Φ1产生中间模拟信号Vg(i-1)。
在图9中,还显示了一单个流水线级50的更详细的表示。流水线级50是一个完全差分实现。在处理完全差分实现时,考虑差分信号。依据图9的流水线D/A变换器是基于关于差分信号的等式(2.1)的格雷码至模拟算法的。为了简化起见,用相应的单端信号的标号标示差分信号。
下面将详细说明图9的流水线级50。它基本上包括下述功能部件:运算放大器(OPAMP)51、电容器C1和C2、开关结构52、数个控制开关和输出开关Sout。输出开关Sout是由Φ2控制的。运算放大器51和电容器C1和C2在适当的控制开关的控制下作为一个采样和保持放大器(SHA)工作。在附图中,一特定控制开关用其对应的时钟信号的标号来标示。在这个实现例子中,当对应的时钟信号变高时,开关闭合,当对应的时钟信号变低时,开关断开。
OPAMP 51具有两个输入端和两个输出端,并以一种内部公共模式反馈功能操作。此外,OPAMP 51具有相关的并联电容器C1和C2。电容器C1和电容器C2通过由Φ2控制的控制开关有选择地并联在OPAMP 51的每对输入输出端上。另外,OPAMP 51具有并联在OPAMP上的由Φ1控制的控制开关。当闭合时,这些由Φ1控制的控制开关将OPAMP 51短路或复位。该复位能抑制OPAMP 51中的直流偏移。所有电容器都具有相同的电容。电容器C1通过由Φ1控制的开关有选择地连到差分基准信号Vr的逆信号。基准信号最好是通过一第二模拟输入端从一个常规信号源提供的。电容器C2通过由Φ1控制的开关有选择地连到前一级的输出端,从而准备接收中间信号Vg(i+1)。在操作中,当SHA、即OPAMP 51及其相关的电容器C1和C2处于其放大或保持相位时,它的增益系数等于0.5。开关结构52具有两个输入端和两个输出端,并包括四个由输入格雷码位b(i)及其逻辑逆
b(i)控制的开关。开关结构52被构造为根据格雷码输入位通过交换差分信号的信号极性有选择地将输入到其上的差分信号反相。
将SHA连接为从前一级接收中间信号Vg(i+1)和预定基准信号的逆信号。在其保持相位,SHA实现0.5倍的放大。SHA还直接与开关结构52相连,开关结构52有选择地将SHA的输出信号反相。开关结构的有选择地反相的信号作为中间信号Vg(i)被传送到下一级。
为了更好地理解图9的完全差分实现,下面将说明流水线级50在连续的时钟相位的操作,连续的时钟相位一般用时钟相位Φ1和Φ2的高相位表示。下面将参考图11A-B进行说明,图11A-B是图9的完全差分流水线级50在不同时钟相位的简化电路图。图11A-B的电路图已经被简化为只显示流水线D/A变换器级50的那些与所考虑的时钟相位相关的部分。断开的开关和未连接的元件一般不显示。
图11A显示了在Φ1为高时的时钟相位的流水线D/A变换器级50。输入电容器C2与前一级的输出端相连,以便对中间信号Vg(i+1)采样。并且,基准信号Vr的逆信号被采样在电容器C1上。注意,由于完全差分结构,由负分支对基准信号(而不是基准信号的逆信号)采样。SHA中的OPAMP 51自动置零。
图11B显示了在Φ2为高时的时钟相位的循环D/A变换器级30。现在,在电容器C1和C2上的电荷总数均匀地分布在电容器C1和C2之间,从而将这些电荷的总量一分为二。换句话说,SHA实现0.5倍的放大。SHA、即OPAMP 51及其相关电容器C1和C2的输出信号等于1/2·[Vg(i+1)-Vr+ΔV(i)],其中ΔV(i)代表在产生中间信号Vg(i)中的误差。为了简化,假设这个误差电压是在OPAMP 51引入的。误差电压ΔV(i)是多个不同类型误差的代表,例如时钟引入的电荷注入和其他直流偏移,以及低频噪声。在一特定级产生的误差与另一级产生的不一定相同。然而,假设误差的一部分是相关的,另一部分是不相关的,从而ΔV(i)=ΔVs+ΔVr(i),其中ΔVs是对所有级都相同的系统误差,ΔVr(i)是对每一级单独的随机误差。系统误差ΔVs当然可以在不同的D/A变换器之间变化。随机误差ΔVr(i)具有一个等于零的期望值。下面为了简化起见,假设D/A变换上的随机误差的影响为零,因此ΔV(i)=ΔVs。由开关结构52接收SHA的输出信号,包括系统误差ΔVs。将格雷码输入位b(i)及其逆信号
b(i)加到开关结构52上,开关结构52如图11B所示根据应用的输入位将SHA保持的差分信号反相或交换。输出开关Sout被闭合,开关结构52的有选择地反相的输出信号作为中间信号Vg(i)被传送到下一级。中间信号Vg(i)等于:
为了实现一个完全的N一位D/A变换,应用所有的N级,最后一级、即级1的输出信号Vg(1)由下式给出:
如上所述,最后一级的输出信号Vg(1)被定义为与数字输入码相联系的最终的模拟输出信号。等式(4.2)中的最后一项代表最终的模拟输出信号中的全部累积误差。
图9的完全差分N位流水线D/A变换器的全部累积误差与图5的完全差分N位循环D/A变换器的全部累积误差相一致,并且也与由等式(2.9)给出的累积误差相一致。
当然,基于上面结合图9、10和11A-B描述的完全差分流水线实现的单端流水线D/A变换器实现也可以容易地得到。还应该理解,循环和流水线D/A变换器的混合也是可以的。在本发明的另一个实施例中,k个循环m位D/A变换器串联,以形成一个k次m位的混合D/A变换器,其中k和m是正整数。举例来说,四个依据本发明的2位循环D/A变换器以流水线方式级联,形成一个8位D/A变换器。
当然,依据本发明的到格雷码至模拟D/A变换器的数字输入信号是格雷码的形式。然而,如果依据本发明的D/A变换器被用在一个具有被设计为以标准二进制码工作的设备的系统中,必须将二进制码信号变换成格雷码信号。因此,在这种情况下,本发明的D/A变换器还包含用于将一个标准二进制码信号数字变换或转换成一个格雷码输入信号的装置,作为一个输入级。图12是显示应用简单的数字门电路XOR-1、XOR-2、XOR-3将4位标准二进制码变换成4位格雷码的示意图。根据与上面的等式(2.3)相同的下列关系,将标准二进制码的各位(在这里表示为bb(i))变换成格雷码位(在这里表示为bg(i)):
bg(1)=bb(1);
bg(i)=bb(i)bb(i-1),(2≤i≤N) (4.3)
其中,N是码值的位数,代表异或操作。在图12的例子中,N等于4。二进制码的MSB、bb(1)没有任何改变地变换成格雷码的MSB、bg(1)。应用相应的数字XOR门电路将剩下的二进制码位变换成格雷码位。这个数字变换不会引入任何偏移误差。因此,通过应用上述的数字二进制码至格雷码的变换与依据本发明的格雷码至模拟D/A变换相结合,可以对一个最初以二进制码给出的输入信号执行D/A变换,仍然能获得一个具有低累积偏移误差的模拟输出信号。
循环D/A变换器的另一个实施方式
图13是依据本发明的另一个实施例的循环D/A变换器的例示性完全差分开关电容器实现的电路图。图13的电路实施方式实现了关于差分信号的等式(2.1)的格雷码至模拟算法。与图5的实现一样,图13的实现是带有数控开关的开关电容器类型的。在D/A变换中,执行对基准信号的减法和系数为0.5的放大。还应该理解的是,数字信号的格雷码位确定是否实现算法的反相功能。
循环D/A变换器60基本上包括第一运算放大器(OPAMP)61、第二运算放大器62、开关结构63、相关的电容器(C,2C)、数个控制开关和一对输出开关。
OPAMP 61、62中的每一个具有两个输入端和两个输出端,并以一种内部公共模式反馈功能操作。
在图13中,采样和保持电路包括运算放大器61、相关的电容器C和2C、地连接和控制开关Φ1和Φ2,将该采样和保持电路定义为一个采样和保持放大器,在图中用虚线包围,标示为SHA。采样和保持放大器SHA在其保持模式的增益系数是0.5。每个电容器2C(具有两倍于电容C的电容)并联在第一运算放大器61的一对对应的(相反符号的)输入输出端上,每个电容器C通过一个对应的开关Φ2有选择地连到所述第一运算放大器61的对应的输入端上,并且电容器C通过对应的开关Φ2有选择地响应于差分基准信号Vr,通过对应的反馈开关Φ1有选择地响应于一个差分反馈信号。有开关Φ1(以与电容器2C相同的方式)并联在第一运算放大器61上,以便有选择地对其进行复位。
将第二OPAMP 62及其电容器C构造为一个采样和保持电路SHC,用作为一个单位增益缓冲器。在每对输入输出(+至-/-至+)端之间都有连接,并且相关的电容器C连在第二运算放大器62的输入端上。
采样和保持电路SHC通过开关Φ2有选择地连接到所述第一运算放大器61的输出端,用于对采样和保持放大器SHA的放大的差分输出信号进行采样。
此外,还有一个数字输入端(未显示),用于连续接收格雷码位,循环D/A变换器的每个周期一个格雷码位。
开关结构63具有两个输入端和两个输出端,并包括由从数字输入端提供的输入格雷码位b(i)及其逻辑逆
b(i)控制的四个开关。开关结构63被构造为根据输入的格雷码位有选择地通过交换信号的信号极性来将所述采样和保持电路SHC的差分输出信号反相。所述开关结构63的有选择地交换/反相的差分输出信号作为差分反馈信号通过开关Φ1被有选择地提供给SHA的输入电容器(C)。
循环D/A变换器60还包括一个时钟信号发生器(未显示),该时钟信号发生器产生一组具有预定定时和预定信号值的时钟信号Φout、Φs、Φ1和Φ2。
图14是显示在图13的D/A变换器实现中应用的时钟信号Φout、Φs、Φ1和Φ2的时序图。循环D/A变换器60的操作是由这些时钟信号通过控制输出开关和控制开关来控制的。在附图中,一特定控制开关用其对应的时钟信号的标号来标示。在这个实现例子中,当对应的时钟信号变高时,开关闭合,当对应的时钟信号变低时,开关断开。
下面将简要说明循环D/A变换器60的操作。通过将在SHC输入的电容器C在时钟相位Φs复位、从而定义初始模拟信号Vg(N+1)=0,开始D/A变换。这个模拟信号(反馈信号)通过反馈开关Φ1被采样在SHA的输入电容器C上。在这个时钟相位上,输入电容器C一边与地相连,同时,第一OPAMP 61被复位。
在下一个时钟相位Φ2,由SHA实现对基准Vr的减法和0.5倍的放大。SHC对结果采样,LSB输入位确定是否由开关结构63执行反相。因此,根据等式(2.1)产生中间信号Vg(N)。
在下一个时钟相位Φ1期间(数字输入仍然有效),Vg(N)通过与输入电容器C相联系的Φ1开关被采样在SHA的输入电容器C上,第一OPAMP 61被复位。
在下一个时钟相位Φ2,由SHA实现对基准Vr的减法和0.5倍的放大。在同一时钟相位,SHC对结果采样,根据第2 LSB由开关结构63有选择地执行信号反相。因此,根据等式(2.1)产生中间信号Vg(N-1)。
操作根据等式(2.1)一直进行到MSB被输入。时钟信号Φout控制循环D/A变换器60的输出开关,并且当Φout为高时,从电路提取出最终的模拟输出信号Vout=Vg(1)。最好刚好在启动一个新的D/A变换之前执行对最终的模拟输出信号的提取,如图14所示,此时Φout超前其他时钟信号。
总的来说,已经显示出所提出的格雷码D/A变换器优于常规的D/A变换器。依据本发明的基于格雷码至模拟变换算法的所发明的D/A变换器结构非常适合于高精度和低失真的应用。
上述实施例仅仅是例示性的,应该理解,本发明并不限于这些实施例。在不偏离本发明的精神的情况下,当然还可以以除了这里描述的其他特定形式实施本发明。包含这里所公开和要求的基本原理的进一步的修改和改进应落入本发明的范围和精神之内。