随着电子系统中传感器和信号源的快速增加,使得设备设计师们可以在系统MCU或传感器融合协处理器中加入更多的模拟信号通道。尤其是在日益发展的小型物联网领域中更是如此。
信号平均法是一项常用于此类数据采集系统的技术,可以增强数值结果的可用分辨率并抑制多种噪声。虽然过滤方式简单,但其整体效果要取决于所使用的平均法。本文将对传统的序列平均法和最新的交叉平均法进行比较。
许多现代的混合信号MCU和片上系统都直接将平均法加入到模拟-数字转换器硬件中。这大大减少了MCU需要完成的处理量,简化代码编写,缩短处理器需要在高功耗模式中的运行时间。
尽管多种信号与设备之间实现连接的模拟输入多路复用器已十分普遍,但大部分混合信号MCU的硬件平均功能每次只能在一条信号通道中执行。当平均过程完成后,通常会引发中断,然后固件在中断中选择另一个需要转换的模拟输入。在一些设备中,比如赛普拉斯半导体公司的PSoC 4系列1 Msps 12位ADC可编程片上系统,其通道序列内置于转换器硬件中,可在无需处理器干预的情况下对所有通道执行平均功能。
这种传统的对单一通道信号进行多次转换后才转到下一个通道的平均模型被称为序列平均。这种方法存在一些限制,主要问题在于会降低多通道环境中的可用采样率,包括被平均的通道和序列中不需要平均的通道。
最近出现了一种新的方法,可以增强数据采集系统设计师所使用的各种工具。这项技术被称为交叉平均法,它给需要采集高频率信号以及需要快速采集非平均通道样本的系统带来了福音。
序列平均和交叉平均的区别我们可以从一些图文中得到解释,本文选择了一个8通道的配置作为示例。原始ADC采样率设置为800 ksps,每个通道中的16个12位样本将被一起平均。这样会产生一个16位的输出字,而12位样本量化的信噪比贡献量则会把信噪比限制在相对于14位转换器的水平(假设每个样本的量化噪声贡献量不相关)。
由于有8个通道,且每个通道取样16次后获得最终结果,因此ACD需要进行128次转换才能生成各结果组。这一过程需要160微秒,结果组的可用频率为6250次/秒。
这个例子还假设每个通道都有自己的结果寄存器,本示例中所使用的PSoC 4就是如此。但部分混合信号MCU有所不同,它们只有一个结果寄存器,因此不得不在转换通道时进行读取。
图1所示的是伪代码形式的标准序列平均解决方案,其行为如下:
●刷新累积寄存器
●选择通道1
●以1.25微秒间隔进行16次采样,将它们累积在通道1的寄存器中,总耗时20微秒
●选择通道2
●以1.25微秒间隔进行16次采样,将它们累积在通道2的寄存器中,总耗时20微秒
●重复上述步骤,完成8个通道的取样
●转移8个结果,出现中断或DMA
图1:序列平均
每个输入端通过连续16次转换进行采样。一个通道的连续转换需要160微秒,因此每个通道的采样频率为每秒6250个样本。采样孔径(即一个通道的采样时间)为20微秒。这一孔径会产生低通滤波的效果,然而带宽会非常高,出现(1/20微秒)50千赫倍数频率响应的零点。这一过滤无法防止混叠。这一输入信号中的任何接近6250赫兹倍数的频率成分将被混叠降低到接近DC的水平,从而可能制造明显的测量噪声。只能通过使用每个通道的防混叠过滤器对其进行预先过滤,以缓解这一现象。
此外,各通道间会出现20微秒的时间偏差。如果需要计算交叉通道数学函数(比如相关性或功率计算),这一时间偏差会产生严重误差。
如果在这样一个序列中有未平均的通道,此类通道的采样频率主要由其他序列采样中需要做平均的通道决定。因此,尽管ADC的采样频率为800 ksps,但未平均的通道的采样频率要远低于此。最理想的情况是将这800 ksps频率平均分摊到8个通道,每个通道频率为100 ksps。
针对这一难题的解决方案交叉平均法则有效得多(见图2)。定序器与之前一样围绕输入通道,但这一次仅对每个通道采集一个样本。在通道经过N次单次采样后,可以读出所有累积寄存器的输出。
图2:交叉平均
伪代码形式的交叉平均序列如下:
● 将硬件循环计数器设置为0
●刷新累积寄存器
● 重复
●循环计数器+= 1
●选择通道 [循环计数器]
●取一个样本,将它累积到通道 [循环计数器]的寄存器中,总时间1.25微秒
●直到循环计数器 ≥8
●转移8个结果,出现中断或DMA
这个平均过程的信号特征明显不同。现在不会出现连续转换,获得每个平均数的16次转换被均匀地分摊,每轮转换耗时160微秒,间隔10微秒。换言之,每个通道的采样频率为100 ksps,这是将800 ksps ADC分摊到8个通道时的理论最大值。这一过程的采样孔径为160微秒,因此系统频率响应零点会出现在最终采用频率的倍数上。其优点在于输入信号中不会出现混叠降低到DC的高频率噪声。这可大大提高测量的稳定性,从而显著降低模拟过滤要求。
通道之间仍存在时间偏差,但已减少到1.25微秒,相比160微秒的抽样时间要小得多,大大减少了跨通道计算的误差。
在本示例中,使用交叉平均法的转换器子系统以相当于约14位信噪比和6.25 ksps的频率提供8个通道的样本,并有效预防混叠,缩短通道间的延迟时间。
交叉平均法正在赛普拉斯半导体的新型可编程芯片系统设备上推行,包括近期推出的Cortex M4-based PSoC 6和赛普拉斯PSo4系列模拟产品PSoC Analog Coprocessor。该设备的ADC中的硬件(可通过PSoC Creator Scan_ADC 组件进行完整配置)还可以在不执行平均功能的情况下转换序列中的任何通道。这意味着在更前面的例子中,通道仍能够达到100 ksps频率,且不会影响已平均通道的时间。
以高分辨率和高采样频率采集多个通道的样本,极大的增加了使用现代混合信号可编程片上系统进行经济而高性能的模拟信号捕捉的可能性。当需要转换多个可能要求进行平均的模拟通道时,请注意多种平均模式对设备信号处理能力所产生的影响。