基于ARM的温度监测系统设计与实现

时间:2022-03-16 07:02:01

基于ARM的温度监测系统设计与实现

摘要:提出基于arm温度监测系统的设计实现。采用数字温度传感器DSl8B20作为温度检测元件,单片机控制温度采集,通过单根总线将采集的数据传送到ARM主机S3C2410上。在嵌入式Linux操作系统,利用Qt作为GUI,实现对温度数据进行实时显示及存储。

关键词:嵌入式Linux;DS18B20;温度监测;Qt

中图分类号:TP274+.2 文献标识码:A文章编号:1007-9599 (2011) 12-0000-01

ARM-Based Temperature Monitoring System Design and Implementation

Guo Zhiheng

(University of Electronic Science and Technology of China,Zhongshan Institute,Zhongshan University,Zhongshan528402,China)

Abstract:In this paper,a system design for monitoring temperature based on ARM platform.the DS18B20 temperature sensors are used to collect temperature data,the microcontroller controls temperature acquisition and send data to the ARM host through the RS-485 bus protocol.The S3C2410 as the core with Qt GUI,carry out displaying of temperature and storing data for real-time.

Keywords:Embedded Linux;DS18B20;Temperature monitoring;Qt

一、引言

在工农业生产环境以及公共场所、家庭环境中,温度数据作为主要监测因素显得越来越重要,温度的远程监控问题尤其应用领域越来越广泛。目前温度监控系统主要使用在需要对温度数据信息进行实时获取的环境场合,比如:药品生产车间、温室蔬菜水果大棚中、禽类孵化房、服务器机房等。

二、系统软硬件环境

监控系统主机采用SAMSUNG公司的微处理器S3C2410,该芯片基于ARM9架构,主频202MHz,配置8寸640*480TFT真彩LCD、触摸屏,串口通讯电路。温度采集子系统采用ATmega16单片机,温度传感器DSl8B20电路,以及单总线串口电路。

嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁剪处理后,适合于特定嵌入式应用场合的专门Linux操作系统。嵌入式Linux具有低成本、高性能、网络和广泛的硬件支持等优点,在嵌入式系统开发中有广泛的应用。本系统采用Linux-2.4内核,支持yaffs2根文件系统和带有完善的设备驱动。

三、系统设计实现

传统的模拟远距离温度测量存在,如引线误差、多点切换误差、零点漂移等问题,为了克服这些问题系统采用美国DALLAS公司生产的可以组网的数字温度传感器DS18B20。温度传感器DS18B20可以实时采集温度并且通过单线串口发送到ARM主机上,对数据进行实时显示及存储[2]。

(一)温度采集子系统设计

ATmega16是高性能、低功耗的8位AVR单片机,具备有32个可编程的I/O口。用于控制数字温度传感器DS18B20进行多点温度采集和温度数据上传ARM主机通讯。

DS18B20内部结构ROM中的64位序列号是出厂前被光刻好的,可以看作是该DS18B20的地址序列码,每一个DS18B20都不相同,可以实现一根总线上挂接多个DS18B20。CPU对DS18B20器件操作常用指令表如表1所示。

表1.命令表

指令 代码 功能

读命令 33H 读DS18B20 ROM中的编码(即64位地址)

定位命令 55H 发出此命令和64位ROM编码,单总线上与该编码相对应的DS18B20做出响应,为对其读写做准备。

查询命令 F0H 查询总线上DS18B20的数目及其64位序列号

跳过命令 CCH 该命令允许主机跳过ROM序列号检测而直接对寄存器操作,适用于单片工作。

读出命令 BEH 该命令可读出寄存器中的内容,复位命令终止读出。

转换命令 44H 该命令使DS18B20立即开始温度转换

采集温度的实现的程序流程:如图1所示。

图1.DS18B20流程图

(二)ARM主机端设计

1.用户界面。嵌入式主流用户界面接口(GUI)Qt支持Linux等多种操作系统,良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便。同时Qt还支持2D/3D图形,支持OpenGL。

2.读取、显示、保存数据实现。完成温度数据读取、显示、保存的程序使用多线程设计,主线程用于显示温度和界面交互响应,创建了一个线程用于实时监听串口的数据读入,把读入的数据传送给主线程显示,如果有用户要求保存温度数据的命令,还要把温度数据写入文件系统中。

四、系统测试

在系统开发中,测试是一个非常重要的环节。测试主要针对本系统的两个子系统进行测统完整测试。

ARM主机的测试内容主要有温度数据同步、温度数据显示、温度数据保存结果。从显示窗口观测到的数据与单片机LCD显示的数据完全一致,没有出现丢包,发错包的现象。通过文件系统保存的数据内容查看到的温度数据也与显示数据完全一致。

参考文献:

[1]赵茂泰.智能仪器原理及应用[M].电子工业出版社,2007

[2]袁易君,甘辉等.基于AVR煤矿风机多点温度监测仪的研究[J].智能仪器仪表

上一篇:个性化的动态网站建设研究与设计 下一篇:农村中学信息技术课的教学策略