基于ARM7温度采集与存储系统的设计与实现

2013-08-10 10:21徐桂云郑丽敏
电子设计工程 2013年10期
关键词:液晶屏PC机温度传感器

张 浩, 徐桂云 , 郑丽敏, 吴 平

(1.中国农业大学 信息与电气工程学院,北京 100083;2.中国农业大学 动物科技学院,北京 100083)

温度是一种基本的环境参数,在工业生产和生活中对其监测是一个重要的过程。一些食品生产商为了解决食品在运输途中是否按照食品所要求的环境温度标准进行运输,需要对食品在运输途中的环境温度进行监测和记录。但是市场上的大多数温度监测设备都只具备温度信息的实时显示功能,缺乏对温度数据的存储记录和信息提取传输的功能[1]。为此本文采用ARM7芯片AT91SAM7S64和DS18B20数字温度传感器进行温度采集,将采集到的温度数据存储于MCU(Micro Control Unit)的FLASH中,并通过液晶显示器实时显示采集到的温度信号。用户可以通过选择4种预置的时间间隔中的一种来定时存储采集到的温度数据。可以通过串口通信将温度数据传输至PC机,达到监控温度的目的。AT91SAM7S64芯片内置的64K FLASH可以为大量的温度数据的存储提供足够的空间。该温度采集系统设计装置体积小,并且内置电池,持续工作时间能达到120小时以上,并且携带方便,成本低廉。

1 系统设计

温度采集系统由温度采集部分、ARM芯片控制部分、液晶显示部分、串口通讯部分、电源管理和时钟模块部分组成。本设计采用ATMEL公司的ARM7芯片AT91SAM7S64作为主控制器,完成对温度信号的采集,并将温度数据存储于内置的FLASH中,由液晶屏显示器LCD12232F显示出来,通过串口传输将FLASH中存储的温度数据传输至PC机。系统的结构如图1所示。

1.1 AT91SAM7S64芯片

AT91SAM7S64是ATMEL公司32位ARM RISC处理器小引脚数FLASH微处理器家族的一员[2]。它拥有64K字节的高速FLASH和16K字节的SRAM,本设计中所用到的外围功能模块主要有:时钟发生器 (CKGR);电源管理控制器(PMC);调试单元(DBGU);32 个可编程的复用 I/O,每个 I/O最多可以支持两个外设功能,输入电平改变时,每个I/O都可以产生中断;两个通用的同步/异步收发器 (USART),支持RS232和 RS485;支持两线 EEPROM 的两线接口(TWI);64K字节的片内高速FLASH存储器,共512页,每页128字节,可以存放大量的数据,给系统开发带来很大的便利。

图1 系统总体结构图Fig.1 Structure diagram of system

1.2 温度采集

所用的温度传感器是DALLAS半导体公司的数字化温度传感器DS18B20,DS18B20是支持“一线总线”接口的温度传感器[3-4]。一线总线具有电路简单而又经济的特点,同时又小巧灵活,对本系统来说是一个较好的选择。DS18B20有3个引脚,一个数据I/O引脚、一个VDD引脚、一个GND引脚。DS18B20温度传感器可设置两种供电方式,一种为数据线供电方式(VDD接地),但完成温度测量的时间较长。另一种为外部供电方式,VDD接+3.3 V,温度测量的时间较快。本系统采用外部电源供电的工作方式:VDD引脚接+3.3 V电源,GND引脚接地,数据I/O引脚与主控制芯片的一个带上拉电阻的PA1口相连。电路图如图2所示。

图2 DS18B20电路图Fig.2 Circuit diagram of DS18B20

1.3 液晶屏显示

液晶显示模块采用LCD12232F液晶模块,LCD12232F是一种内置 8 192个 16×16点汉字库和 128个 16×8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×32全点阵液晶显示器组成。可完成图形显示,也可以显示7.5×2个(16×16点阵)汉字[5]。与外部主控制芯片接口采用并行或串行方式控制,本设计采用串行控制方式。图3给出了LCD12232F与主控制芯片的连接图。

图3 LCD12232F电路图Fig.3 Circuit diagram of LCD12232F

LCD12232F液晶屏数据线DB0~DB7分别与主控制芯片的通用I/O口PA24~PA31相连。其片选信号RS端、读写控制信号RW端、使能信号EN端分别与MCU的通用I/O的PA8、PA9和PA10相连。当片选信号RS、读写控制信号RW、使能信号EN均为高时,液晶显示屏显示数据。通过MCU对LCD12232F的读写,可以在液晶屏LCD12232F上显示时间和环境温度值。

1.4 实时时钟

本设计采用PCF856作为系统的时钟芯片,PCF8563是PHILIPS公司推出的一款工业级内含IIC总线接口功能的具有极低功耗的多功能时钟/日历芯片,PCF8563的多种报警功能、定时器功能、时钟输出功能、以及中断输出功能能完成各种复杂的定时服务。PCF8563所有地址和数据通过IIC总线接口串行传递,IIC的主机有SDA和SCL线,SDA是双向的数据口,SCL为同步时钟信号输出口;IIC的从机也有相应的SDA和SCL线,SDA是双向的数据口,SCL为同步时钟信号输入口。PCF8563的SDA和SCL分别与MCU的PA3和PA4引脚连接,MCU通过PA3和PA4向PCF8563芯片发送命令和接收数据,来获得准确的日期和时间。

