传感器概述
嵌入式系统中的嵌入式芯片所处理的信号分为两类:数字信号与模拟信号。模拟信号通常来自于传感器,图1所示为部分传感器的照片及其检测的物理量,这些传感器大都输出模拟的电信号。
传感器的应用非常广泛,现代人的生活已经越来越离不开传感器。例如在消费类电子中手机的麦克风即是一个典型的声音传感器;汽车中更是使用了上百个传感器;在工业安全、能源检测、工业控制以及过程控制中同样使用了各式各样的传感器。
一般情况下,传感器输出的模拟信号较小,而且伴随有噪声。因此嵌入式芯片在处理传感器信号之前,必须先将输出的信号放大并滤波,然后通过AD转换器将模拟信号转换成数字信号后再进行进一步的处理。因此传感器的接口系统中必然用到放大器、滤波器以及AD转换器,在选择这些器件的时候,需要以下因素:放大器的放大倍数与功耗,滤波器的类型、拓扑结构以及滤波器的阶数,对于低通滤波器还需考虑截止频率。目前很多嵌入式芯片都包含AD转换器,因此还需考虑针对特定传感器时,其片上的AD转换器类型、分辨率、采样速度及精度是否可以满足系统设计要求,如果不能满足设计要求,必须选用专用AD转换器,此时除了要考虑上述要求,还应考虑AD转换器与嵌入式芯片的接口方式和数据传输速度。
图2所示的是通用传感器系统框图,传感器输出的幅度比较小的原始信号经放大器放大后,不仅信号被放大,同时噪声也被放大。通过滤波器将噪声滤除并发送给AD转换器进行AD转换,这一过程中噪声及失调与漂移的误差对信号的质量造成很大的影响。通常噪声来源有四个:热噪声、传感器本身的噪声、电路板布线不合理和不理想所产生的噪声以及射频干扰。而失调与漂移误差主要来自元器件和电路板的布局与布线。由于任何运算放大器都不可能是理想放大器,其中一个重要的技术指标是失调电压,而由元件和电路板的布线所构成的电路系统中,电流和电压的信号随着温度或外部电压的变化会产生信号的漂移。
基于可编程数字模块和可编程模拟模块架构的PSoC芯片除了具有一般MCUCPU核和其他的数字处理能力外,还包括模拟模块的阵列和数字模块的阵列,其中所有模拟模块和数字模块都是可编程的,通过编程数字模块可以实现特定的数字功能,而通过编程模拟模块也可以实现特定的模拟处理功能,因此PSoC芯片是一个真正具有混合信号处理能力的系统级芯片。此外,PSoC芯片数字模块之间、模拟模块之间、数字与模拟模块之间以及模拟模块和数字模块与I/O接口之间的路由非常丰富并且强大,这些互联和路由中还带有部分逻辑运算功能,方便了用户的使用。图3和图4表示了模拟模块与数字模块分别能实现的功能,可以看到模拟模块分为CT型和SC型,其中CT模拟模块称为连续时间类型的模块,SC型模拟模块称为开关电容型模拟模块。
降噪:滤波器
系统中的噪声源除了上述的热噪声、电路板噪声、传感器噪声和外部环境的噪声外,还包括1/f噪声和失调引起的噪声,在系统中必须针对不同的噪声选择不同的滤波器,如:低通滤波器可以滤除高频噪声,高通滤波器滤除低频噪声,带通滤波器滤除通带以外的噪声,带阻滤波器滤除特定频率噪声。
低通滤波器
低通滤波器是最常用的噪声滤波器,用PSoC芯片的CT模拟模块和SC模拟模块都可以实现低通滤波器。通过外加少量的阻容元件,可以用CT模块实现Sallen-Key型低通滤波器;而使用SC开关电容模拟模块则不需要使用任何外部元件即可实现低通滤波器,滤波器的性能参数通过开关电容的比率和时钟频率进行调节,二者结构如图5所示。
带通滤波器
带通滤波器用于滤除信号频率带宽以外的噪声,用PSoC的开关电源模拟模块可以实现这一功能,其Q值与中心频率在一定范围内可以由用户设定,图6中左图所示的是开关电容模块配置的带通滤波器,右图为典型的带通滤波器的频率特性曲线。其传递函数表达式为:
陷波滤波器
陷波滤波器即带阻滤波器,可以滤除某些特定频率的噪声,用PSoC开关电容模拟模块可以实现这一功能,其中心频率以及陷波深度可以由用户调节。图7中左图是由用两个开光电容模拟模块配置的二阶的陷波滤波器,其传递函数如下,右图为一个典型陷波滤波器的频率特性曲线。
图7左图是由用两个开光电容模拟模块配置的二阶的陷波滤波器,右图为一个典型陷波滤波器的频率特性曲线。
在PSoC基层开发环境中,为用户提供的基于开关电容型滤波器用户模块可以实现二阶滤波功能,如果有系统需要对噪声信号进行更多的抑制或需要得到比较好的频率特性,可使用多阶滤波器。PSoC芯片最多可实现8阶滤波,但在这种情况下由于PSoC的开关电容模拟模块将全部被占用,因此AD转换和DA转换功能将无法实现。此外还可以使用连续时间模拟模块实现由Sallen-Key型滤波器与开关电容型滤波器构成多阶滤波器,实现系统所需的频率特性以及对噪声的更多抑制,这样就有多余的模拟模块实现AD或DA转换或其它外设功能。
由前述实例中各个滤波器的频率响应特性曲线我们可以看到,不同类型的滤波器具有不同的幅度和相位响应,不同的滤波器可以滤除不同的噪声;其次,利用PSoC的开光电容模拟模块可以构建各种滤波器,最多可用来构建8阶低通、带通和陷波滤波器。在PSoC的基层开发环境当中,也提供了滤波器的设计向导,用EXCEL电子表格设计的工具可以帮助用户轻松地实现各种类型的滤波器设计;第三,在赛普拉斯网站上也提供了相关的笔记。
消除失调和漂移产生的误差
采用相关双采用技术实现热电偶信号的测量
一个K型热电偶灵敏度为40.7uV/℃,如此小的电压变化必须通过放大器放大才能被检测到。由于CMOS运算放大器存在1/f噪声,而频率为0时1/f噪声就是运放的失调电压,滤波器可以滤除噪声但无法消除失调电压,同样AD转换器对于失调电压也无能为力。虽然积分型AD转换器和DeltaSigma型AD转换器有较好的噪声特性,但都不能消除失调;SAR型AD转换器有较高的AD转换速率,但同时更容易受到噪声影响,也不能消除由失调电压带来的偏差。
相关双采样也称为CDS,其实施步骤为:
1)给热电偶信号加一个偏置电压,偏置电压须大于运算放大器的失调电压,再将热电偶的信号和偏置电压经过一个多路选择器输入到运算放大器的输入端;
2)先就多路选择器选择偏置电压,仅对偏置电压和噪声信号进行测量,此时放大器的输出电压为:
VTC-OFFSET=VN+VOFFSET
其中VN为噪声信号电压,而V_{OFFSET}为包含有运放失调的偏置电压;
3)测量含有噪声热电偶信号,将多路转换器的开关切换到热电偶信号的输出,这时运放的输出电压包括三个部分,除了前面提到的两个部分外,还包括热电偶的信号V_{TC},即:
VTC-SAMPLE=VTC+VN+VVOFFSET
4)对噪声测量结果与信号测量结果进行运算处理,由于噪声的采样和信号的采样不是在同一时刻进行,为了对噪声测量的结果与信号测量的结果进行运算,就必须先对噪声测量的结果进行预处理,由于噪声测量是对信号测量的前一次测量,作为一个离散的信号,它的结果必须乘以1/Z,即:
5)计算它们之间差值:
通过采用双线性变换将其变到S域,从而可以消除失调电压的影响:实际上包含有失调电压的VOFFSET是一个不随时间变化的量,在计算差值时,它们被相互抵消,此时得到的电压已经与失调无关,仅受噪声的影响:
6)通过软件IIR滤波器消除噪声影响,获得真正热电偶信号电压。图8中,蓝色的曲线是1/f噪声的频率特性曲线,绿色的曲线是经过CDS计算和IIR滤波以后得到的频率特性曲线,从该曲线中可以看到失调的影响已经降为0,而0.1Hz时的1/f噪声也降低了40个dB。
图8蓝色的曲线是1/f噪声的频率特性曲线,绿色的曲线是经过CDS计算和IIR滤波以后得到的频率特性曲线。
小电阻测量
一般情况下,测量电阻使用欧姆定律,施加电流,测量电压,但小电阻必须使用大电流才能获得足够高的分辨率,使用大电流来测量小电阻并不是一个经济、合理的方法,一种测量小电阻的方法是使用交流调制和滤波,对PSoC来讲,交流的实现和滤波处理是很容易实现的,如图9所示,使用一个DA转换器产生一个低频的交流信号来驱动测量电阻RTest,RTest上的交流信号通过PSoC放大器和滤波器来进行放大和调理。经过PGA放大以后的交流信号先被送入到带通滤波器,用于滤除噪声以后,再被送入到低通滤波器,后者将交流信号恢复为与R的阻值大小成正比的直流信号,最后由AD转换器将其数字化,要注意,用于产生信号的DA转换器,其时序必须同低通滤波器的时序保持一致。
在这一例子中使用PSoC进行信号处理的优势包括:1、使用DA转换器可以很容易的产生交流的驱动信号;2、交流的激励信号经过开关电容、带通滤波器以后产生的是零相移;3、PSoC可以自动产生同步解调器的时钟信号;4、带通滤波器的带宽可以设置得非常狭窄;5、带通滤波器与低通滤波器配合,可以滤除通带以外的冲击干扰和随机的噪声。 |