基于MSP430和MAX1452的温度补偿系统设计
在工业控制中,各种电子器件由于温度变化,经常会引起温度漂移误差,从而影响到电子器件的灵敏性和精确度,所以消除温度漂移误差就成为工业控制中的一个重要方面。本文采用MSP430单片机和MAX1452智能芯片,设计一个温度补偿电路系统,达到消除温度漂移的目的。
1 温度补偿系统的硬件设计
1.1 使用的主要器件
MSP430FE425低功耗单片机、MAX1452、MAX4051、74LVC4245A(双电源的电平移位器)、字符型液晶显示器LCD、32768Hz晶振等。
1.2 温度补偿系统的设计思想
针对电子器件由于温度变化引起的温度漂移误差,通过MSP430低功耗单片机进行调节,补偿温度漂移误差,达到预期状态下的温度。
1.3 温度补偿系统的工作原理MAX1452芯片内部有一个片内温度传感器,这个传感器测量MAX1452芯片在运行环境下的温度,MSP430低功耗单片机接受MAX1452 芯片上的温度数据,根据已经存储在EEPROM内的温度数据进行查找比较,找到相应温度下的温度补偿值,进行粗调和细调,确定用于补偿温度漂移误差的精确值,然后传送回MAX1452芯片中,使电子器件的温度漂移误差得到抵消,从而可以显示理想条件下的温度。其中,MAX4051芯片是选择需要调节的 MAX1452的编号,74LVC4245芯片是选择对应MAX1452芯片的输入/输出方向。
1.4 温度补偿系统的原理图
图1 温度补偿系统原理框图
1.5 温度补偿系统电路图图2 温度补偿系统电路图
2 温度补偿系统的软件设计本系统的软件设计主要分为5个模块:初始化模块、显示模块、中断模块、调节模块和通信模块。
2.1 初始化模块初始化模块主要包含两个子功能模块:补偿模块和恢复模块。
补偿模块:在上电时,从主计算机下载在不同温度下的温度漂移误差补偿的数据。
恢复模块:在复位时,恢复MSP430断电时的数据。
2.2 显示模块
本模块主要包含6个子功能模块:初始化数据模块、拆分数据模块、组合数据模块、显示初始化模块、功能显示模块、温度显示模块。
初始化数据模块:主要功能是对显示模块中使用的中间变量进行初始化(即全部清零),防止上电或者数据改变后,存储异常的数据,从而在显示时出现异常。
拆分数据模块:液晶显示器LCD的显示是逐字符显示的,所以对于多位数据的显示,在显示之前必须对多位数据进行拆分,把一个多位数据拆成几个个位数据,然后根据MSP430中液晶显示器LCD的显示规则进行显示。
组合数据模块:在液晶显示器LCD的某位数据发生改变后,需要将改变后的数据保存并传送到MAX1452,进行温度漂移误差补偿。本模块即完成对多个个位数据组合成一个多位数的功能。
显示初始化模块:为了防止在显示时,液晶显示器LCD显示异常数字或者代码,需要对液晶显示器LCD进行清屏,这样可以保证液晶显示器LCD显示的正确性。
功能显示模块:在液晶显示器LCD的第6~4位字符显示功能部分的数字代码。其中,第6位字符显示选择的MAX1452的编号(0~8),第5位字符显示选择补偿温度偏移误差的位置(零点或满偏),第4位字符显示选择所显示温度的状态(显示状态或修改状态)。
温度显示模块:在液晶显示器LCD的第2~0位字符显示温度部分的数字代码。其中,第2位字符表示符号(只有在0°C以下才显示“-”)。第1~0位字符显示温度的数值。
2.3 中断模块
本模块主要包含3个子功能模块:中断初始化模块、中断状态判别模块、中断状态设置模块。由于在MSP430单片机中,中断是嵌套调用的,所以在各个子模块之间没有明确层次先后顺序,仅按照出现的先后顺序确定其之间的相互调用关系。
2.3.1 状态转换图
图3 中断状态转换图
2.3.2 中断初始化模块
本模块的主要功能是在上电或者复位时,清除此前的所有中断向量和中断标志位,防止程序在运行过程中造成异常。
2.3.3 中断状态判别模块
在此模块中,要对中断进行判断,并且做出相应的响应。在“显示状态”下,允许“功能”中断;在“功能调整状态”下,允许“移位”中断、“循环加1” 中断、“确定”中断和“取消”中断;在“温度调整状态”下,允许的中断与“功能调整状态”相同。对于“复位”中断,在三个工作状态下都允许。
2.3.4 中断状态设置模块
本模块的主要功能是在“显示状态”、“功能调整状态”和“温度调整状态”之间改变时,对温度补偿系统所正在运行的状态做出相应的标识,以便在程序运行过程中,检测到相应的状态,做出相应的判断和响应。
2.4 调节模块本模块主要包含4个子功能模块:循环移位模块、循环加1模块、确定模块和取消模块。
循环移位模块:主要实现对液晶显示器LCD显示数字的移位控制,通过按键实现在液晶显示器LCD显示数字进行循环
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)