APP下载

基于ARM的育肥棚温度监控系统设计

2012-07-13马福祥马秀娟

电子设计工程 2012年3期
关键词:短消息SIM卡温度传感器

马福祥,马秀娟

(青海师范大学 计算机学院,青海 西宁 810008)

青海省是青藏高原的重要组成部分,素有“中华水塔”和“动物王国”之称,是我国五大牧区之一,但由于近几年的鼠类肆虐、气温变暖、水土流失、草地沙化、江河源头水资源锐减和人口增加等原因使部分地区的牧民被迫离乡谋生,出现“生态难民”现象[1]。为了畜牧业的可持续发展,政府部门引导牧民建起了育肥棚圈养。但调研中发现,多数牧民居住在高寒地区,这里早晚温差很大,育肥棚中牛羊很易得病,过高过低的温度也影响着牛羊的食量,从而影响着牛羊的育肥速度;针对此问题设计了一个温度监控系统,此系统能够把温度监控在最适宜育肥的 +10~+21℃之间[2],如温度低于+7℃或高于+27℃系统会自动地控制GSM模块向指定用户发送短信,实现报警功能。

1 系统硬件电路总体结构

该系统的硬件平台结构如图1所示。其中S3C2410为处理器芯片,DS18B20为数字温度传感器。系统运行时,处理器芯片将温度传感器采集的数据进行处理,将处理得到的数据在LCD屏上显示,并定时将采集结果写入Flash中,然后将采集到的温度值和预设值进行比较,检验其是否在其预设范围内。若超出预设范围,通过TC35 GSM通讯模块发出报警信息;由于处理芯片存储空间有限,不能满足操作系统和其他程序的运行,所以外接了SDRAM存储器K4S561632CTC75 (两片16 M×16 bit构成 32 bit) 和 Nand Flash存储器K9K1G08U0A(两片 64 M ×16 bit构成 32 bit)[3];复位电路选用了MAX706;LCD选用了LB064V02;为了方便Linux内核移植、交叉编译、驱动和应用程序下载以及以后的二次开发和功能扩展还用了JTAG和其他外围器件。

图1 系统硬件平台结构图Fig.1 Hardware platform structure of system

1.1 S3C2410处理器芯片

嵌入式系统硬件的核心部件是嵌入式处理器,本系统选用了三星公司推出的16/32位RISC处理器S3C2410,这是一款低价格、低功耗、高性能的处理器,它为了降低整个系统成本,S3C2410提供了很丰富的内部设备:分开的16 k指令Cache和16 k数据Cache、MMU虚拟存储器管理、LCD控制器、支持NAND Flash系统引导、片选逻辑和SDRAM控制器、8通道10位ADC和触摸屏接口、看门狗定时器、3通道UART、I2C控制器、USB控制器、中断控制器以及可编程I/O口等[4]。

1.2 S3C2410与DS18B20芯片的接口电路

温度传感器在整个控制装置中占据着十分重要的地位,它所采样的值是ARM微处理器的主要处理数据,是实施控制的依据。所以保证采样的数据准确是进行良好控制的基础。本系统选用温度传感器时考虑到高原的恶劣环境和牧民的实际情况选用了价格便宜、硬件开销小、精度较高、有极强的抗干扰能力和纠错能力的DS18B20数字温度传感器。此传感器采用单总线专用技术,即一条线即可与处理器实现双向传递数字信号,无须经过其它变换电路,直接输出被测温度值(9~12位二进制数),工作时每一步操作都遵循严格的工作时序和通信协议。被测温范围-55~+125℃,在-10~+85℃时精度为±0.5℃;此芯片内含64位经过激光修正的只读存储器ROM,用于存储唯一64位序列号,因此可以在一条总线上挂接多个DS18B20而不会出现混乱;内含暂存RAM,用于存放工作参数和测量值;具有非挥发的温度报警触发器TH和TL,用户可以分别设定各路温度的上、下限;工作电压范围在3.0~5.5 V。DS18B20与控制器的接口电路图如图2所示。

