当前位置:网站首页>MLX90640 红外热成像仪开发笔记(九)
MLX90640 红外热成像仪开发笔记(九)
2022-07-29 15:32:00 【51CTO】
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]:保留,只能写入 0STA[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),默认
边栏推荐
猜你喜欢
随机推荐
货比三家 tb1.3
MySQL笔记下
DevOps的未来趋势
Linux environment redis complete configuration and startup command
从通信延伸到全行业,亚信科技AntDB 7.0蓄势待发
File management: the physical structure of files
文档贡献与写作必读-OpenHarmony开发者文档风格指南
上海移动基于亚信科技AntDB完成核心账务数据库的国产化替换
3C数码行业供应商管理方案——与供应商结为“成长共同体”
教程篇(7.0) 07. 诊断和故障排除 * FortiClient EMS * Fortinet 网络安全专家 NSE 5
【深度学习】深度学习刷SOTA的一堆trick
I/O Code Practice
数商云SCM供应链系统方案服务亮点:生产管理更智能、产业供应链协同管理更便捷
走高质量、可持续的保障亿万家庭之路 水滴公司发布2020·2021ESG报告
中国大学慕课mooc答题/自动播放脚本(domooc)使用教程
Mobileye展示与Intel合作开发的硅光子激光雷达芯片
Ribbon自定义修改负载均衡
电子元器件行业B2B交易系统:规范企业交易流程,提升销售管理效率
Jenkins持续集成与自动化部署系统安装配置
Qt combat | how to access the USB device information?