基于SoC实现的数据采集系统详解

基于SoC实现的数据采集系统详解,第1张

数据采集系统(首字母缩写为DAS或DAQ)首先对放大、电平转换等原始信号执行相应的信号调节,然后再进行信号数字化和存储,从而实现对温度、压力和湿度等现实世界信号的测量。数字信号通常被定期发送到另一个数字系统执行进一步处理。

数据采集系统的部分应用实例包括:天气监测以及对地震仪、压力、温度和风力风向的记录等。将这些信息馈送到计算机,用于预测雨水以及地震和破坏性强风等自然现象及灾害。DAS在医疗领域的应用包括可跟踪心电图(ECG)或脑电图(EEG)信号等的患者监护系统。

典型的DAS系统包含如下组件:

传感器:将真实世界现象转换成等效的电气模拟信号

● 信号调节电路:将来自传感器的信号改变为可执行数字化的形式

模数转换器:将已调节的模拟信号转换为数字表示形式

● 存储与转发存储器:用于存储在后期将被转发至另一系统的数字信号流

● 通信接口:将数字流传输至其它系统的经由通道

● 微处理器系统或微控制器:排序并控制所有其它组件

图1显示了基本数据采集系统的方框图。这些内部模块的详细内容将在下一章节中进行阐述。

基于SoC实现的数据采集系统详解,基于SoC实现的数据采集系统详解,第2张

图1:从单个传感器获取数据的数据采集系统

数据采集系统的子系统

a) 传感器:

如前所述,数据采集系统能够跟踪温度、压力、湿度、流速等物理参数。由于在电子域中处理非常灵活,因而需要使用适当的传感器将这些参数转换成电阻电流或电压变化等可测量的电气量。例如,热敏电阻、电阻式温度检测器(RTD)等传感器会随着温度的变化而相应改变其阻值,而应变计等压力传感器则会根据所施加的压力相应改变阻值。这些均可通过惠斯通电桥(wheatstone‘s bridge)[1]转换成电气量(例如电压)。

表1列出了一些在DAQ中监控的通用物理参数以及所使用的适当的传感器。

基于SoC实现的数据采集系统详解,第3张

表1:常用的电子传感器。

b) 隔离:

信号采集应用在处理超高电压信号时会造成系统毁损。强烈推荐使用变压器对高电压进行降压转换,也可使用光隔离等其它保护电路[2]。

c) 信号调节:

尽管传感器在对所监控的信号进行电气解读方面具有非常宝贵的价值,但是其可用的电信号幅值水平却非常低,通常仅为可计量信号的1/10^6或1/10^3。

除了电气信号测量值的问题以外,一些不相干的外部干扰也会被传感器拾取并加大噪声。如果事先知道这些信号的频率范围,就可以设计适合的滤波器来清除噪声。对于特定位置的温度监控等应用而言,温度不会随着时间的推移发生显著变化,例如大部分都是变化缓慢且频率低。因此,在将输入信号提供给高增益放大器之前有必要先将其馈送到低通滤波器(LPF)进行滤波。

数据采集系统通常会同步跟踪并行环境中的众多信号,并使用单独的传感器测量每一种数量值。如图1所示,如果每种参数都采用单独的数据采集系统进行测量,那么总体系统就会变得非常庞大。此外,由于测量到的信号量变化非常缓慢,因此无需对这些信号进行持续监控,这样我们就可以利用统一的通道多路复用不同的已调节信号输出,以实现进一步处理,如图2所示。

基于SoC实现的数据采集系统详解,基于SoC实现的数据采集系统详解,第4张

图2:N通道数据采集系统的总体方框图。

d) ADC

由于处理数字信号简单易行,因而需要将模拟多路复用器中出来的多路复用信号输入馈送至模数转换器(ADC)。ADC的所需分辨率完全取决于应用需求,但其采样率则取决于输入信号的带宽。我们假定通道1的带宽是f1,通道2是f2,……通道N是fn,那么N通道多路复用的模拟输入则被馈送至ADC,采样频率应为

Fs ≥ 2 * max (f1, f2, …, fn)。

Fs = k * max (f1, f2, …, fn), k≥2

推荐使用较大的k值,以便让数字解码的信号能够紧密跟踪模拟信号且不会丢失任何有效数据。

有人也许会感到奇怪,在对信号进行多路复用之前为什么不单独数字化各个通道。假设我们的某个应用需要监控10个左右的通道,如果在进行多路复用之前对信号进行数字化,那么不得不使用10个单独的ADC(每个通道分配一个),这样就需要10个单独的ADC IC。

对于上述提及的ADC使用方法,需要考虑的一大重要问题就是温度、压力等各种参数在不同实例下进行采样的情况,即温度处于时间“t”,压力处于“t+Δt”,其中Δt = 1 / Fswitch,而Fswitch = 多路复用器的开关频率 = Fs/N。如果在“t”和“t+Δt”之间环境条件发生突变,那么初始时间点测量的温度读数无法反应出这种变化,而在“t+Δt”测得的压力读数才能反映出这一突然变化。如果需要在相同情况下测量所有的物理参数,那么将信号馈送至模拟多路复用器之前需要在每个通道中运用单独的采样与保持电路。触发信号应被同时馈入所有通道的采样与保持电路中,触发信号的频率应为Fswitch/N,其中N表示通道的数量。这类系统也被称为时间同步系统。

模拟多路复用器的开关频率由所用的通道数量控制,并需要考虑采样速率。但是,开关频率还需要受ADC转换时间参数的限制。

实例:

如果ADC的工作时钟频率是FADC,而且每次转换需要“L”个时钟周期进行采样,“M”个时钟周期进行转换,那么

基于SoC实现的数据采集系统详解,第5张

以上条件可被解读为两种情况:

1. 如果“M”和“L”非常大,那么加到ADC的时钟要求就会更高。

2. 具有较大“L”和“M”的ADC固定时钟会限制Fswitch,这样反过来也会限制被监控信号的信号带宽。

这一条件并非强制性的。如果前一个通道已经完成采样阶段并开始进入转换阶段(假设ADC具备此功能),我们就可以将多路复用器切换到下一个通道。在这种情况下

基于SoC实现的数据采集系统详解,第6张

使用PSoC(片上可编程系统)实现数据采集系统

除了外部传感器、隔离器和存储PC外,以上系统一般需要‘N’个低通滤波器、‘N’个高增益放大器、‘N’个采样与保持电路、1个外部N:1模拟多路复用器、1个ADC芯片(带外部参考电压)和1个可用来读取数字数据并通过RS-232接口将读数传送到PC的专用MCU。总的来说,需要‘3N+2’颗芯片;如果我们需要监控10个通道的信号,那么实际需要32颗芯片,这样会使系统过于庞大和昂贵。

我们能用一个片上可编程系统替代32颗芯片,将材料成本降低‘3N+1’倍。表2列出了采用可编程SoC实现的数据采集系统所用的组件列表及其主要特性。

基于SoC实现的数据采集系统详解,基于SoC实现的数据采集系统详解,第7张

表2:在数据采集系统中所用PSoC和其它MCU的对比。

基于SoC实现的数据采集系统详解,基于SoC实现的数据采集系统详解,第8张

图3:采用PSoC的数据采集系统概览。

基于SoC实现的数据采集系统详解,基于SoC实现的数据采集系统详解,第9张

图4:采用内置运放和外部电阻器电容器的二阶低通滤波器(参考图3中的连接方式)。

图3显示了采用赛普拉斯PSoC 3/5构建的系统的内部原理图,以及对各模块的解释。采用PSoC 3/5构建该项目时所使用的工具为PSoC Creator。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2718471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存