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

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

图4.14 按键输入模块电路图

4.6 本章小结

这一章主要阐述了红外人体测温仪的硬件设计的具体内容和相关元器件的简介,该系统的硬件主要分为六个子模块,分别是:MCU主控模块、IR测温模块、电源模块、LCD显示模块、按键输入模块和声音提示模块。由于本系统的红外温度传感器MLX90615已经集成了各种处理电路,所以使得整个硬件系统变得简单且功耗低,这是传统红外温度传感器所无法比拟的。

第五章 系统软件设计

5.1 主控程序模块

根据程序结构化设计的要求,本人在编程时采用了模块化的编程方式。由这种编程思想以及系统功能的要求可以得知,其软件结构主要包含以下的程序模块:主控程序模块(相关的程序流程图如下所示)、红外测温程序模块和LCD显

示程序模块等。

图5.1 主控程序流程图

主控程序模块首先对MCU的端口和LCD进行初始化,然后显示必要的信息和进行电池低压检测(如果电池的电压值过低,就在LCD上显示低压提示符号),之后系统就进入按键扫描阶段。当系统有按键被按下的时候,程序就关闭定时器(定时器溢出时,系统就进入休眠状态)和判断被按下的是哪个按键。如果是按键1,就判断到底是长摁还是短摁,其中短摁表示开启/关闭系统背光,

而长摁表示开启/关闭系统声音提示。按键2和按键3的作用则是查看体温数据的历史记录。按键4就是体温的测量键。但如果没用按键按下,系统就开启定时器。如果期间还是没有任何操作,当定时器溢出时系统就会开启外部中断(按键4)和进入休眠状态,此时只有按键4才能唤醒系统。

5.2 红外测温程序模块

5.2.1 MLX90615的传输协议(SMBus)

MLX90615支持SMBus通信协议,引脚分别为SDA和SCL。SDA引脚可以以SMBus格式或PWM格式输出,这就取决于EEPROM的设置。在本设计中,由于系统只应用到SMBus模式,所以在此就不详细介绍PWM模式了。

SMBus接口是2线协议的,允许主控器件(MD)和一个或一个以上的从动器件(SD)通信。在系统给定的时刻里只有一个主控器件是可以利用的。在本设计中,MLX90615只作为从动器件使用。

一般来说,MD通过从动地址(SA)选择从动器件开始数据的传输。MD可以对从动器件的RAM和EEPROM里的数据进行读取,并可对14个EEPROM单元进行写入操作(地址为0…Dh)。如果对MLX90615进行读取操作,器件会回馈以16位的数据和8位PEC,这是在器件内部EEPROM动地址和主动器件发送的编程的从SA相同条下实现的。SA特征允许在两线上连接多达127个器件。在器件连接到总线之前,为了访问器件或是给SD分配一个地址,通信必须以0h SA并跟随低RWB位开始。当MD发送此命令,MLX90615总是会反馈并忽视内部芯片编码信息。EEPROM地址中(4h…Dh)包含出厂校准数值,最好不要变动;同时注意不要在同一总线相同SD地址放两个MLX90615器件。

图5.2 SMBus请求、开始和结束状态

1、主从总线(SMBus)传输协议:

每当SD接收到每个8位数据后,都会回复ACK/NACK信息。MD在初始化通信时会首先发送受控地址,只有能识别该地址的SD才会确认,其它的会保持沉默。如果SD未确认其中的任意字节,MD应停止通信并重新发送信息。NACK也

会在PEC接收后出现,这意味着在接收的信息有错误并且MD应重新发送信息。PEC的计算结果是基于除START,RESTART,STOP,ACK和NACK位外的所有位。PEC是CRC-8的多项式aX8+X2+X1+1。每个字节的最高有效位首先传送。

图5.3 SMBus包裹元素

2、读取数据(RAM / EEPROM)或写入数据(EEPROM):

图5.4 SMBus读取数据格式(RAM / EEPROM)