电子说
本应用笔记介绍了如何使用 MLX90614 红外温度计实现 SMBus 通信。Microchip 的 PIC®10 代码采用汇编语言。该示例从 MLX90614 的 RAM 中读取,测量温度。
使用SMBus通信的软件实现,因此可以将源代码迁移到其他系列的8位PIC MCU,只需稍作改动。使用的开发工具是 MPLAB IDE 和 MPASM(Microchip 汇编器),可从Microchip免费使用。
应用
相关 Melexis 产品
EVB90614 是支持 MLX90614 器件的评估板。
需要的其他组件
项目建立,文件“main.hex”可以在PIC10F206中编程。此外,项目可以用作“开始”基础。
提供项目将从MLX90614(不包括电源控制)读取Ta,Tobj1和Tobj2,并通过软件UART(ASCII编码,每个周期后CR(0x0D),8位数据,一个停止位,无奇偶校验)传输位,57 600 波特,使用 4.000 MHz 内部振荡器)。格式为 15 位无符号整数,右对齐。分辨率为 0.02 开氏度/LSB。有关温度格式的示例,请参阅以下例程的说明。读取和传输循环每分钟重复一次。在周期的空闲状态期间,PIC 和 MLX90614 都处于睡眠模式(请注意,5V MLX90614 中的睡眠模式是部分的,典型的功耗为 100uA,PIC10 每 2 秒被短时间唤醒一次)。
典型电路
MLX90614 与 MCU 的连接非常简单。使用了 PIC10F206 的两个通用引脚 GP0 和 GP1。Vdd和SDA线之间接一个上拉电阻R1,SCL线由推挽输出GP0驱动。C1 是本地电源旁路去耦电容。MLX90614 需要它来绕过片上数字电路开关噪声。C2 对微控制器具有相同的功能。众所周知的 100 nF(SMD 陶瓷类型)值通常足以满足这些组件的需求。请注意,电源通常需要更多电容器(如稳压器输入和输出上的 100 μF),原理图中未显示。给出了 PIC10 MCU 的 DIL8 封装引脚排列的示意图。
使用片上 4MHz 工厂校准的 RC 振荡器。SMBus 时钟为 28 kHz,一帧读取大约需要 11 ms(一帧读取 Tobj1、Tobj2 和 Tamb 并通过 UART 传输)。有关详细信息,请参阅 MLX90614 数据表、AppNote 390119061402、“SMBus 与 MLX90614 通信”和 SMBus 规范。MLX90614 有 5 V 和 3 V 版本。PIC10F206 可用于 3 V 版本 (MLX90614Bxx) 和 5 V 版本 (MLX90614Axx)。
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !