无线温度采集系统的设计

  仪器信息网 ·  2011-03-25 08:52  ·  9939 次点击
引言
在工农业领域和日常生活中,温度是最常用的被控参数之一。目前,嵌入式系统发展迅速,其具有代码少、速度快等特点,适合于可靠性和精度要求高的温度实时系统。本文设计了一种结合嵌入式技术和无线传感器技术的无线温度采集系统。该系统具有高性能、低功耗的特点及快速处理数据的能力。
一、系统总体设计
无线温度采集系统主要由温度信号采集模块、ARM920T控制模块、无线收发模块、显示模块、供电模块组成。
无线温度采集系统的核心采用韩国三星公司推出的ARM920T内核S3C24l0的32位嵌入式微处理器,信号采集模块选用温度传感器DS18B20,无线收发模块选用CHIPCON公司生产的CC1100芯片。系统通过DSl8B20实时采集温度数据;利用函数初始化,设置CC1100芯片的各个寄存器,并通过SPI串行接口把温度数据发送到CC1100芯片上。当CC1100接收到调制数据后,先对数据进行解调,然后将数据传送到S3C2410上,S3C2410再经过编制程序对数据进行处理,最后把温度数据显示在LCD液晶显示屏上。系统框图如图1所示。
系统通过设定温度测量时的上下界限,将环境温度控制在所要求的范围内,当温度超出设定的范围时,系统发出报警信号。
通过UART串行接口,控制模块可以与PC进行数据通信,并绘制出温度实时曲线,达到更加直观、更加实时的无线温度测量。
二、系统硬件设计
2.1控制模块
ARM9的S3C2410芯片是整个系统的核心,其直接控制DS18B20进行温度信号的采集,工作频率最高为202MHz。2片SDRAM,每片容量为32MB,用来存取系统运行时的程序,32bit数据总线。片选NSCS6接2片HY57V561620单元作为片选信号,CPU分配给这2片HY57V561620单元的地址空间为S3C24lO的Bank6区和Bank7区。
32MB的NANDFlash存储器K9F5608U用来保存Bootloader、嵌入式Linux操作系统、应用程序等配置参数。该存储单元有8bit数据总线,由S3C2410的相关引脚直接控制,CPU分配给它的地址空间为0x00000000~0x01ffffff,启动代码部分则放在从0x00000000开始的地址空间内。系统将CPU的引脚OM设置成00b,当核心板上电复位时,系统首先将NANDFlash开始地址中0~4kbit的程序映射到StePPinStone区,然后从那里开始执行。S3C2410具有一系列的外部接口:触摸屏接口、HC总线接口、115总线接口、1个USB设备接口、2个USB主机接口、SD接口和MMC卡接口。本系统采用NANDFlash与SDRAM组合启动的方式。
S3C2410在电源供给方式上也具有自身的特点,不同的部分需要不同的供电方式,如内核用1.8v、存储单元用3.3V、VDDQ用3.0/3V、I/O用3.3V。
S3C24l0通过I2C总线与4线SPI接口(S1、SO、SCLK和SCn)对CCll00进行配置、控制和数据收发。
2.2无线收发模块
CCI1100为低功耗高集成性无线收发芯片,它为突发数据处理、清晰信道提供广泛的硬件支持,非常适用于恶劣的无线环境。CCll00通过SPI接口来设定内部寄存器的值并配置相应的工作方式。接收方式下,射频输入信号先通过低噪声放大器(LNA)进行放大,然后通过混频器把输入信号转换成中频信号;在送给解调器之前,中频信号被A/D转换为数字信号,解调之后,进行前向纠错和数据包处理,再把收到的数据存入接收FIFO中。在发射方式下,数据经过调制之后被送到频率合成器,再经过90°的相移装置发送给信号放大器(PA)。当S3C2410检测到振动信号时,发送激活命令,CCll00进入接收模式,如果CC1100准备好接收,则可以开始接收数据。CC1100的RF收发器具有可配置的调制解调器,通过编程设置寄存器的参数,可使CCll00支持不同的调制格式,最高可达到500kbit/s。
2.3采集模块
DSl8B20是Dallas公司生产的一线式数字式温度传感器。该传感器针对温度进行了内部硬件修正,能直接与S3C2410相连,实现温度测量,不需要A/D转换电路,适用于低功耗的环境。DSl8B20电路图如图2所示。
DSl8B20内部结构为3引脚TO-92小体积封装形式;温度测量范围为-55~+125℃,可编程为9-12bitA/D转换精度,测温分辨率可达0.0625℃,被测温度采用符号扩展的16bit数字量方式串行输出。DS18B20由4部分组成,即64bitROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。ROM中的64bit序列号是DS18BZO的地址序列码,每一DSl8BZo的64bit序列号各不相同。DS18B20中的温度传感器完成对温度的测量,并显示16bit符号扩展的二进制补码读数形式,表达成0.0625℃/LSB,S为符号位。LCD的控制器使用S3C24lO内部集成的控制器,其具有189.81mm(1英寸=25.4mm)、320x240像素、256色的彩屏,电源操作范围为2.7-5.5V。
三、系统软件设计
系统软件设计包括建立嵌入式Linux系统的开发环境和移植。
基本的嵌入式Linux系统包括3个基本元素:系统引导程序,用于完成机器加电后的系统定位引导;Linux系统内核,为嵌入式应用提供一个软件环境,为应用程序完成基本的底层资源管理工作;初始化过程,完成基本的初始化。
3.1建立系统的开发环境开发环境
包括操作系统以及包括连接器、编译器、调试器在内的软件。嵌入式系统软件开发采用交叉编译调试的方式。交叉编译调试环境建立在宿主机Host(即PC机)上,而嵌入式ARM9-S3C2410系统为目标板Target,因此,通过网线把Host和Target相连,从而进行跨平台开发。
系统安装了1台Redhat9.04系统的PC机作为宿主机。运行Linux的宿主机进行开发时,使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码,再把这些二进制代码下载到目标机上运行。采用ARM-LINUX-GCC3.3.2作为GNU交叉编译工具,具体包括C/C++编译器、汇编器、链接器、嵌入式系统的标准C库、GDB代码调试器U。这些工具可以从网上下载。
3.2U-boot的移植过程
U-boot是德国DENX小组开发的、在嵌入式操作系统运行之前执行的一段Bootloader程序,是一个公开源代码的软件。其代码源可以从网站上获得版本为1.1.4.
通过U-boot进行初始化硬件设备,建立内层空间的映射表,并且建立适当的系统软硬件环境,为运行程序做好准备。其具体过程如下。
四、系统的实现
4.1系统环境
温度测量系统软件主要包括主程序、无线传感器初始化子程序、无线传感器读数据子程序、温度测量子程序、无线通信子程序等部分。
4.2系统测试结果
未验证测试结果,实验室设置了温度测量系统,并采用精度为0.001℃的标准温度计作为温度测量标准。其测量结果过如表1所示。
五、结束语
本文结合嵌入式技术与无线通信技术,提出了基于ARM9的无线温度采集系统。系统采用单号线数字温度传感器DS18B20实现温度采集,并利用无线通信模块CC1100完成ARM9处理器与测温节点间的数据传输,ARM9处理器实现系统控制和温度显示。

0 条回复

暂无讨论,说说你的看法吧!

 回复

你需要  登录  或  注册  后参与讨论!