AMS系列光谱传感器使用指南,以AS7263为例

Posted by Dimsmary on September 14, 2021

前言

*作者水平有限,内容可能存在不正确的地方,欢迎批评指正。

因项目原因需要使用到光谱传感器,在网上冲浪的时候偶然发现了AS7263这款六通道的近红外光谱传感器,价格实惠。其内由六个带有不同通过波长的光电二极管构成,可以探测六个特征波长的光强。

但在国内网络搜索了一圈发现没有中文的使用教程,甚至英文教程也寥寥,只有官方手册硬啃。于是乎在啃完官方手册后决定发布一个中文教程。

AMS系列除了近红外传感器之外,还有可见光等一系列其他的传感器,其他传感器使用方法与本文介绍的AS7263大同小异,可以参考本文基础上结合数据手册使用。

文档及开发工具下载:下载

AS7263 传感器简介

The AS7263 is a digital 6-channel spectrometer for spectral identification in the near IR (NIR) light wavelengths.

AS7263 consists of 6 independent optical filters whose spectral response is defined in the NIR wavelengths from approximately 600nm to 870nm with full-width half-max (FWHM) of 20nm.

An integrated LED driver with programmable current is provided for electronic shutter applications.

The AS7263 integrates Gaussian filters into standard CMOS silicon via Nano-optic deposited interference filter technology and is packaged an LGA package that provides a built in aperture to control the light entering the sensor array.

Control and Spectral data access is implemented through either the I²C register set, or with a high level AT Spectral Command set via a serial UART

上文是AS7263数据手册(AS7263_Datasheet.pdf)的简介,把AS7263的主要特性基本介绍了一遍。即:

  • 支持六通道近红外(600~870nm)传感
  • 每个通道响应的半峰全宽为20nm
  • 内置LED驱动器
  • LGA封装
  • 支持IIC和UART两种方式进行数据输出

在本文的使用中,使用UART对传感器数据进行读取。

芯片推荐在3.3V逻辑电平下工作,下图为该传感器的光谱响应曲线。

基本电路

上图是来自官方AS726X系列传感器的参考设计文件(AS726x_ReferenceDesign.pdf)。从图中可以注意到,除了传感器本体以及各种调试接口之外,这里还需要添置FLASH芯片。这可能是因为AS7263采用8051内核,而内部不具有存储单元,需要通过SPI使用外置存储。

上图是简化后使用UART接口进行通讯的原理图。其中LED1是功率LED,AS7263能对其提供12.5~100mA的电流。LED2是AS7263工作状态指示LED,AS7263能为其提供1~8mA的电流。

在选择UART接口时,传感器的I2C_ENB引脚应接地。

芯片的焊盘布局在数据手册中有涉及。

焊接技巧

对于类似QFN封装的芯片焊接的时候都颇为头疼,主要是无法观察到焊接的情况。好在焊接成功率还是比较高的,在此分享一下如何焊接AS7263。

首先需要涂适量锡膏于焊盘上,再将传感器放置于上,对齐。将PCB放置在加热台上,等待锡膏融化即可,若不放心对齐情况可以在锡膏融化后轻轻推动传感器,由于液体的表面张力,传感器会自动吸附在焊盘的正确位置上。

正常来说焊接基本能够一次成功,若不成功可以将芯片拆下,添加助焊剂进行再次焊接。

本文用到的锡膏为低温锡膏,熔点在170摄氏度左右。

FLASH固件刷入

AS7263的正常运行依赖外部FLASH,若外部FLASH没有刷入固件,则无法正常使用。(在我印象中用于指示工作状态的LED在AS7263外部FLASH没有刷入固件时应该是保持亮起的状态)

在官网的提供EvalSW工具中,可以寻找到名为AS7263_complete.bin的固件,将此固件刷入至FLASH即可。

本文使用的FLASH芯片为官方手册中的AT25SF041,烧录器使用的是某宝50元购置的XTW100。遗憾的是,官网提供的上位机程序并不支持AT25SF041。然而,在一番苦寻后,发现选择另外一款FLASH型号同样能成功刷入(暂时忘了名字叫啥,后续补上)。

在刷入FLASH后,AS7263即可以正常工作。

AT命令的使用

AS7263的UART接口默认波特率为115200,8位数据位,1位起始位和1位停止位。AS7263不会主动向上位机发送数据,只有在上位机向AS7263发送命令时才会返回数据。注意,AT命令的发送与接收都以/n为结束标志位。

在官方数据手册Figure33给出了完整的AT命令列表,在此介绍几个较为常用的命令。

ATDATA:读取16位、各个通道的原始(ADC)整数光谱值。

ATCDATA:读取校准后(应该是温度校准)的浮点光谱值。

ATGAIN=value:设定传感器增益。

ATINTTIME=value:设定光电二极管积分时间。

待补充

暂时更新至此,若有不详细的地方欢迎在本网站的About页面联系本人。


Creative Commons License
本作品采用CC BY-NC-ND 4.0进行许可。转载,请注明原作者 Dimsmary 及本文源链接。