当前位置:首页 期刊杂志

AS7341光谱传感器的分析与研究

时间:2024-08-31

王伟

(罗克韦尔自动化控制集成(上海)有限公司,上海,201201)

0 引言

随着半导体和电子技术的发展,光谱传感器也有了很大的进步,它不断向小型化、高精度、高性能和低成本的方向迈进。一般地,光谱传感器是由光学部件和控制部件共同组成,光学部件包括利用反射光学元件的成像光学元件和利用分光镜来划分谱段的分光元件。所划分的各个谱段需要用多个探测器,分别是可见光探测器、近红外探测器、中波红外探测器和长波红外探测器。而控制部件包括控制器、图像信号处理器、温度控制器和显示器,将采集的到信号经过数字化处理,形成离散的数据。现在的电子集成技术,让该类型的传感器变得小体积,很多厂商也将光谱传感器封装成一个IC芯片,例如艾迈斯公司芯片级的光谱传感器。这些新器件的面世,大大地方便了光谱检测的应用。

在传感器发展的同时,也激发了许多基于光谱测量的应用。首先在摄影和摄像领域,专业的摄影师都非常了解不同的照明源对照片颜色渲染的影响。现在手机的拍照功能非常强大,不但提供非常高的像素,同时也提供了更多照片处理的功能,如美颜处理和人工智能处理等。特别在一些高端手机上,配备一个能够拍摄真彩色的照片也是一个很大的卖点。在这些要求中,对于光源的检测无疑变成了一个必须的功能,从而对于白平衡补偿技术提供更有价值的信息。其次在照明领域也有很多应用,需要检测环境光源的光谱,提供更准确的光源控制技术和质量。还有很多消费领域和工业领域,需要对产品的颜色有一个准确的识别,从而来判断产品的颜色满足预期的标准。

这些新的应用对光谱传感器也产生了要求,首先是需要一个更小的体积,能够嵌入到手机等电子产品中,很多对光谱测量的新领域都要去便携。其次需要一个较低的功耗,这些新的应用都是电池供电,无法提供很高的功耗,特别是手机这样本身就是一个耗电的设备。最后更高性能的要求是满足新应用的必须手段,只有光谱的检测更准确,才能提供对光源的控制和颜色的识别需求。

1 光谱传感器AS7341的特点

近年来,艾麦斯公司推出的AS7341光谱传感器是一款11通道分光仪,特别适用于移动设备中的光谱识别和色彩匹配应用。它具有以下特点:

(1)其光谱响应定义在约350nm至1000nm的波长范围内,八个光学通道覆盖可见光谱,一个通道可用于测量近红外光(NIR),一个通道是没有滤光器的光电二极管(C)。近红外光通道与其他可见光通道组合可以提供周围环境光条件(光源)检测的信息。

(2)六个通道可以由独立的16位ADC并行处理,而其他通道通过多路复用器访问。

(3)该器件还集成了专用通道,可检测50Hz或60Hz的环境光闪烁,闪烁检测引擎还可以用于在外部计算其他闪烁频率时缓冲数据。

(4)该器件还可以通过引脚GPIO与外部信号同步。

(5)小尺寸和低功耗的光谱传感器。AS7341通过纳米光学沉积干涉滤光片技术将滤光片集成到标准CMOS硅片中,其封装提供了一个内置光圈来控制进入传感器阵列的光线。该器件采用1.8VDC低电压供电,典型的功耗210uA。该器件采用超薄型封装,尺寸为3.1mmX2mmX1mm(OLGA8封装)。

该器件可以通过串行400KHz I2C接口实现控制和访问光谱数据。该器件与外部交互采用串行400KHz I2C通信接口实现,它支持7位芯片寻址,并支持标准速度和全速时钟模式。对器件的读写传输兼容飞利浦制定的标准。在设备内部有一个8位缓存寄存器,用来存储要读写数据的地址。可以认为该器件的接口是标准的I2C,作为从设备进行操作。

