模拟输入子系统gydF4y2Ba
模拟输入子系统的功能gydF4y2Ba
许多数据采集硬件设备包含一个或多个子系统,可以将真实世界的传感器信号转换(数字化)为计算机可以读取的数字。这样的设备被称为模拟输入子系统(AI子系统,A/D转换器或adc)。在将真实世界的信号数字化之后,您可以对其进行分析,将其存储在系统内存中,或将其存储到磁盘文件中。gydF4y2Ba
模拟输入子系统的功能是gydF4y2Ba样本gydF4y2Ba而且gydF4y2Ba数字转换gydF4y2Ba采用一个或多个模拟信号gydF4y2Ba渠道gydF4y2Ba.你可以把通道想象成传感器信号传递的路径。典型的模拟输入子系统有8或16个输入通道可供您使用。在对数据进行采样和量化之后,必须将其传输到系统内存中。gydF4y2Ba
模拟信号在时间和幅度上是连续的(在预定义的限制内)。采样在离散时间对信号进行“快照”,而量化将电压(或电流)值划分为离散的振幅。gydF4y2Ba
抽样gydF4y2Ba
采样在离散时间对传感器信号进行快照。对于大多数应用程序,采样之间的时间间隔保持不变(例如,采样每毫秒),除非外部时钟。gydF4y2Ba
对于大多数数字转换器,采样是由采样和保持(S/H)电路执行的。S/H电路通常由一个信号缓冲器和一个连接到电容器的电子开关组成。S/H电路的操作步骤如下:gydF4y2Ba
在给定的采样瞬间,开关将缓冲器和电容器连接到输入端。gydF4y2Ba
电容器被充电到输入电压。gydF4y2Ba
在A/D转换器将信号数字化之前,电荷一直保持。gydF4y2Ba
对于连接到一个A/D转换器的多个通道(多路复用),对于每个输入通道重复前面的步骤。gydF4y2Ba
整个过程在下一个采样瞬间重复。gydF4y2Ba
多路复用器、S/H电路和A/D转换器将在下一节中说明。gydF4y2Ba
根据信号的采样方式,硬件可以分为两大类:gydF4y2Ba扫描gydF4y2Ba硬件,按顺序对输入信号进行采样gydF4y2Ba同时取样和保持gydF4y2Ba(SS/H)硬件,同时采样所有信号。下面将讨论这两种类型的硬件。gydF4y2Ba
扫描硬件gydF4y2Ba
扫描硬件对单个输入信号进行采样,将该信号转换为数字值,然后对所使用的每个输入通道重复此过程。换句话说,每个输入通道是按顺序采样的。一个gydF4y2Ba扫描gydF4y2Ba当对组中的每个输入采样一次时发生。gydF4y2Ba
如下所示,大多数数据采集设备都有一个多路复用到多个输入通道的A/D转换器。gydF4y2Ba
因此,如果您使用多个通道,这些通道不能同时采样,并且连续采样通道之间存在时间间隔。这个时间间隔被称为gydF4y2Ba通道倾斜gydF4y2Ba.您可以将信道倾斜看作模拟输入子系统对单个信道进行采样所花费的时间。gydF4y2Ba
此外,硬件额定的最大采样率通常适用于一个通道。因此,每个通道的最大采样率由公式给出:gydF4y2Ba
通常情况下,只有在理想条件下才能达到这个最大速率。在实践中,采样率取决于模拟输入子系统的几个特性,包括沉降时间和增益,以及信道倾斜。下图显示了使用扫描硬件的多通道配置的采样周期和通道倾斜。gydF4y2Ba
如果应用程序中不能容忍信道倾斜,则必须使用允许同时采样所有信道的硬件。同时采样和保持硬件将在下一节讨论。gydF4y2Ba
同时采样和保持硬件gydF4y2Ba
同步采样和保持(SS/H)硬件同时采样所有输入信号并保持数值,直到A/D转换器将所有信号数字化。对于高端系统,每个输入通道可以有一个单独的a /D转换器。gydF4y2Ba
例如,假设您需要同时测量多个加速度计的加速度,以确定被测设备的振动。要做到这一点,您必须使用SS/H硬件,因为它没有信道倾斜。一般来说,如果传感器信号在小于信道倾斜的时间内发生显著变化,或者需要使用传递函数或执行频域相关,则可能需要使用SS/H硬件。gydF4y2Ba
下图显示了使用SS/H硬件的多通道配置的采样周期。注意,没有通道倾斜。gydF4y2Ba
量化gydF4y2Ba
如前一节所讨论的,采样在某一时刻对输入信号进行快照。在拍摄快照时,采样的模拟信号必须从电压值转换为计算机可以读取的二进制数。从一个无限精确的振幅到二进制数的转换被称为gydF4y2Ba量化gydF4y2Ba.gydF4y2Ba
在量化过程中,A/D转换器使用有限个均匀间隔的值来表示模拟信号。不同值的数量由用于转换的比特数决定。大多数现代转换器使用12位或16位。通常,转换器选择最接近实际采样值的数字值。gydF4y2Ba
下图显示了一个由3位a /D转换器量化的1hz正弦波。gydF4y2Ba
量化值的个数由2给出gydF4y2Ba3.gydF4y2Ba= 8时,可表示的最大值为111 = 2gydF4y2Ba2gydF4y2Ba+ 2gydF4y2Ba1gydF4y2Ba+ 2gydF4y2Ba0gydF4y2Ba= 7.0,可表示的最小值为000 = 0.0。gydF4y2Ba
量化误差gydF4y2Ba
连续信号的量化总是会有一些误差。理想情况下,最大量化误差为±0.5最小有效位(lsb),在整个输入范围内,平均量化误差为零。gydF4y2Ba
如下图所示,前一个正弦波的量化误差是通过量化信号减去实际信号来计算的。gydF4y2Ba
输入范围和极性gydF4y2Ba
的gydF4y2Ba输入范围gydF4y2Ba模拟输入子系统是转换有效的输入值的范围。您可以通过选择不同的参数来更改输入范围gydF4y2Ba获得gydF4y2Ba价值。例如,美国国家仪器公司的AT-MIO-16E-1板有8个增益值,范围从0.5到100。许多电路板包括一个可编程增益放大器,允许您通过软件改变设备增益。gydF4y2Ba
当输入信号超出了转换器的有效输入范围时,将会出现故障gydF4y2Ba超量程的gydF4y2Ba情况发生。在这种情况下,大多数设备饱和到最大可表示值,转换的数据几乎肯定是不正确的。增益设置影响测量精度-增益值越高(越低),精度越低(越高)。指gydF4y2Ba距离、增益和测量精度是如何相关的?gydF4y2Ba有关输入范围、增益和精度如何相互关联的更多信息。gydF4y2Ba
模拟输入子系统通常可以对两者进行转换gydF4y2Ba单极gydF4y2Ba信号和gydF4y2Ba双相gydF4y2Ba信号。单极信号只包含正的值和零,而双极信号包含正的值、负的值和零。gydF4y2Ba
单极和双极信号描述如下。参见中图gydF4y2Ba量化gydF4y2Ba举个单极信号的例子。gydF4y2Ba
在许多情况下,信号极性是传感器的固定特性,必须配置输入范围以匹配此极性。gydF4y2Ba
如您所见,了解预期来自传感器的信号范围是至关重要的,这样您就可以配置模拟输入子系统的输入范围,以最大限度地提高分辨率并最小化超量值条件的可能性。gydF4y2Ba
采集的样本如何计时?gydF4y2Ba
通过时钟从模拟输入子系统以特定的速率获取样本。像任何计时系统一样,数据采集时钟的特点是它们的分辨率和准确性。定时分辨率定义为您可以精确测量的最小时间间隔。定时精度受时钟影响gydF4y2Ba抖动gydF4y2Ba.当时钟在给定的时间间隔内产生略微不同的值时,就会产生抖动。gydF4y2Ba
对于任何数据采集系统,通常可以使用三个时钟源:板载数据采集时钟、计算机时钟或外部时钟。数据采集工具箱™软件支持所有这些时钟源,这取决于您的硬件需求。万博1manbetxgydF4y2Ba
船上的时钟。gydF4y2Ba板载时钟通常是硬件板上的一个定时器芯片,它被编程以所需的速率产生脉冲流。与计算机时钟相比,机载时钟通常具有较高的精度和低抖动。当采样率较高,并且需要采样之间有固定的时间间隔时,您应该始终使用机载时钟。机载时钟被称为gydF4y2Ba内部时钟gydF4y2Ba在本指南中。gydF4y2Ba
计算机时钟。gydF4y2BaPC时钟用于没有板载时钟的单板。计算机时钟不太准确,比板载时钟有更多的抖动,并且通常被限制在500hz以下的采样率。计算机时钟被称为计算机时钟gydF4y2Ba软件时钟gydF4y2Ba在本指南中。gydF4y2Ba
外部时钟。gydF4y2Ba当采样率较低且不恒定时,通常使用外部时钟。例如,外部时钟源通常用于汽车应用,其中样本是作为曲柄角度的函数获得的。gydF4y2Ba
通道配置gydF4y2Ba
您可以通过以下两种方式之一配置输入通道:gydF4y2Ba
微分gydF4y2Ba
单端gydF4y2Ba
输入通道配置的选择可能取决于输入信号是否正确gydF4y2Ba浮动gydF4y2Ba或gydF4y2Ba接地gydF4y2Ba.gydF4y2Ba
浮动信号使用孤立的地面基准,不连接到建筑物地面。结果,输入信号和硬件设备没有连接到一个公共基准,这可能导致输入信号超出硬件设备的有效范围。为了避免这个问题,必须将信号连接到设备的板载接地。浮动信号源的例子包括不接地的热电偶和电池设备。gydF4y2Ba
接地信号连接到建筑物地面。因此,输入信号和硬件设备被连接到一个公共基准。接地信号源的例子包括连接到建筑物电力系统的非隔离仪器输出和设备。gydF4y2Ba
请注意gydF4y2Ba
有关通道配置的更多信息,请参阅硬件文档。gydF4y2Ba
差动输入gydF4y2Ba
当您为差分输入配置硬件时,每个输入信号都有两根信号线-一根用于输入信号,一根用于参考(返回)信号。测量的是两根导线之间的电压差,这有助于降低噪声和两根导线共有的任何电压。gydF4y2Ba
如下图所示,输入信号连接到正放大器插座(标记为+),返回信号连接到负放大器插座(标记为-)。放大器有第三个连接器,允许这些信号被参考到地。gydF4y2Ba
美国国家仪器公司建议您在以下任何条件下使用差动输入:gydF4y2Ba
输入信号低电平(小于1v)。gydF4y2Ba
连接信号的引线长度超过10英尺。gydF4y2Ba
输入信号需要一个单独的地面参考点或返回信号。gydF4y2Ba
信号穿过嘈杂的环境。gydF4y2Ba
单端输入gydF4y2Ba
当您将硬件配置为单端输入时,每个输入信号都有一根信号线相关联,并且每个输入信号都连接到同一地。由于信号路径的差异,单端测量比差分测量更容易受到噪声的影响。gydF4y2Ba
如下图所示,输入信号连接到正放大器插座(标记为+),地连接到负放大器插座(标记为-)。gydF4y2Ba
美国国家仪器公司建议您可以在以下任何条件下使用单端输入:gydF4y2Ba
输入信号高电平(大于1v)。gydF4y2Ba
连接信号的引线不到10英尺。gydF4y2Ba
输入信号可以与其他信号共享一个共同的参考点。gydF4y2Ba
对于不满足上述条件的任何输入信号,都应该使用差分输入连接器。您可以为两种不同类型的单端连接配置许多美国国家仪器公司的电路板:gydF4y2Ba
引用单端(RSE)连接gydF4y2Ba
RSE配置用于浮动信号源。在这种情况下,硬件设备本身为输入信号提供参考地。gydF4y2Ba
非引用单端(NRSE)连接gydF4y2Ba
NRSE输入配置用于接地信号源。在这种情况下,输入信号提供自己的参考地,而硬件设备不应提供参考地。gydF4y2Ba
有关RSE和NRSE连接的更多信息,请参阅美国国家仪器公司硬件文档。gydF4y2Ba
将数据从硬件传输到系统内存gydF4y2Ba
从硬件到系统内存的数据传输遵循以下步骤:gydF4y2Ba
采集到的数据存储在硬件的先进先出(FIFO)缓冲区中。gydF4y2Ba
数据通过中断或DMA从FIFO缓冲区传输到系统内存。gydF4y2Ba
这些步骤是自动发生的。通常,您所需要做的只是在安装硬件设备时对其进行一些初始配置。gydF4y2Ba
FIFO缓冲gydF4y2Ba
FIFO缓冲区用于临时存储采集到的数据。数据被暂时存储,直到它可以被传输到系统内存。将数据输入和输出模拟输入FIFO缓冲区的过程如下:gydF4y2Ba
FIFO缓冲区以恒定的采样速率存储新获取的样本。gydF4y2Ba
在FIFO缓冲区被填满之前,软件开始删除样本。例如,当FIFO是半满时产生中断,并向软件发出信号以尽快提取样本。gydF4y2Ba
由于服务中断或DMA控制器编程可能需要几毫秒,因此额外的数据存储在FIFO中以备将来检索。对于较大的FIFO缓冲区,可以容忍较长的延迟。gydF4y2Ba
样本通过系统总线(例如,PCI总线或AT总线)传输到系统内存。在传输样本之后,软件可以自由地执行其他任务,直到下一次中断发生。例如,数据可以被处理或保存到磁盘文件中。只要存储和提取数据的平均速率相等,所获取的数据就不会丢失,应用程序就会平稳运行。gydF4y2Ba
中断gydF4y2Ba
将采集到的数据移动到系统内存中最慢但最常用的方法是由主板生成中断请求(IRQ)信号。该信号可以在采集一个样本或多个样本时产生。通过中断将数据传输到系统内存的过程如下:gydF4y2Ba
当数据准备好传输时,CPU停止它正在做的事情,并运行一个特殊的中断处理程序来保存当前的机器寄存器,然后设置它们以访问主板。gydF4y2Ba
数据从板中提取并放入系统内存中。gydF4y2Ba
保存的机器寄存器被恢复,CPU返回到原来中断的进程。gydF4y2Ba
实际的数据移动相当快,但是在保存、设置和恢复寄存器信息上花费了大量的时间。因此,根据您的特定系统,当采样率大于5 kHz左右时,通过中断传输数据可能不是一个好的选择。gydF4y2Ba
直接存储器存取gydF4y2Ba
直接内存访问(DMA)是一种在处理器执行其他操作时自动将样本存储在系统内存中的系统。通过DMA传输数据的过程如下:gydF4y2Ba
当数据准备好传输时,电路板指示系统DMA控制器尽快将其放入系统内存中。gydF4y2Ba
一旦CPU能够(通常非常快),它就会停止与数据采集硬件的交互,DMA控制器将数据直接移动到内存中。gydF4y2Ba
DMA控制器通过指向下一个开放内存位置为下一个示例做好准备。gydF4y2Ba
前面的步骤将无限重复,数据将进入连续循环缓冲区中的每个开放内存位置。CPU与单板之间不需要交互。gydF4y2Ba
您的计算机支持几种不同的DM万博1manbetxA通道。根据您的应用程序,您可以使用一个或多个这样的通道,例如,声卡的同时输入和输出需要一个DMA通道用于输入,另一个DMA通道用于输出。gydF4y2Ba