1、mlx90640的驱动开发描述
mlx90640是一款红外热像仪模块, 32×24 像素, I2C 接口通信,兼容 3.3V/5V 电平。采用 MLX90640 远红外热传感器阵列,可精确检测特定区域和温度范围内的目标物体,尺寸小巧,可方便集成到各种工业或智能控制应用中。 采用 MLX90640 远红外热传感器阵列, 32×24 像素
支持 I2C 接口通信,可设置为快速模式(速率可达 1MHz)
噪声等效温差(NETD)仅为 0.1K RMS@1Hz 刷新率,噪声性能好
板载电平转换电路,可兼容 3.3V/5V 的工作电平 通讯方式为 I2C,支持 I2C 高速模式(最高可达 1MHz),只能作为 I2C 总线上的从设备, SDA 和SCL 端口可以承受 5V 电压,可直接接入到 5V I2C 总线中,模块的设备地址是可以编程的,最多可以有127 个地址,出场默认值为 0x33,具体的i2c协议这边就不介绍了,根据上述我们可以得知通讯的i2c设备地址为0x33。
因此有dts的配置:
&i2c4 {
status = "okay";
clock-frequency = <400000>;
mlx90640@33 {
reg = <0x33>;
status = "okay";
};
};
这里需要关注一个clock-frequency = <400000>; 正常通讯为100k就可,但由于芯片内部有个刷新率,如下图,因此当配置的刷新率越高则所需clk越大,而rk3288上最大只支持400k(3399支持1M),因此这里写了400k.
原作者:小钟同学