1.3 S3C2410与外存储器的接口电路

为了降低成本和充分发挥32位处理器的数据处理能力,本系统采用2片16位的HY29LV160和 2片16位的K4S561632C芯片分别构造了32位的Flash和SDRAM存储系统[4]。Flash与 S3C2410连接时,低16位片的WE#端接S3C2410的nWE<0>,高 16位片的 WE#端接 S3C2410的nWE<2>,2片Flash的BYTE#均上拉,使工作在字模式;2片Flash的地址总线 [A19-A0]均与S3C2410的地址总线[ADDR19-ADDR0]相连;低16位Flash与S3C2410的低16位数据总线[DATA15-DATA0]相连,高16位的数据总线与[DATA31-DATA16]相连;2片Flash的OE#接S3C2410的nOE#;2片 Flash的 RESET#端接 S3C2410的 nRESET;将S3C2410的nGCS<0>接至 2片 Flash的 CE#端。SDRAM与S3C2410连接时,SDRAM的地址线为[A12-A0](行/列地址线分时复用)和片选信号为BA0和BA1与S3C2410的[ADDR14-ADDR2]、ADDR[22]和 ADDR[23]相 连 。 第 一 片SDRAM输入数据线 [DQ15-DQ 0]连接S3C2410数据总线[DATA15-DATA0],第二片连接数据总线[DATA31-DATA16]。另外,第二片的LDQM、UDQM、SCLK分别连接 S3C2410的DQM2、DQM3、SCLK1。 图 3是 SDRAM 芯片引脚与 S3C2410引脚之间的接口图,Flash的连接方式和SDRAM方式相似,这里就不给出接口图。

图2 3C2410与DS18B20的连接Fig.2 Connection between S3C2410 and DS18B20

图3 S3C2410与SDRAM的连接Fig.3 Connection between S3C2410 and SDRAW

1.4 TC35GSM通讯模块

TC35是Siemens公司推出的新一代无线通信GSM模块,该模块有AT命令集接口,支持文本和PDU模式[5],可以快速可靠地实现系统方案中的短消息发送。此模块主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、Flash、无线接口和ZIF连接器6部分组成。它通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号及控制信号的双向传输。作为TC35的核心,基带处理器主要控制着模块内各种信号的传输、转化和放大,GSM射频部分完成对射频信号的接受和发送等处理,Flash用来存储用户配置信息、电话本和其他信息。ZIF的40个引脚中,其中数据的输入/输出引脚为16-23,即9针串口,SIM卡引脚为 24-29,其中CCIN引脚用来检测SIM卡支架中是否插有SIM卡。当插入SIM卡,该引脚置为高电平,系统方可进入正常工作状态。但目前移动运营商所提供的SIM卡均无CCIN引脚,所以在设计电路时将引脚CCIN与CCVCC相连。由于TC35数据接口工作在CMOS电平 (2.65 V)下,因此需要通过电平转换芯片MAX232与处理器串行口连接。TC35与S3C2410的接口电路如图4所示。

图4 S3C2410与TC35的连接Fig.4 Conneetion between S3C2410 and TC35

2 系统软件设计

软件方面我们做了移植加载引导BootLoader、Linux内核的裁剪及重新编译、移植文件系统、驱动程序和用C开发了应用程序[6-7]。具体工作流程是当系统开机后,进入BootLoader程序进行一系列的硬件初始化,然后加载Linux系统进一步初始化,如成功,系统调用各个模块开始工作,同时看门狗检测系统是否运行正常,如不正常,则自动复位。工作时S3C2410不断读取DS18B20采集的温度,当温度超过限定值时,S3C2410自动控制 GSM模块向指定用户发送短信。在发送短消息前,首先要发送 AT+CMGF命令选择短消息的格式,然后通过AT+CSCA来获取短消息服务中心,等待字符‘>’出现后,开始发送字符,并以Ctrl+C结束。短消息的发送和接收控制模式有3种[8]:Block模式、Text模式和 PDU模式。使用 Block模式需要手机生产厂商提供驱动支持,目前国内手机基本上不支持,Text模式不支持中文。流程图5是用TC35来实现温度报警的过程,其中流程图中短消息发送格式设置为PDU模式(AT+CMGF=0),短消息中心设置为西宁市(AT+CSCA=“+8613010776500”)。

