MLX90615红外温度传感器非IIC驱动与配置详解

6 下载量 195 浏览量 更新于2024-08-29 1 收藏 1.2MB PDF 举报
MLX90615驱动笔记主要关注这款红外温度传感器芯片的IIC通信实现,特别是针对非IIC模拟操作。MLX90615是一款16位ADC的传感器,支持SMBus和PWM协议,用于非接触式温度测量。核心知识点包括: 1. **硬件配置**: - 芯片结构:数据存储区(RAM)用于存放温度数据,而配置、ID、模式选择和发射率等信息存储在EEPROM中。 - 特殊地址区域:0x00地址是通用响应地址,而04到0D地址间的EEPROM区域尽量避免直接操作,尤其是默认出厂地址0x5B。 2. **配置寄存器与模式选择**: - Config寄存器位于EEPROM的02地址,其中bit0控制驱动模式,默认出厂设置为SMBus。若要切换至PWM模式,需先拉低SCL并保持一段时间,然后切换回SMBus模式。 3. **RAM和EEPROM操作**: - RAM主要用于读取,地址格式为0010_xxxx;EEPROM允许读写操作,命令格式为0001_xxxx,其中xxxx为地址。 - PEC校验:在SMBus模式下,数据传输需经过奇偶校验,且高位数据先发送。 4. **IIC通信协议**: - 地址格式:7位地址,最大频率限制为100kHz。 - 通信流程:发送起始条件,等待Master Mode Select事件,然后发送指定的EEPROM或RAM地址,执行相应的读写操作。 - 操作命令:在读取操作中,如`I2C_BufferRead`函数负责发送起始条件、地址,并根据接收到的数据类型执行读取。 5. **电源管理**: - 芯片唤醒/睡眠:操作期间SCL线需要按需拉高或拉低,以控制通信状态。 通过这些信息,开发人员可以编写出针对MLX90615的IIC库函数,确保正确地进行温度数据采集和设备配置。在实际应用中,需要遵循上述步骤和协议,以实现与该红外温度传感器的有效通信。