传感器作为一种获取信息的重要东西,在工业出产、科学技能等范畴发挥着严重的效果。但随着微处理器技能的迅猛开展以及测控体系自动化、智能化的开展,传统的传感器已与各种微处理器相结合,并连入网络,形成了带有信息检测、信号处理、逻辑思维等一系列功用的智能,传感器。
1 网络化智能传感器简介
网络化智能传感器使传感器由单一功用、单一检测向多功用和多点检测开展;从被迫检测向自动进行信息处理方向开展;从就地丈量向远间隔实时在线测控开展。网络化使得传感器能够就近接入网络,传感器与测控设备间再无需点对点衔接,大大简化了衔接线路,易于体系的保护和扩大。网络化智能传感器一般由信号收集单元、数据处理单元和网络接口单元组成。这3个单元能够是选用不同芯片构成组成式的,也能够是单片式结构。网络化智能传感器的中心便是嵌入式微处理器。嵌入式微处理器具有体积小、功耗低、可靠性高、可抗干扰能力强等特色。本体系便是选用嵌入式微处理器作为中心,运用数字式的温度传感器作为收集单元。体系规划中选用的是信息技能范畴最新的B/S(Brower/Server,阅读器/服务器)结构,用阅读器作为一致的客户端,无需装置软件,运用起来愈加便利。
2 体系硬件规划
2.1 整体结构
选用的嵌入式微处理器LPC2210是依据一个支撑实时仿真和嵌入式盯梢的16/32位ARM7TDMI—S CPU的微操控器。功耗极低,具有多个32位定时器、8路10位ADC、PWM输出以及多达9个外部中止,特别适用于工业操控、医疗体系;因为内置了宽规模的串行通讯接口,也十分适合于通讯网关、协议转化器、嵌入式软Modem以及其他类型的运用。
该嵌入式Web智能温度传感器体系规划的整体结构如图1所示。
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 温度传感器
温度传感器选用单线数字温度传感器DSl8820,该传感器是Maxim公司出产的、归于新一代适配微处理器的智能温度传感器。测温规模较广,为一55~+125℃,固有测温分辨率为O.5℃。其支撑“一线总线”接口,即从DSl8820读出信息或向DSl8820写入信息仅需求一根口线(单线接口)。温度改换功率来源于数据总线,总线自身也能够向所挂接的DSl8820供电,而无需额定电源。DSl8820集温度丈量、A/D转化于一体,可依据实践要求经过简略的编程完成9~12位的数字值读数方法,具有体积小、接口便利、传输间隔远等特色。
DS18820与微处理器LPC2210的衔接图如图3所示。留意,应参加一个阻值为5.1 kΩ的上拉电阻。
2.4 网络接口
网络接口选用的是现在比较常用的lO Mbps嵌入式以太网操控芯片RTL8019。它是一种高度集成的以太网操控芯片,内部集成了DMA操控器、ISA总线操控器、16 KB SRAM和网络PHY收发器。用户能够经过DMA方法把需求发送的数据写入片内SRAM中,让芯片自动将数据发送出去;而芯片在接纳到数据后,用户也能够经过DMA方法将其读出。
RTL8019AS与LPC2210一般经过外部总线进行衔接,其衔接联系如表1所列。
由表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所示。
温度传感器收集的要害使命程序代码如下:
3.2.2 Web服务器的树立
要在微处理器中树立Web服务器,首要需求完成TCP/IP协议栈的移植。规划中首要选用ZLG/IP软件包,它是广州周建功单片机开展有限公司开发的面向嵌入式体系开发的TCP/IP协议栈,是ZLG系列中间件的重要成员之一。ZLG/IP供给完成Internet网络上IP接点的功用,是一种高性能的嵌入式TCP/IP协议栈软件。它运用μC/OS—II实时操作体系的信号机制来完成一个多使命并行、可重入的协议栈,彻底运用ANSI C编写,能够像μC/OS—II那样支撑多种CPU。ZLG/IP还具有层次明晰、易于晋级和修正等特色。该ZLG/IP软件包详细可见参阅文献。
ZLG/IP选用模块化层次结构规划,其结构如图5所示。
图5中,TCP/IP运用程序是用户自己编写的μC/OS—II使命,是ZLG/IP的运用者,坐落整个程序的最高层。TCP/IP运用程序调用ZLG/IP供给的Socket API接口函数对网络进行相应的操作。Socket API接口坐落TCP/IP协议与运用程序之间,是用户操作协议栈程序的东西,在运用程序中经过调用Socket API接口函数来对协议栈软件进行操作。TCP、UDP处理模块是协议栈程序中处理传输层协议的模块,担任对传输层的数据进行封装宽和拆,保存传输层衔接状况。点划线内部便是接纳处理,包含IP报、ARP报、ICMP报的处理,及以太网层的数据接纳驱动。接纳驱动模块在接纳到数据后先进行分类,若是IP报就由IP处理模块处理,若是ARP报就进行ARP协议处理。ARP恳求报调用以太网发送模块发送ARP应对报。IP处理模块把数据分类,TCP或UDP报则转由上层的传输层模块处理,而ICMP协议处理模块担任对IC—MP协议进行处理。IP发送模块担任封装IP报,并把封装好的IP报传送到基层发送模块。IP发送模块有4个上层模块调用:别离是Socket API接口、UDP处理、TCP处理和ICMP处理。它们把相应的参数传送给IP发送模块,由IP发送模块来封装。Ethernet发送驱动模块是归于以太网层的处理模块,担任封装以太网报和数据的发送,调用它的模块有ARP处理模块和IP发送模块。
因为运用的是B/S结构,则编程是选用的是TCP通讯的Socket API。编写TCP通讯的使命时分为服务器方法和客户机方法两种。服务器方法是需求监听衔接,只要在与客户机树立衔接后才干进行数据处理。客户机方法是自动衔接服务器,也是在衔接成功后才干进行数据处理。图6是TCP通讯时服务器端和客户机端通讯的函数运用图。
在编程时温度传感器有其仅有的一个IP地址,即192.168.O.174。子网掩码是255.255.255.0,网关地址与IP地址相同。Web服务器树立在微处理器中,个人PC机为客户端,当个人需求查询温度传感器的值时,经过HTTP协议在阅读器中输入该传感器的IP地址(即ht—tp://192.168.O.174),便可进入该体系的网页温度阅读界面。
Web服务器使命程序代码如下:
结 语
本体系已经过测验运转杰出,能便利地经过阅读器实时查询温度传感器所收集的温度值。网络化智能传感器是现在传感器技能开展的一个新的方向,本体系选用嵌入式技能完成了一个根本的依据网络的智能化传感器,其间规划的要点首要是对TCP/IP通讯协议的完成,行将TCP/IP协议栈移植到体系中,然后调用相关的API函数完成网络通讯。而Web功用的完成首要选用了B/S形式,经过上层的HTTP协议完成了阅读器与嵌入式网络传感器的交互。完成传感器的网络化操控能够很好地运用在对家电设备的操控或工业现场的操控中,具有杰出的运用远景。