具体实施方式
以下详细描述参考附图。在不同的图中可以使用相同的附图标记来标识相同或相似的元件。在以下描述中,出于解释而非限制的目的,阐述了诸如特定结构、体系结构、接口、技术等的具体细节,以便提供对各种实施例的各个方面的透彻理解。然而,受益于本公开的本领域技术人员将明白,各种实施例的各个方面可以在脱离这些具体细节的其他示例中实践。在某些情况下,省略对众所周知的装置、电路和方法的描述,以免不必要的细节混淆各种实施例的描述。此外,附图的特征不是按比例的,而是可以扩展或收缩以说明所公开的实施例。
将多个Σ-ΔADC同步到一个公共同步脉冲可能会导致无效采样时间延长。同步Σ-ΔADC的最常见方法是重置ADC的数字处理硬件。Σ-ΔAD C连续对输入信号进行采样并对Σ-Δ的输出信号进行数字处理以生成输出转换采样。只有在处理了预定数量的调制器输出采样之后才会生成有效的转换采样。
数字处理通常通过平均采样来生成高分辨率转换采样,从而消除高频并最小化噪声。可选地,数字处理还可以通过补偿转换过程中引入的偏移和增益来校准转换样本。
同步的一种方法是在采集板的数字处理开始平均采样时控制点,一些Σ-Δ型ADC包含一个通常在外部引脚中实现的特性来重置数字信号处理。在分布式***中,由主采集板提供的同步信号将所有采集板同步到主板。
每个采集板配置为独立运行,也就是说,响应内部产生的时钟信号。然而,为了保证正确的同步,采集板可以共享由主采集板产生的公共同步信号,例如每秒一次,例如由GPS***提供。理想情况下,本地时钟信号被调整为与同步信号同步,但更重要的是,主板同步Σ-Δ处理器,使得由所有采集板的每个Σ-Δ转换器提供的调制器采样与同步信号对齐。
一种同步方法涉及当同步信号不与采集板的输出时钟信号对准时,重置每个采集板的数字处理硬件。然而,当通过重置数字处理硬件来同步Σ-ΔADC时,在数字处理硬件处理足够数量的输入采样以生成有效转换采样之前存在时间上的损失。这被称为建立时间。图1示出了使用复位数字处理硬件的复位脉冲同步的典型Σ-ΔADC的时序图。如图所示,重置脉冲102导致重置操作在时间106开始。因为数字处理器被重置,数字处理(例如,ADC的输出采样的正弦滤波)重新开始并且Σ-ΔADC经历相对较长的建立时间,例如,20、30或更多个数据就绪输出时钟D RDY的脉冲,直到在时间108有效的转换采样准备好,与DRDY脉冲104的前沿一致。注意,时序图不是按比例的。时钟信号CLOCK通常具有比输出时钟信号DRDY的频率大得多的频率,大约在100到1000倍之间。此外,应注意的是,尽管下面的示例是根据使用信号DRDY和SY NC的相应前沿作为参考点来描述的,但可以设想,任何其他公共参考(例如后沿)或固定延迟(例如信号FS的1-10个脉冲或由单发单稳态多谐振荡器确定的固定间隔)从相应的信号边沿可以用于测量DRDY和SY NC之间或SYNC和DRDY之间的间隔。例如,可以使用这种固定延迟来防止由于SYNC和/或DRDY信号中的噪声引起的错误触发。
下面介绍的例子描述了基于使用采样速率转换器的解决方案,但是可以外推到任何其他数字处理器实现方案,其在数字处理的调制器样本的数目中提供微调能力,使得当样本的数目被修改时不发生动态杂散(例如毛刺)或饱和事件。示例数字处理包括可编程抽取器,该抽取器提供对抽取因子的即时更新。
下面描述的示例测量Σ-Δ型ADC的外部同步信号和输出时钟脉冲之间的时间差。基于这种测量,处理器使采样速率转换器临时调整抽取率来补偿这个时间差。处理器然后使采样速率转换器恢复到其原始速率,以便当完成对原始速率的转换时,ADC将同步到同步信号。
图2示出包括Σ-Δ调制器202,包括三阶积分器级215的三阶正弦滤波器以及包括多个并行三阶微分器和采样速率转换器的电路225的Σ-ΔADC200的示例。美国专利号9,432,043中描述了图2中所示的电路。如下面的例子所述,采样速率转换器可以是可编程抽取器,其通过改变抽取因子来操作,使得输入采样频率FS保持不变。三阶正弦滤波器仅是示例性的。Σ-ΔADC可以使用具有更大或更小阶数的滤波器来实现。
Σ-Δ调制器202通过抽取因子在大于ADC200的输出采样速率的输入采样速率FS处被驱动。Σ-Δ调制器202以时钟频率FS输出一个或多个脉冲序列到积分器级215的一个或多个输入端。为了简单起见,在Σ-Δ调制器202和积分器级215之间仅示出单个信号路径。然而,应该理解,信号路径可以包括多个数据路径,每个数据路径以采样频率FS提供采样。示例积分器级215包括三个级联连接的积分器。第一积分器包括求和电路204和延迟元件206、第二积分器包括求和电路208和延迟元件210、第三积分器包括求和电路212和延迟元件214。求和电路204、208和212中的每一个可包括模数算术加法器具有较大的模量。集成块16的输出现在可以是多位字并被提供给电路225。
电路225包括多个乘累加器电路216、218、222、224、228和230、内插器220、226和232以及控制器236。如上面引用的专利所述,每个乘法-累加器电路实现一个三阶有限脉冲响应(FIR)微分滤波器,当正弦滤波器的抽样因子为100时,可用公式(1)。
输出=–1Z-300+3Z-200–3Z-100+1 (1)
因此,每个乘法累加器实现抽取因子为100到1的三阶微分器。FIR滤波器使用的延迟被改变以改变可编程抽取器的抽取因子。乘法累加器成对排列,包括“A”乘法累加器和“B”乘法累加器。在该布置中,第一信道被实现为两个乘法累加器216和218,其可以被视为信道内的子信道。图2示出了N对乘法累加器。在下面描述的例子中,N=3是因为每个乘法累加器都实现了三阶微分器。然而,可以设想,基于微分器的阶数可以使用更大或更小的N值。
每对乘法累加器中的每个乘法累加器连接到组合电路,例如内插器220,其以加权方式组合乘法累加器的输出。权重是响应于控制器236而可调整的。这样的安排允许合成分数抽取值。例如,假定积分器级215在输入采样速率FS处输出字,并且每个字由索引P标识。当接收到字PE时开始该过程,采样速率转换器接收以M因子抽取的命令,其中E是一个整数。然而抽取因子M可以是一个非整数,它可以分成整数部分I和小数或小数部分D。例如,如果M=233.33,那么I=233和D=0.33。控制器236将值I作为抽取因子加载到第一乘法累加器216。类似地,控制器236将相同的抽取因子I加载到第一对乘法累加器的第二乘法累加器218中。
然而,控制器236控制乘法累加器216和218,使得它们对积分器级215提供的样本进行操作,这些样本在时间上相互偏移采样频率FS的一个周期。用相同的抽取因子I加载信道意味着信道保持同步,即一个字的偏移量,而不管它们提供多少输出字。两个乘累加器216和218的输出以加权方式在内插器220中组合。
内插器220接收来自控制器236的值D。内插器220、226和232实现多种内插方法中的任何一种。在一个例子中,每个内插器是根据等式(2)产生内插值的双线性内插器。
输出=S1+(S2-S1)D (2)
其中S1和S2是在采样速率FS处由积分器级215提供的连续采样。
包括第一对乘累加器216和218以及内插器220的第一通道的操作的描述适用于包括第二对乘累加器222和224和内插器226的第二通道以及包括第三对乘累加器228和230以及内插器232的第三通道。由第二和第三通道处理的采样分别相对于由第一对乘法累加器216和218处理的采样偏移I和2*I采样。多路复用器234选择由控制器236确定的时间由各个信道提供的输出采样。因此,每个乘累加器222、224、228和230包括一个由控制器236控制的可变延迟元件(未示出)。
图3示出了其中第一至第三通道(即,第一至第三对乘法累加器)利用抽取因子MO操作使得每个通道花费3*MO采样时间来执行三阶正弦函数的时序图。抽样因子在时间TU更新为MN。在这个例子中,在TU之后的时间T1完成其计算的第一个通道是CH1。该通道可以立即使用新的抽样因子MN(MN<MO)开始工作。第二个频道CH2是下一个要完成的通道,并且它被加载了MN,但是直到输入采样时钟FS的MO+(2*MN)个周期才发出(或消耗)它的输出。最后,在采样频率FS的(2*MO)+MN输入周期完成之前,第三通道的输出不被输出(或未使用)。如图3所示,示例可编程抽样器在抽取因子延迟之后展现对应于抽取因子MN的新的输出数据速率ODRNEW,在本实施例中,其是信号ODROLD的三个采样周期,对应于MO的输出数据速率。
包括积分器级215和组合抽取器和微分器级225的正弦滤波器可以作为单独的部件或在单个集成电路封装内提供。采样速率转换器可以作为模数转换器(ADC)的一部分提供,如图2所示。或者,它可以作为一些其他信号处理元件的组件提供。
图4和图5是示出如何使用采样速率转换器来快速地将由采集板的Σ-ΔADC提供的输出采样与由主控板提供的同步信号同步的时序图。用于实现同步操作的示例电路在图6中示出,并且图7是描述可以与任何采样速率转换器一起使用的示例同步方法的流程图。
图4示出了包括与下面公开的实施例相关的时间延迟的示例转换过程。群延迟时间t群_延迟表示样本提供给正弦过滤器和过滤器产生相应的输出数据值之间的处理时间。校准时间tCAL表示用于补偿由Σ-ΔADC和滤波器执行的处理中的增益和偏移误差的输出数据值的时间量。t群_延迟和tCAL都是包含采样速率转换器(在这种情况下,是正弦滤波器)的装置特性。下面描述的每个实施例使用两个同步时间值tSYNC1或tSYNC2中的一个。值tSYNC1表示当DRDY脉冲之后发生SYNC脉冲时,数据就绪脉冲DRDY的前沿与SYNC脉冲的前沿之间的时间量。值tSYNC2表示当同步脉冲出现在DRDY脉冲之前时,SYNC脉冲的前沿与DRDY脉冲之间的时间量。
在一个示例中,当***确定DRDY的脉冲未与SYNC脉冲同步时,***会暂时将可编程抽取器的ODR更改为一个趋于使DRDY与SYNC脉冲同步的值,然后将ODR更改回其原始值。
在一个示例实施例中,耦合到Σ-ΔADC的控制电路使用群延迟、校准和同步时间值来确定用于将Σ-ΔADC同步到同步脉冲的临时ODR。当使用TSYNC1时,暂时采样率ODRTEMP或ODRTEMP'由等式(3)、(4)给出或当使用TSYNC2时由等式(5)给出。
否则
其中N是采样率转换器用于调整为新的输出数据速率的转换采样间隔的数量。临时抽取率是1/ODRTEMP或1/ODRTEMP'。这些值可以通过分别如等式(6)、(7)和(8)中所示反转等式(3)、(4)和(5)来直接计算。
否则
当采样率转换器在三阶正弦滤波器中实现时,N等于3。从等式(3)可以看出,当tCAL+tSYNC小于t群_延迟/2时ODRTEMP大于ODR,而ODRTEMP'小于ODR,否则。公式(3)和(4)表示当DRDY脉冲出现在SYNC脉冲之前时的校正,公式(5)表示当SYNC脉冲之后出现DRDY脉冲时的校正。在一个实施方案中,当信号DRDY的脉冲的前沿与随后的SYNC脉冲之间的间隔小于信号DRDY的一半时间时,***使用值TSYNC1。否则,***使用表示SYNC脉冲的前沿与信号DRDY的下一个脉冲的前沿之间的间隔的值TSYNC2。
图5A和5B是示出使用图2所示的采样速率转换器的示例输出采样同步序列的时序图。注意,由于对应于采样时钟信号FS的时钟信号CLOCK具有比输出时钟信号DRDY1或DRDY2高得多的频率,附图没有按比例绘制。
如上所述,图5A所示的间隔tSYNC1表示当SYNC脉冲发生在DRDY脉冲之后,并且当tCAL+tSYNC1大于t群_延迟/2,输出时钟信号DRDY的脉冲的前沿与信号SYNC的脉冲的前沿之间的时间。在这种情况下,示例***暂时增加输出数据速率(即,ODRTEMP>ODR)以将DRDY1脉冲与SYNC信号对齐。***测量间隔tSYNC1,根据等式(4)计算ODRTEMP的值或根据等式(7)计算1/ODRTEMP的值,并且在时间TU1处用信号通知采样速率转换器切换到ODRTEMP数据速率。***然后等待,直到提供了N个转换样本,即在ODR数据速率的信号DRDY1的N个脉冲,并且在时间TU2处用信号通知采样速率转换器切换回ODR数据速率。
如上参照图3所述,该N输出采样抽取因子延迟是可编程抽样器实例的特征。然后,***然后响应于先前的改变请求而在采样速率ODRTEMP处操作信号DRDY1的N个周期,直到输出数据速率返回到ODR速率并且***同步的时间TS1。
图5B示出了当SYNC脉冲发生在DRDY2脉冲之前或者当SYNC脉冲出现在DRDY2脉冲之后并且tCAL+tSYNC小于t群_延迟/2时***的操作。利用参考方程(5)和(8),***测量间隔tSYNC2,根据等式(5)计算ODRTEMP'的值或根据等式(8)计算1/ODRTEMP'的值,并且在时间TU1'用信号通知采样速率转换器切换到ODRTEMP'的数据速率。因为图5B中的SYNC信号发生在DRDY2脉冲之前,所以示例***暂时降低输出数据速率(即,ODRTEMP'<ODR)以将DRDY2脉冲与SYNC信号对齐。***然后等待,直到提供N个转换样本,即以ODR数据速率的信号DRDY2的N个脉冲,并且在时间TU2'处用信号通知采样速率转换器切换回ODR数据速率。然后***在采样速率ODRTEMP'处操作信号DRDY2的N个周期,直到当输出数据速率返回到ODR速率并且***同步时的时间TS2'。
图6是包括采样速率转换器608和抽取寄存器610的示例Σ-ΔADC装置600的框图。ADC 600耦合到同步电路650,同步电路650将输出采样流同步到同步信号SYNC,如上所述。
ADC 600在可编程增益放大器(PGA)602的输入处接收模拟输入信号IN。放大器602将模拟输入信号放大或衰减至与Σ-Δ调制器604兼容的范围。Σ-Δ调制器在采样速率FS处产生数字样本流。样本被施加到正弦滤波器606,正弦滤波器606处理样本以去除噪声。滤波器606可以包括采样速率转换器608,如上面参照图2所述。采样速率转换器608的输出信号OUT是Σ-ΔADC的输出信号。
采样速率转换器608也可以与正弦滤波器606分开。在这种配置中,正弦滤波器606可以在输入采样速率FS下操作。采样速率转换器608可以包括对由正弦滤波器606提供的数字样本进行操作的可编程抽取器。
在任一配置中,采样速率转换器608从抽取速率寄存器610接收抽取速率值。寄存器610由同步电路650控制。同步电路650可以在专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)中与Σ-ΔADC 600分离地实现。或者,同步电路650可以以包含在Σ-Δ型ADC 600中的逻辑来实现。
示例同步电路650包括时钟信号发生器652、定时器电路654、算术逻辑656和存储器658。如图6所示,时钟信号发生器652被耦合以在输入采样速率FS处将时钟信号提供给Σ-ΔADC 600、定时器电路654和算术逻辑656。定时器电路654还被耦合以从采样速率转换器608接收输出采样信号DRDY。定时器电路654确定tSYNC1或tSYNC2的值。定时器电路654可以包括计数器。在该实施例中,当同步电路使用tSYNC1来同步ADC600时,计数器被配置为通过信号DRDY的每个脉冲的前沿被重置,并被读取以与SYNC信号脉冲的前沿一致。当同步电路使用tSYNC2来同步ADC600时,计数器被配置为通过信号SYNC的每个脉冲的前沿被重置,并被读取以与信号DRDY的下一个连续脉冲的前沿一致。这可以通过例如读取和重置信号DRDY的每个脉冲的前沿处的计数器以及每个脉冲的前沿处的SYNC信号来实现。当读取的值与SYNC脉冲一致时,在ODR的一半周期内,该值被用作信号tSYNC1,否则读取的值与下一个连续的DRDY脉冲一致被用作信号tSYNC2。
或者,时钟电路652可以包括对时钟脉冲进行计数以产生***时钟值的计数器。在该实施例中,定时器电路可以存储当每个SYNC脉冲的前沿出现时以及出现信号DRDY的每个脉冲的前沿时***时钟值的值。在此实施例中,定时器电路可产生连续存储值之间的差异。当DRDY脉冲前沿存储的时钟值与SYNC脉冲前沿之间的差值小于ODR周期的一半时,该差值将用作值tSYNC1。当差值大于或等于信号DRDY的一半周期时,***等待下一个DRDY脉冲,并使用在与SYNC脉冲的前沿一致的时钟值和与下一个DRDY脉冲的前沿一致的时钟值之间的差值作为值tSYNC2。
同步间隔tSYNC1或tSYNC2与来自存储器658的存储值t群_延迟和tCAL组合,以分别根据等式(6)、(7)或(8)计算(3)、(4)或(5)中所示的对应于ODRTEMP或ODRTEMP'临时抽取率。当ODR不是预置值时,算术逻辑656从抽取率寄存器610读取对应于ODR的当前抽取率,将该值存储到存储器658中并将值ODRTEMP传送到抽取率寄存器610。将ODRTEMP传送到抽取率寄存器610之后,算术逻辑656配置计数器654以计数信号DRDY的N个脉冲。在对信号DRDY的N个脉冲进行计数之后,算术逻辑656从存储器658中检索对应于ODR的抽取率并将其传送到抽取率寄存器610或将抽取率重置为其预设值。Σ-ΔADC在信号DRDY的N个脉冲后与信号SYNC同步。
虽然图6将同步电路650示出为专用硬件元件,但可以设想,同步功能可以在处理元件(诸如数字信号处理器、微处理器或微控制器(未示出))上的软件中执行,所述处理元件耦合到Σ-ΔADC 600以取代同步电路650。图7是用于实现同步功能的示例程序700的流程图。在框702处,程序使处理元件测量tSYNC1或tSYNC2。该块可以递增处理元件内部的计数器以对SYNC脉冲的前沿与SYNC脉冲之前和之后出现的信号DRDY的各个脉冲的前沿之间的时钟脉冲的数目进行计数。可选地,如上所述,处理元件可以存储信号DRDY的每个脉冲的前沿出现的时间以及每个SYNC脉冲的前沿的出现时间。当所存储的DRDY值与新存储的SYNC值之间的差小于信号DRDY的一半周期时,该差被用作值tSYNC1。否则,***使用存储的SYNC值和下一个DRDY脉冲的存储值之间的差值作为信号tSYNC2。在框704处,程序使处理单元根据等式(3)、(4)或(5)计算ODRTEMP或ODRTEMP'或根据等式(6)、(7)和(8)计算相应的抽取因子,并且在框706处使可编程抽取器将抽取因子改变为ODRTEMP或ODRTEMP'。在框708处,程序使处理元件对信号DRDY的N个脉冲进行计数,然后在框710处发出命令以将抽取因子改回回对应于ODR的因子。在ODRTEMP或ODRTEMP'处信号DRDY的N个脉冲后,同步Σ-ΔADC。
图7中所示的软件可以在非暂时性计算机可读介质中实现,诸如没有排除、耦合到处理元件或电子、磁性或光学介质的存储器元件,例如非易失性存储器、磁盘、光盘(CD)、配置为与处理元件一起使用的数字多功能盘(DVD)。
如上所述,可以为采样速率转换器提供同步机制,其可以使用硬件和/或软件来实现,并且允许输出数据在整个同步过程中可用而无需考虑稳定性。尽管上面描述了几个示例,但是这些示例并非意在限制。本说明书中描述的方法和设备仅由所附权利要求的范围限制。