基于ARM和DS18B20设计网络化的智能温度传感器

2010-08-03 12:10:10来源: 互联网

  传感器作为一种获取信息的重要工具,在工业生产、科学技术等领域发挥着重大的作用。但随着微处理器技术的迅猛发展以及测控系统自动化、智能化的发展,传统的传感器已与各种微处理器相结合,并连入网络,形成了带有信息检测、信号处理、逻辑思维等一系列功能的智能,传感器。

  1 网络化智能传感器简介

  网络化智能传感器使传感器由单一功能、单一检测向多功能和多点检测发展;从被动检测向主动进行信息处理方向发展;从就地测量向远距离实时在线测控发展。网络化使得传感器可以就近接入网络,传感器与测控设备间再无需点对点连接,大大简化了连接线路,易于系统的维护和扩充。网络化智能传感器一般由信号采集单元、数据处理单元和网络接口单元组成。这3个单元可以是采用不同芯片构成合成式的,也可以是单片式结构。网络化智能传感器的核心便是嵌入式微处理器。嵌入式微处理器具有体积小、功耗低、可靠性高、可抗干扰能力强等特点。本系统就是采用嵌入式微处理器作为核心,使用数字式的温度传感器作为采集单元。系统设计中采用的是信息技术领域最新的B/S(Brower/Server,浏览器/服务器)结构,用浏览器作为统一的客户端,无需安装软件,使用起来更加方便。

  2 系统硬件设计

  2.1 总体框架

  采用的嵌入式微处理器LPC2210是基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI—S CPU的微控制器。功耗极低,具有多个32位定时器、8路10位ADC、PWM输出以及多达9个外部中断,特别适用于工业控制、医疗系统;由于内置了宽范围的串行通信接口,也非常适合于通信网关、协议转换器、嵌入式软Modem以及其他类型的应用。

  该嵌入式Web智能温度传感器系统设计的总体框架如图1所示。

嵌入式Web智能温度传感器系统设计的总体框架

  2.2 电源模块

  LPC2200系列ARM7微控制器均要使用2组电源,I/O口供电电源为3.3 V,内核及片内外设供电电源为1.8 V应用系统。如图2所示,首先由CZl电源接口输入9 V直流电源,二极管D1防止电源反接,经过C1和C2两个电容进行滤波;然后,通过LM7805将电源稳压至5 V,再使用LDO芯片(低压差电源芯片)稳压输出3.3 V及1.8 V电压。

电源模块

  2.3 温度传感器

  温度传感器采用单线数字温度传感器DS18B20,该传感器是Maxim公司生产的、属于新一代适配微处理器的智能温度传感器。测温范围较广,为一55~+125℃,固有测温分辨率为O.5℃。其支持“一线总线”接口,即从DS18B20读出信息或向DS18B20写入信息仅需要一根口线(单线接口)。温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。DS18B20集温度测量、A/D转换于一体,可根据实际要求通过简单的编程实现9~12位的数字值读数方式,具有体积小、接口方便、传输距离远等特点。

  DS18B20与微处理器LPC2210的连接图如图3所示。注意,应加入一个阻值为5.1 kΩ的上拉电阻。

DS18820与微处理器LPC2210的连接图

  2.4 网络接口

  网络接口采用的是目前比较常用的lO Mbps嵌入式以太网控制芯片RTL8019。它是一种高度集成的以太网控制芯片,内部集成了DMA控制器、ISA总线控制器、16 KB SRAM和网络PHY收发器。用户可以通过DMA方式把需要发送的数据写入片内SRAM中,让芯片自动将数据发送出去;而芯片在接收到数据后,用户也可以通过DMA方式将其读出。

  RTL8019AS与LPC2210一般通过外部总线进行连接,其连接关系如表1所列。

RTL8019AS与LPC2210的连接关系

  由表1可知,RTL8019AS使用LPC2210外部存储控制的Bank2部分,而RTL8019AS的I/O地址为0x00300~Ox0031F,所以RTL8019AS在SA8=l、SA5=O时选通,其数据地址为0x83400000~Ox83400001F。

  NET_RST为LPC2210输出引脚,RTL8019AS中断信号为中断输入信号,且为外部中断。RTL8019AS的SDO~SDl5串了一个470 Ω电阻连接到LPC2210的D0~D15。此外,该系统还加入了LCM接口,可以直接支持SMG240128A点阵图形液晶模块,便于通过液晶实时显示传感器所接收的温度。

  3 系统软件分析

  3.1 总体设计

  系统开发采用的是ARM公司的ADS1.2作为开发编译环境。移植了μC/OS—II操作系统,主要采用C语言编写。将μC/OS—II移植到ARM处理器上,需要修改3个与ARM体系结构相关的文件:OS_CPU.H、0S_CPU_A.ASM、OS_CPU_C.C。具体移植请参考相关书籍。

  程序首先调用OSinit()初始化μC/OS—II,完成对操作系统内部一些变量、数据结构和宏定义的初始化。在开始多任务之前,还需建立一个名为Task0()的任务,这一点是非常重要的,否则用户的应用程序就会崩溃。主任务中首先调用TargeTInit()函数将目标板初始化,模板中包含这个初始化函数,它完成对板上硬件的一些初始化工作。之后启动多任务环境,创建3个任务来实现系统最终的目标。这3个任务包括:传感器对温度的采集和处理;温度比较与液晶显示;建立Web服务器。下面对设计过程中比较关键问题进行详细的阐述。

  3.2 软件设计中的关键技术问题

  3.2.1 传感器的温度采集

  在对传感器数据采集的软件编程中,采用的是单线总线协议。通过单线总线访问DSl8820的协议包括:初始化DSl8820、ROM操作命令、存储器操作命令和读数据/处理数据。

  根据DSl8820的初始化时序、写时序和读时序,分别编写3个子程序:Init_DSl8820为初始化子程序;WriteOneChar为写(命令或数据)子程序;ReadOneChar为读数据子程序。所有的数据读/写均由最低位开始。

  该系统的读字节子程序的流程如图4所示。

系统的读字节子程序的流程

  温度传感器采集的关键任务程序代码如下:

程序

程序

[1] [2]

关键字:网络化智能传感器  LPC2210  DS18B20  RTL8019AS

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/0803/article_3229.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
网络化智能传感器
LPC2210
DS18B20
RTL8019AS

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved