便携式红外线人体测温仪设计毕业设计论文 联系客服

发布时间 : 星期日 文章便携式红外线人体测温仪设计毕业设计论文更新完毕开始阅读fc17a4940d22590102020740be1e650e52eacf3f

图5.5 SMBus写入数据格式(EEPROM)

(注:在对EEPROM进行写操作之前,相应的单元要清零。所谓的清零操作就是简单地在EEPROM地址里写入0000h,同时要注意不要随便更改出厂校准数据。)

在(MLX90615)SMBus应用模式里,RAM和EEPROM可以以16×16来读取。例如: RAM里(0x07h)的数值会随着物体温度由-40 °C ~ 85°C变化而从0x2D8Ah到0x4DB0h变化。

表5.1 MLX90615 & SMBus命令 操作码 0001_ XXXX* 0010_XXXX* 1100_0110 命令 EEPROM读取 RAM读取 进入SLEEP模式 (注*:XXXX代表要读取/写入的内存地址的4LSB位。)

EEPROM里只有限定数目的地址是允许客户改写的。整个EEPROM可通过SMBus接口读和写。EEPROM里在地址4h到Dh之间的数据必须保持不变,否则出厂校准值会丢失。

SMBus从动器地址:7 LSBs (6…0)包括了MLX90615会响应的SMBus从动器地址。注意所有MLX90615对会SA(00h)响应因此该数值在网络中是无效的。出厂默认值为5Bh。MLX90615会补偿被测物体的发射率。寄存器的公式为:

发射率 = dec2hex[round(16384× ε)] (5-1)

其中dec2hex[round(X)]发射率数值为代表十进制转换为十六进制。(包括近似值的舍入,无切断)该情况下,物理发射率数值为0…1。其出厂设置为3FFFh,代表发射率为1.0。

表5.2 MLX90615内部的EEPROM

EEPROM(16×16) 名字 SMBus从动器地址(SA)/PWM最小温度 PWM温度范围 配置 发射率 Melexis保留(出厂校准) … 地址 0h 1h 2h 3h 4h … 可写 YES YES YES YES YES …

Melexis保留(出厂校准) ID编号 ID编号 Dh Eh Fh YES NO NO

MLX90615的RAM可以通过SMBus接口读取,其大小为16×16。RAM寄存器的有限数目是客户感兴趣的,见下面表格里总结。其中目标温度TO存储在地址为07h的RAM里,可以分为DataH(高8位)和DataL(低8位),而TA则是MLX90615封装(环境)温度。输出比例为0.02°K/LSB。将读出人体温度转换为摄氏温度的公式为:

To [°C] = RAM(07h)*0.02 – 273.15 (5-2)

表5.3 MLX90615内部的RAM

RAM(16×16) 名字 Melexis保留 … Melexis保留 TA TO Melexis保留 … Melexis保留 地址 0h … 5h 6h 7h 8h … Fh 可写 YES … YES YES YES YES … YES

3、SMBus的时序:

MLX90615满足除了电学规范部分给定的数值外的所有SMBus时序规范,其SMBus时钟的最大频率为100KHz,最小为10KHz。MLX90615的SMBus的特定时序(如下图所示)为:

(1)、SMBus Request (tREQ ) 定义了一段时间,在这段时间里SCL应该置为低

电平以使MLX90615从PWM模式转换为SMBus模式,至少1.44ms。

(2)、Timeout L是将SCL置为低电平允许的最长时间。这段时间后MLX90615

会置通信模块并准备重新通信,不多于45μs。

(3)、 Timeout H是将SCL置为高电平允许的最长时间。这段时间后会假定总

线是空闲的(根据SMBus规范)并重置通信模块,不多于27ms。

(4)、Tsuac(SD)定义了一段时间,此时间在SCL的第八个下降沿后,MLX90615

会将SDA置为低电平以确认接受的字节,不超过2.5μs。

(5)、Thdac(SD)定义了一段时间,此时间在SCL的第九个下降沿后,MLX90615

释放PWM/SDA (MD可以继续通信) ,不超过1.5μs。

(6)、Tsuac(MD)定义了一段时间,此时间在SCL的第八个下降沿后,MLX90615

会释放PWM/SDA(MD可以确认接收的字节),不超过0.5μs。

(7)、Thdac(MD)定义了一段时间,此时间在SCL的第九个下降沿后,MLX90615

会控制PWM/SDA (它可继续传送下个字节),不超过 1.5μs。 T在最新时序用到MD 和 SD 索引— MD 当主控器件在确认;SD当从动器件在确认。其他时序参考SMBus协议。

图5.6 SMBus时序

MLX90615可以通过由SMBus接口发送的“进入SLEEP模式”命令进入到睡眠模式,而且睡眠模式只在SMBus模式中存在。MLX90615可通过SCL引脚持续至少TDDq= 50 ms时间置为低电平来返回上电默认模式。从睡眠模式退出也是在SMBus模式。在器件唤醒之后的0.3s有效值是可以用的。(注意:IR温度计的先前版本—MLX90614是通过SDA线上的低脉冲唤醒,而不是SCL。)

SCL在睡眠模式是为高电平的。SDA可以同时静止为每个状态,但是建议为高状态。因为上拉是不需附加漏电流。在睡眠模式是为高电平的。SCL和SDA引

脚上应有弱的上拉动作。

图5.7 进入和退出睡眠模式

5.2.2 红外测温程序设计

MLX90615发送和接收数据是以字节为单位进行的,系统数据操作程序流程如图5.9所示,每个字节的读写流程图如图5.10所示。每次发送一个字节(按位发送,发送8个位就是一个字节),然后判断对方是否有应答,如果有应答,就接着发送下一个字节;如果没有应答,多次重发该字节,直到有应答,再发送下一个字节,如果多次重发后,仍然没有应答,就结束。接收数据时,每次接收一个字节(按位接收,接收8个位就是一个字节),然后向对方发送一个应答信号,继续接收下一个字节。从MLX90615中读出的数据是16位的,由高8位(DataH)和低8位(DataL)两部分组成,其中RAM地址07H单元存储的是TO数据,数

据范围从0x2D8Ah ~ 0x4DB0h,表示的温度范围是-40 °C ~ 85 °C。

图5.8 MLX90615读写数据

从MLX90615中读出的数据(DataH :DataL)换算为温度的数据单位为摄氏度(°C),相关的换算公式见(式5-2):To [°C] = RAM(DataH :DataL)*0.02