MLX90640开发笔记(九)EEPROM、RAM、寄存器说明

  • EEPROM的地址范围为0x2400~0x273F,共832个字(1664字节),前16个字包含了唯一ID码、工作参数(上电后自动同步到寄存器)、MLX90640的I2C地址。后面的816个字全部是每个像素的校正或者测量参数,数据手册也没有写每个数据到底是什么意思,直接用就是了,不要问为什么。
  • RAM的地址范围为0x0400~0x073F,共832个字(1664字节),前768个字是实时的768像素的测量数据,后面64个字是与当前刚刚测量完成的一半像素有关的计算因数。RAM是只读的。
  • 寄存器的地址范围为0x8000~0x8010,共16个字(32字节),其中用户可以访问的有状态寄存器0x8000、控制寄存器0x800D,改变控制寄存器可以直接控制MLX90640的运行行为,是即有读又有写的部分。

对这三部分建议的操作为:

上电后读取一下EEPROM,扔给API函数MLX90640_ExtractParameters得到参数项变量。

根据需要修改控制寄存器的值。

循环读取状态寄存器,当有新的数据测量完成时读取全部RAM扔给API函数MLX90640_CalculateTo得到每个像素的温度值。

 

状态寄存器说明

状态寄存器从字面来理解应该是只读的,但数据手册里却定义了一些位是参数(可修改的),不管寄存器叫什么了,根据参数功能来用吧。

STA[15:5]:保留,只能写入0

STA[4]:RAM是否可写,0:不可写;1:可写。在帧测量完成后,是否允许MLX90640将测量的数据写入(更新)到RAM里,这个功能可以在读取一帧数据的过程中设置为不允许,即:当上位机正在读取RAM的过程中,不允许再更新RAM。这个位同时还受控制寄存器中的bit2的限制,当CTR[2]=0时,无论这个位怎样设置,都会自动更新RAM,仅当CTR[2]=1时,STA[4]参数才会起作用。

STA[3]:子页测量完成标志位。0:表示没有完成;1表示已经完成了一帧的测量。

STA[2:0]:刚刚完成的是帧0还是帧1。

 

控制寄存器说明

CTR[15:13]:保留,只能写入0

CTR[12]:帧交错模式,默认为1(像素交错模式),数据手册上说了只有这种模式才能保证精度,那就不要改这一位,保持默认1。

CTR[11:10]:测量精度,00~11表示16位~19位,默认为10(18位)。改成11也没什么效果,所以这个参数也保持默认吧。

CTR[9:7]:设置测量速率,0~7表示0.5、1、2、4、8、16、32、64Hz,默认为010(2Hz),这个参数是唯一有用的参数

CTR[6:4]:手动测量时,指定要测量哪个子页(帧0还是帧1)。数据手册已经把手动测量部分删除了,所以手动测量相关的参数可以忽略。

CTR[3]:手动测量还是自动测量,默认为0(自动测量),不要使用手动测量(原因同上)。

CTR[2]:如何更新RAM。0:测量完成后自动更新;1:根据STA[4]参数。

CTR[1]:保留,只能写入0。

CTR[0]:0:所有数据更新在一页里;1:使能子页模式(页0和页1),默认

 

MLX90640开发笔记(一)概述及开发资料准备
MLX90640开发笔记(二)API移植-I2C和关键接口函数
MLX90640开发笔记(三)工作流程和操作MLX90640的一般步骤
MLX90640开发笔记(四)损坏和不良像素的处理
MLX90640开发笔记(五)阵列插值处理-多项式插值由32*24像素到512*384像素
MLX90640开发笔记(六)红外图像伪彩色编码
MLX90640开发笔记(七)小结-注意事项
MLX90640开发笔记(八)扩展知识-辐射率、灵敏度、精度、探测距离
MLX90640开发笔记(九)EEPROM、RAM、寄存器说明
MLX90640开发笔记(十)成果展示-红眼睛相机

邮箱:[email protected]

你可能感兴趣的:(红外成像,MLX90640)