当前位置:网站首页>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),默认

边栏推荐
- Linux下载安装mysql5.7版本教程最全详解
- 文档贡献与写作必读-OpenHarmony开发者文档风格指南
- Linux environment redis complete configuration and startup command
- Android Studio 实现登录注册-源代码 (连接MySql数据库)
- CAN报文:数据帧详解
- 解题-->在线OJ(十七)
- Unable to open the source file in qt vs2015 "QtWidgets" solution
- Comparator和Comparable
- Qt实战 | 如何获取USB设备信息?
- 高通发布全新屏下指纹传感器:识别区域增大77%,识别速度提升50%
猜你喜欢

BGP federation experiment

Altair SimSolid complex assembly meshless rapid structure simulation online seminars

显微镜LED补光可调光源

深圳见!云原生加速应用构建专场:来看云原生 FinOps、SRE、高性能计算场景最佳实践

打卡广汽本田喜悦安全驾驶中心,体验最刁钻的场地训练

Interviewer: What are the design principles?What is the Lie Substitution Principle?

一文参透分布式存储系统Ceph的架构设计、集群搭建(手把手)

数字赋能机械制造业,供应链协同管理系统解决方案助力企业供应链再升级

SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法试读版

如何检测出你们安装的依赖是否安全
随机推荐
I/O代码实践
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
【C语言刷题】Leetcode268丢失的数字
基于全志D1-H和XR806的名贵植物监控装置
韦伯首批照片引发论文竞速大战:晚13秒即错失首发,科研党纷纷肝得起飞
package-lock.json 有什么作用,如果项目中没有它会怎么样,举例说明
高通发布全新屏下指纹传感器:识别区域增大77%,识别速度提升50%
3. SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法
文件管理:文件的逻辑结构
Jenkins 如何玩转接口自动化测试?
Linux environment redis complete configuration and startup command
【小程序项目开发--京东商城】uni-app之自定义搜索组件(上)-- 组件UI
最新!多交的税可以退,同学,你今天退税了吗?
驱动领域DDD的微服务设计和开发实战
详解微处理器CPU的系统结构
Altair SimSolid复杂装配体无网格快速结构仿真线上研讨会
MySQL数据库安装配置保姆级教程(以8.0.29为例)有手就行
机器学习的3大“疑难杂症”,因果学习是突破口 | 重庆大学刘礼
手摸手实现Canal如何接入MySQL实现数据写操作监听
双非渣渣的上岸之路!备战 60 天,三战滴滴侥幸收获 Offer