和一个数模转换器构成的数据采集系统这样简单的信号链,也要处理许多复杂的因素才能实现一个有效的测量。当使用不同的 简单来说,在所有使用电阻式传感器的系统中,模拟信号链或多或少都类似于如图1所示。 虽然所有的信号链在一个模块水平上看起来很像,每个模块的参数会依据各种不同因素而不同。其中最重要的一个因素是需要仔细考虑经过传感器的电阻值变化(并因此带来的电压改变),其次是物理数量的变化、传感器到测量系统距离的变化(例如,由于导线电阻引起的测量误差),以及该系统要求的精度、干扰类型、所需精度。这一些因素决定了所需激励的类型、传感器连接到测量电路的方式、预处理电路和模数转换器所需的增益、需要的滤波器类型以及截止频率、分辨率和模数转换器输入范围。 让我们看看不同的传感器和相关模拟信号链使用时的需要注意的几点,先看一下热敏电阻。热敏电阻在不一样的温度下是极其非线性的。阻值随气温变化的关系是复杂的非线性函数,如下所示: 这里T是温度,R的阻值。A、B、C是某种热敏电阻器所特有的常数。由于该方程算法复杂,在一个单片机实现它是不明智的。因此,通常实现这个算法的方式是使用查找表来对应阻抗和温度。然后使用分段算法计算出温度。虽然由于增益变化和偏置可能有测量错误,但这些错误对于基于热敏电阻的温度传感器要求的精度来说是可忽略的。增益变化和偏移的问题我们将在这篇文章后面RTD部分介绍。 图2(a)中所示的拓扑结构是使用一个电压DAC来激励电阻分压器。电路中一个电阻是传感器本身,另一个电阻是已知阻值的参考电阻。这种结构是可行的,然而,单端测量有一些不完善的地方。其中之一是地会在靠近传感器的Vss和实际供给模数转换器的Vss之间偏移,这将导致一个偏移量。 另一方面,如图2(b),当ADC的ve输入离电阻较近时,模拟地和ADC的地是相同的。由于差分线会彼此接近,直到传感器,任何加进来的信号都将被复制到另一个上面。使用差分测量结构测量这个信号时,因为它是一种共模信号,所以就抵消了。在这个图中另一点要注意的是,当测量经过Rsensor的电压时,+ve输入要贴近传感器本身。这能够保证不存在由于导线电阻引起的测量误差。 图2(c)显示的结构是使用电流DAC来激励传感器。经过传感器的电压测量会提供一个准确的电阻值测量。就外部组件需要数量而言,电流励磁是最好的结构。它不需要任何参考电阻。然而,如果要校验系统增益误差,就需要一个外部电阻。请注意,对那些不需要很高精度的应用,没有必要进行增益误差补偿,因此外部参考电阻也不是必要的。 RTD (电阻温度探测器)在0o C时阻值为100欧姆,温度上每度的变化引起将近0.385欧姆的变化。由于RTD电阻较低,因此走线电阻的影响在准确性方面起着很重要的作用。RTD使用恒流源激励。经过RTD的电压是可以测量的,可以用3线线方法,这取决于从测量系统到RTD的并行导线数目。由于RTD放在远离测量系统的位置,考虑到电线线测量接口框图。 图3:3线中,当电压在第一通道测量时,测到的不单是经过RTD的电压。事实上,它测量到的是经过RTD及IDAC和RTD之间线阻的电压降。线阻引起的误差可以用多种方式处理。一种方法是手动测量线阻,然后把它储存为一个常数。每一次测量执行时,减去该电阻。另一种方法是测量RTD正极和数模转换器输出脚之间的电压降。如果电线是同一规格,那么他们就会有相同的阻抗,测量到的经过传感器电压可以减去前一步测量的电压。可是,如果电线是不对称的,仍然可能会有一些误差。而且,这种方法将消耗一个额外的引脚来连接DAC的输出脚到ADC的输入。 对于确测量,推荐图4所示的4线配置。正输入负输入都要靠近RTD,从而消除由于导线电阻引起的误差。设计RTD的信号链时,信号链的输入阻抗需要很高,这样输入电流可忽略不计。如果ADC的输入阻抗较低,信号在连接ADC之前应该反馈到buffer。 如前面提到的,系统会有一个偏移,其随温度而不一样。随温度的偏移/漂移和低频噪声能够正常的使用相关双采样(CDS)来消除。使用CDS,首先衡量零参考偏移(测试时两个输入都短路),然后测量经过传感器的电压。在图3和4中,要测量零参考信号,ADC的连接到1通道。当测量到经过传感器的电压时,它包括实际的热电偶电压、偏移和噪声(方程1)。在图3和4中,它是通道0测量到的电压。 如果我们分析方程7,它是一种高通响应。另一方面,ADC有一个低通响应。这能够在一定程度上帮助减少系统总体噪声。同时,我们看一下图4的结构,很明显,系统精度完全依赖于IDAC的准确性。如果IDAC 偏离5%,计算结果也将偏离5%。在测量中叫做增益误差,对于绝大多数系统来说是不可接受的。还有别的因素也会带来增益误差,ADC和它的参考精度是最大的因素。如果ADC的参考精度只有1%,所有使用这个ADC的测量将会有1%的增益误差。在这里,因为我们讨论的是温度测量,所以漂移将是更难的问题。 避免这些不同增益误差的最佳方式是选择更高精度的参数。0.1%精度的电阻能够适用于减少误差。图5显示了其结构,其中连接了校准电阻。 电流首先通过参考电阻,测量到了电压,从而测量出其阻值。这很容易引起先前讨论过的测量误差。然而,在下一步中,同一电流通过RTD,使用相同的设置测量电压。这两个ADC测量的比率除去存在的增益误差,因为RTD的电阻测量是由参考连接到参考电阻组成的。系统精度现在取决于使用的参考电阻的精度和公差。 到现在为止,我们已讨论了在高精度系统中设计精密模拟测量时所面临的挑战,这里的测量范围通常是伏特级的。有的系统测量范围为mV级,这对于设计人员来说是一个全新的挑战。这种系统的一个很好例子就是测压元件。测压元件是这样一些传感器:它们把作用于它们的负载转换成电信号。通常用于体重测量的数字秤。典型的测压元件是四电阻应变片桥结构。传感器是由两种电压激励终端激励,基于应用于传感器的压力,在测量终端会建立一个小电压。测压元件的输出电压范围通常为mV / V,这是1V激励磁电压的输出范围。 让我们举一个例子,一个2mV / V的测压元件,测量最大重量为10千克。若用户使用一个5V的输入作为激励,那么净输出电压范围仅仅是10mV。这在某种程度上预示着即使测压元件正在承受一个10公斤的压力,输出也仅仅是10mV。未解决在这个10mV的范围接近16位精度,这在某种程度上预示着我们需要减少ADC范围来适合这种输入调整。 最常用的方法是使用增益来放大输入信号,以适应ADC的范围,从而在一个较小的范围实现更多位数。例如,先前讨论过的10mV测量范围,使用一个通常有0 + / - 1V范围的ADC,用户都能够使用增益放大器实现接近100倍的信号放大。 当ADC测量1V的动态范围时,一个20-bit分辨率的ADC看到的电压最小是1uV。当用增益来提高范围时,增益也会放大噪声,使它变大有可能会影响ADC的测量。这种噪声影响了ADC在这个增益设定中可以提供的可用位数目。因此,我们必须根据所需增益设置选择最佳ADC分辨率。 通常用于测量测压元件输出的是Delta Sigma (DelSig) ADC和低通滤波器。一些DelSig ADC,例如赛普拉斯PSoC3和PSoC5器件包含的,他们可以在Delta Sigma调制器本身增加增益。这种情况下,ADC上增益的影响将会改变ADC的输入范围从0 + / - 1.024V 到0+ / -0.512V。因此,我们可以在ADC调制器本身达到更高增益。这样做还具有冗余优势。当我们在ADC调制器增加增益时,就可以减少ADC带宽。这对于传感器测量来说不是重点,这是由于传感器更新速率要小得多。然而,减少带宽是一种优势,因为它用作低通滤波器,不允许噪声进入系统。 测压元件接口另一个主要问题是增益误差,因为输出信号范围依赖于激励电压。在测量中,激励电压的一个很小变化都可以引起类似比例的增益误差。如果信号测量和激励电压比率相反,我们就能避免这些。可以通过两种方法实现: 与激励电压,然后计算出比率,从而得出增益误差。然而,这种方法需要在两个信号之间的ADC复用。另一个问题是我们测量的信号幅度是10mV范围,激励磁电压是伏特级的。这将意味着动态改变增益设置和ADC范围参数,在大多数模拟系统中很有可能是不明智的。2)另一种实现方式是把参考连接到ADC本身。一般ADC都有一个参考引脚,连接到一个外部参考。ADC的每次测量都会关联到参考。因此,如果我们提供激励电压或它的派生值作为参考连接到ADC,我们就能得到信号的比率测量。 我们讨论了模拟信号链中避免噪声和其他误差源的几种方式。获得无噪声输出的最后阶段之一是能够正常的使用固件数学滤波器来平衡噪声。简单的实现方式是移动平均滤波器,使用队列,输入值在一侧保持数据流,旧数据从另一侧排队下降。在任何给定的时间内,滤波器的输出是队列中所有单元的平均值。 移动平均滤波是一种最简单而又最有效的滤波器,可以在测量系统中实现更高的噪声抑制。缺点是有一个恒定的延迟,它和使用的队列深度成正比。这就意味着在输出端,n个单元移动平均滤波就要占用n个周期来反映出来。如果有较大的变化并且输出反应较慢就可能会有误解。这种情况能够最终靠变化时使用阈值条件检查来避免。在某一特定时间,如果输入变化超过一个阈值,整个滤波器重新再启动,新的数据拷贝到滤波器和输出,由此减少了对较大变化的延迟。