该器件多路检测的光电二极管,包括具有4X4的光电二极管阵列用来检测可见光,和在光电二极管阵列的顶部是检测闪烁频率的专用光二极管,加上在下部阵列是近红外光二极管。在阵列下部的两个角上是没有过滤器的光二极管,成为“C”通道。每一组过滤器对都可以被映射到一个ADC通道上。

每一个光电二极管通道对应一个波长,如表1所示。通过这些光电二极管来检测其对应波长的光强度。

表1 光谱通道与对应波长

该光谱传感器不但具有十分小的尺寸和更低的功耗,并且也提供更多的光学通道,将可见光分成8个级别的光谱波长。该器件也具有16位的模数转换采样,提供了更高的分辨率和检测能力。

2 光谱检测与传感器的配置

对于这种高度集成的传感器,使用是十分复杂的。传感器AS7341是一个支持标准400Kbps的I2C通信接口的器件,通过通信接口来控制和设置传感器,使其工作在我们期望的模式,如检测的通道配置和检测的输出数据的范围等。AS7341器件的I2C地址是0x39,通过I2C的读写传输对传感器进行操作。通过I2C总线写寄存器的方式配置传感器,然后通过读操作读取传感器的状态和采集到的数据信息。

对于光谱检测的应用,需要将每个通道对应的波长强度测量出来。该传感器一共有11个光电通道,其中10个通道用于检测光谱的分布,一个通道用于检测光源的闪烁频率。在该论文中只讨论光谱的分布检测。因为该器件共有6个独立的ADC通道,不能同时检测全部的通道,所以需要将检测的通道分成两组,第一组检测F1,F2,F3,F4,CLEAR,NIR共计6个通道,而第二组就是剩余的F5,F6,F7,F8,加上CLEAR和NIR。由于不是同时检测的,需要判断检测的光源是同一个,比较CLEAR和NIR通道的强度,如果两组检测的强度是比较接近的,可以认为是同一组光源,可以将F1~F8和CLEAR、NIR通道的强度一起成为一组有效的检测。反之,重新检测所有通道的强度,直至两组检测数据是有效的。将有效检测的数据存储并发送出来用于分析光源的特征。

首先,需要将被检测的光谱通道映射到实际的ADC上。通常地,对于第一组检测,将F1映射到ADC0,F2映射到ADC1,F3映射到ADC2,F4映射到ADC3,CLEAR映射到ADC4,NIR映射到ADC5。而第二组映射F5映射到ADC0,F6映射到ADC1,F7映射到ADC2,F8映射到ADC3,CLEAR映射到ADC4,NIR映射到ADC5。将这些映射的配置通过I2C的通信接口来写入到传感器AS7341的超级多路复用器SMUX来实现。

传感器的输出依赖于器件的增益参数AGAIN(gain)和积分时间TINT(integrationtime)。积分时间TINT的值又依赖于ATIME和ASTEP这两个寄存器。积分时间TINT的计算如下面的公式(1):

通过配置AGAIN和TINT这两个参数,尽量使器件输出尽可能的大,来提高测量精度。如果某一通道的测量值达到65535时,说明信号的饱和,需要改变GAIN值和ATIME、ASTEP的值来调整器件输出。所以在测量时,需要根据传感器的输出来调整传感器的设置,让传感器的输出在理想的范围内,这将会提高检测的准确度。

光谱相关色温的计算都依赖于标准化值BasicCount,而这个值的计算需要根据传感器的输出和检测时的配置参数,如下公式(2)所示:

我们可以根据AMS提供的传感器批量生产的修正数据和基于CIE1931的XYZ修正矩阵来计算色温,XYZ修正矩阵如下表2。CIE1931XYZ基色系统中的X、Y、Z的值可依据下面计算公式(3):

表2 XYZ修正矩阵[4]

CIE1931xyY颜色空间中的相对系数x、y、z可以采用如下公式(4)计算:

而对应的相关色温计算公式(5):

由此我们可以计算出相关色温的值。

3 测试与实验