2 系统实现

主程序[6-8]包括系统的初始化、选择通讯模式、温度数据的采集和存储、显示数据。系统的初始化包括主控制器内部时钟寄存器和各种寄存器的初始化、液晶的初始化、串口的初始化、时钟芯片的初始化。温度采集和存储部分即现场对温度采集后将温度数据存储于主控制芯片的FLASH中。温度显示即用液晶屏显示时间和温度,包括数据转换和和显示屏的刷新。通讯模式选择部分主要针对主控制芯片和PC之间的信息交流,包括设定温度数据采集的时间间隔以及将存储于FLASH中的温度数据通过串口传送至PC机。系统程序框图如图4所示。

图4 软件设计的流程图Fig.4 Flow chart the software design

整个系统的工作流程:系统上电后先对各个模块进行初始化,然后主循环判断是否开始采集温度数据(温度采集按钮是否按下),若需要开始采集(温度采集按钮按下),则进入采集温度的子循环,系统调用温度传感器、实时时钟和液晶屏相关的子函数采集环境温度,实时显示时间和温度数据,当采集温度的时间间隔达到设定的时间间隔后,系统将此时的时间和温度数据存储于FLASH中,此后系统一直执行采集温度的子循环,直到需要停止采集数据(停止采集按钮按下),此时系统跳出采集、显示、存储温度的子循环,跳回主循环,重新判断是否开始采集数据;若不需要采集温度数据,此时系统调用串口模块相关的子函数与PC机进行串口通信,用户可以从PC机的串口软件输入命令来选择设定存储时间间隔或提取存储的温度数据,当用户从PC机的串口软件输入数字“0”后,MCU后会马上读取存储在FLASH中的时间和温度数据,并将数据发送到串口,同时擦除FLASH中数据,释放存储空间,PC机接收串口数据,完成数据的传输,程序跳回主循环重新判断是否开始采集数据。当用户从PC机的串口软件输入数字“1”、“2”、“3”、“4”中的一个,即可设定对应预置的4种温度数据存储时间间隔中的一种并且程序跳回主循环重新判断是否开始采集数据。

3 结 论

基于ARM7的嵌入式温度采集存储系统弥补了监测环境温度时不能实时采集和存储温度数据的缺陷。通过串口通信在PC机上生成的温度记录直观而又便于统计和后续利用。设计了存储时间间隔能很好地根据工作人员的需求进行选择,提高了系统的灵活性。同时系统还具备反应速度快、性能稳定、体积小、携带方便和成本等特点,可以应用于很多温度检测领域。

[1]付雄新,周受钦,谢小鹏.农产品物流运输装备智能监测与跟踪技术[J].农机化研究,2010(8):166-167.FU Xiong-xin,ZHOU Shou-qin,XIE Xiao-peng.Smart monitoring and tracking technology for Ttransportation equipment of agricultural productslogistics[J].JournalofAgricultural Mechanization Research,2010(8):166-167.

[2]AT91 ARM Thumb-basedMicrocontrollers.SAM7S256/SAM7S128/SAM7S64/SAM7S321/SAM7S32 Preliminary[EB/OL].(2005-07-13)[2010-05-25].http://www.atmel.com/Images/doc6175.pdf.

[3]任守华.基于DS18B20测温的ARM温度采集系统研究[J].大庆师范学院学报,2010,30(3):47-50.REN Shou-hua.Temperature acquisition system of ARM based on DS18B20[J].Journal of daq ing Normal University,2010,30(3):47-50.

[4]刘鸣,车立新,陈兴梧,等.温度传感器DS18B20的特性及程序设计方法[J].电测与仪表,2001(10):47-51.LIU Ming,CHE Li-xin,CHEN Xing-yu,et al.The Characteristics of digital temperature senser DS18B20 and programming method[J].Electrical Measurement&Instrumentation,2001(10):47-51.

[5]尹溪,涂起龙.基于单片机液晶显示模块LCM12232的接口设计[J].煤矿机械,2010,31(3):254-256.YIN Xi,TU Qi-long.Interface design based on single-chip for LCD module LCM12232[J].Coal Mine Machinery,2001,31(3):254-256.

[6]陈赜.ARM嵌入式技术原理与应用[M].北京:北京航空航天大学出版社,2011:189-239.

[7]陈渝,李明,杨晔.源码开放的嵌入式系统软件分析与实践[M].北京:北京航空航天大学出版社,2004:3-11.

[8]马忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版,1999.

猜你喜欢
液晶屏PC机温度传感器
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
XTR105电流变送器在温度传感器中的应用
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
一种消除液晶屏高温MURA的工艺研究
基于单片机的点餐系统硬件设计
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
基于机器视觉的液晶屏字符缺陷检测系统设计