3 测试结果

1)系统的基本功能测试。首先借助“串口调试助手V2.2”进行了GSM模块的测试,测试结果能够实现发送中文短信,然后系统集成并上电后S3C2410会不断读取温度,当温度过高或过低超过限定值时,处理器自动控制GSM模块向指定手机发送短信,实现报警功能。一次报警后,S3C2410隔半小时再次进行温度读取和判断,如果仍然不在限定值范围,则继续报警,如果温度回归正常,则进入待机循环。

2)温度误差的计算。分-20℃、+7℃和+27℃3个温度进行测试。把温度传感器放入恒温箱中,每一个温度测试30 min,每秒钟记录1组数据,共测试1 800条记录。测试时,基准数据为箱内温度,计算时将测试存储的数据与基准数据作差,计算公式如下:

图5 短信的发送流程Fig.5 Process of sending mesage

温度误差统计值公式[9]:

最终统计在-20℃、+7℃、+27℃3个温度下,它们的温度误差分别是1.21、1.08和0.89。也就是说,设备所测试的结果都是在设定的温度附近波动,且波动的范围在1℃左右,说明此设备的稳定性较好。

4 结束语

文中设计了基于S3C2410处理器、DS18B20温度传感器和TC35 GSM模块组成的温度监控系统,此系统在考虑到高原的特有气候和经济水平,设计中考虑到了它的性价比,以短信息的形式将过高或过低的温度发给用户,用户根据具体情况进行处理。试验证明该系统的温度采集和短信的发送性能满足设计要求。由于,牧民嫌电费贵,本系统只涉及了短信的发送功能,没有对接收短信及接收后系统对温度的自动控制进行研究,但系统留了相应的接口,可以进行二次开发和功能扩展。

[1]才旦.青海省草原鼠虫害防治效益分析 [J].草原与草坪,2006(2):69-71.

CAI Dan.Qinghai grassland rat pests prevention benefit analysis[J].Grassland and Lawn,2006(2):69-71.

[2]胡辉忠.肉牛育肥的综合措施 [J].现代农业科技 2007(17):187-188.

HU Hui-zhong.The comprehensive measures of beef cattle fattening[J].The Modern Agricultural Science and Technology,2007(17):187-188.

[3]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.

[4]Samsung.S3C2410 user’s manual[S].2006.

[5]陈艳华,侯安华.基于ARM的嵌入式开发与实例[M].北京:人民邮电出版社,2008.

[6]Bovet D P,Cesati M.深入理解LINUX内核[M].3版.北京:中国电力出版社,2011.

[7]Jonathan C,Alessandro R.Linux Device Drivers 3rd[M].America:Oreilly&Associates Inc,2005.

[8]韦东山.嵌入式 Linux应用开发完全手册[M].北京:人民邮电出版社,2008.

[9]吴生有,燕莎,王迎尉,等.电子测量仪器[M].西安:西安电子科技大学出版社,2008.

猜你喜欢

短消息SIM卡温度传感器
SIM卡防盗很关键 小喻教你如何给它“上保险”
铁路GSM-R SIM卡读写次数测试方法研究
SIM卡的“减肥史”
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
试论电视新闻短消息的采写策略
XTR105电流变送器在温度传感器中的应用
浅谈广播短消息的采写
温度传感器在笔记本电脑散热系统中的应用
短消息业务评估体系的研究与实现