通过上面对传感器的分析,我们通过下面的实验来看看传感器的相关测量数据。在实验中使用德州仪器的CC2640R2F开发板,通过开发板给传感器供电,并通过开发板的I2C接口连接传感器,来配置与控制传感器进行光谱的采集,并通过串口将采集到的数据发送出来,用于实验数据的分析。在试验中,被测光源选择护眼台灯,在距离20cm处进行光源的检测。

首先要在开发板上设计软件对传感器进行配置。使用Code Composer Studio开发工具新建一个工程SensorAnalyzer,选择微处理器的型号和工程存储的位置,并加载CC2640R2F的驱动库。在新建的工程中加载微处理器的I2C驱动文件,并根据微处理器的驱动库设计几个操作传感器的函数Sensor_Init()、Sensor_Read()、Sensor_Write()和Sensor_Update()。下面详细说明一下每个函数的功能:

(1)Sensor_Init()

该函数用来初始化I2C的通信参数,对微处理器的GPIO管脚和I2C进行初始化,并设置I2C波特率400KHz,然后使用函数I2C_open()来打开I2C的主模式。通过读取传感器的设备ID来检验I2C通信是否成功。根据传感器的手册,设备ID在寄存器0x92,读到的值应该是0x24。在该函数中配置光谱采集需要的参数AGAIN、ATIME和ASTEP这些寄存器,这些配置参数决定了ADC采集到数据的范围。

(2)Sensor_Read() 和Sensor_Write()

该函数用来通过I2C通信读取/写入传感器中的数据。在初始化的函数中也是调用了这些操作来实现的。

(3)Sensor_Update()

该函数用来读取传感器采集到的光谱数据。由于传感器只有6路独立的ADC通道,不能同时采集所有的光谱通道。首先设置超级多路复用器,采集F1~F4的光谱值和CLEAR、NIR的值,然后重新配置超级多路复用器,采集F5~F8的光谱值和CLEAR、NIR的值,并比较前后两次采集的CLEAR和NIR,如果两次的值比较接近,大约相差在50(这个值需要进一步验证)的范围内,可以认为两次的检测同一光源,将两次采集到的数据保存并通过串口发送出来。

将写好的程序下载到微处理器并进行调试,检查程序运行的准确性,并将采集到的数据保存一个文件。在输出光谱数据的同时,也输出配置参数的值。根据测试平台检测的数据,设置传感器的寄存器ATIME(寄存器地址0x81)为29,ASTEP(寄存器地址0xCA,0xCB)为599,则根据公式(1)计算TINT=50.04毫秒。传感器的寄存器CFG1(寄存器地址0xAA)中的低四位值为10,那么增益值(gain)是512。将传感器通道的波长与传感器输出的原始值可以绘制图1。

图1 传感器通道的波长与输出原始值对应图

根据公式(2)可以计算出各个传感器通道的组成的矩阵BasicCount为

根据公式(3)可以计算出

从而可以根据公式(4)计算出

进而根据公式(5)计算出CCT= 3 898K。查询产品的技术参数,护眼台灯的色温与计算出来的色温吻合,满足测量的要求。

4 总结与展望

光谱传感器AS7341是小封装光谱传感器技术取得突破的代表性产品,适合安装在手机或其他消费设备中,甚至一些工业领域。它在同类产品中尺寸最小,提供11个测量通道,与面向消费类市场的其他多通道光谱传感器相比,其光灵敏度更高。该传感器不但可以重建光谱,而且可以测量光源的闪烁频率(50赫兹到1000赫兹)。该传感器还可以用于色彩匹配和肤色测量等方面的应用。该传感器的颜色测量是一个低成本并能满足很多需求的方案,该传感器的应用领域将会被不断拓展。对于光谱传感器来说,其准确度是一个值得关注的参数,对于那些检测精度不高的领域来说能够满足需求,但要将高集成度的传感器应用于高分辨率的应用,就需要更加复杂的校准方法,同时也对IC型的光谱传感器提出更高的挑战。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!