版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2011年第10期仪表技术·19·基于ARMCLinux的GPRS远程监控系统设计徐11,2井,凌志浩(1华东理工大学自动化系,上海200237;2化工过程先进控制与优化技术教育部重点实验室,上海200237)摘要:介绍一种基于ARMClinux平台及GPRS技术的嵌入式监控系统。系统采用了ARMS3C44B0X芯片为核心设计监控终端硬件电路,在Clinux操作系统下进行了监控应用程序的开发,通过SIM300模块实现了监控终端与远程服务器的数据通信。该系统可以较好满足远程监控系统对数据传输可靠性和实时性的要求。关键词:远程监控;ARMCLinux;GPRS;SIM300中图
2、分类号:TP39文献标识码:A文章编号:10062394(2011)10001904DesignofGPRSRemoteMonitoringSystemBasedonARMCLinux2XUJing1,LINGZhi-hao1,(1AutomationDepartmentofEastChinaUniversityofScienceandTechnology,Shanghai200237,China;2KeyLaboratoryofAdvancedControlandOptimizationforChemicalProcesses,MinistryofEducation,Shanghai2002
3、37,China)Abstract:AnembeddedmonitoringsystembasedonARMCLinuxplatformandGPRSismainlydescribedinthepaperThehardwarecircuitsofthesystemaredesignedbasedontheARMchipS3C44B0XasthecoreIntheCLinuxoperatingsystem,themonitoringapplicationprogramisdeveloped,achieveddatacommunicationbetweenmo-nitoringterminalan
4、dremoteserversthroughtheSIM300Thesystemcanmeettherequirementsofremotemonitoringsystemfordatatransmissionreliabilityandreal-timeKeywords:remotemonitoring;ARMCLinux;GPRS;SIM300满足远程监控系统对数据传应用于不同的监控场合,输可靠性和实时性的要求。111系统硬件设计ARM最小系统硬件结构0前言随着远程数据传输技术的不断发展,基于GPRS(GeneralPacketRadioService)网络的分组数据业务得到了广泛的行业应用
5、。GPRS是基于GSM网络上的一种新的数据传输技术,它采用分组交换方式,具有数据通信质量高、永远在线和按流量计费等优传输速率快、点。GPRS自身的特点,合理的组网方式以及可靠的传输机制,使其成为远程监控系统中解决监控地点涉及范围广、现场环境不易于布线、设备布局分散等问题的主流技术。本设计方案采用三星公司S3C44B0X的ARM芯片和SIMCOM公司GPRS无线通信模块SIM300构成MCU通过标准RS232串口控制嵌入式监控终端,GPRS模块,登陆连接GPRS网络和Internet,再连接到远程的计算机监控中心,从而实现远程的数据传输功为了实现无人值守,还可以通过手机短消息能。此外,来达到实时
6、报警和远程监控的目的。本设计方案利用GPRS作为桥梁突破普通无线传输的瓶颈,可以灵活按照功能划分,本文所实现的嵌入式系统硬件平数台由以下几部分组成:嵌入式微处理器S3C44B0X、GPRS通信模块、据采集模块、以太网控制接口、存储器单元、串口通信电路、电源模块及JTAG(JointTestActionGroup)调试接口。整个监控终端的硬件结构如图1所示。图1监控终端硬件结构收稿日期:201106作者简介:徐井(1987),男,硕士研究生,主要从事嵌入式系统软硬件开发。·20·仪表技术2011年第10期设计中选用的三星SamsungS3C44B0X微处理器是基于ARM7TD
7、MI的RISC型CPU,是一款性价比较高的嵌入式32位处理器。S3C44B0X提供了丰富的4通道DMA、内置部件,包括8KBcache高速缓存器,带有握手协议的2通道UART、带有PWM功能的5通8通道10位ADC、IICBUS接口、IIS道定时器、LCD控制器、71个通用I/O接口等。它们BUS接口、能够与常用的外围设备实现无缝连接,从而简化了外围电路设计,降低了产品成本、体积和功耗。12GPRS模块SIM300电路设计SIM300是一款三频段GSM/GPRS模块,具有低功耗设计,睡眠模式下的电流消耗仅为25mA,可在DCS1800MHz、PCS全球范围内的EGSM900MHz、1900MH
8、z三种频率下工作,能够提供GPRS多信道类CS2、CS3和CS4型达10个,并且支持CS1、共四种GPRS编码方案。此外,它内部集成了TCP/IP协议栈,并且扩展了TCP/IPAT指令,使用户利用该模块开发数据传输设备变得特别简单、方便。SIM300提供了标准的RS232串行接口,S3C44B0X通过AT指令完成对模块的操作。外围电路设计主要包括电源电路、启动电路、工作指示电路、SIM卡电路以及RS232电平转换电路。SIM300的电路连接如图2所示。CLinux内核挂载根文件系统,建立应用程序运行环境。BootLoader设计BootLoader就是在操作系统内核运行之前的一段建立内存空间程
9、序。这段程序可以初始化硬件设备、为最终调用操作系统内核准备好正确环境。映射,BootLoader分为第一阶段和第二阶段两部分。第一阶段包含依赖于CPU体系结构和板级初始化的代码,用汇编语言实现;第二阶段与使用的操作系统有关,通常实现其余复杂的功能,用C语言实现。本系统中BootLoader选用的是Uboot,它具有源码开放、配置灵活、性能稳定、网络功能强大等优点。通过移植Uboot,完成硬件系统初始化、内核参数设置、内核启动等功能。移植工作主要是修改一些硬件memsetupc,makefile等。相关的文件,包括s3c44b0c,完成相关文件修改后,进行交叉编译,生成二进制文件Ubootbin
10、,再将其烧写到预留flash中即可。修改、配置和编译CLinux内核嵌入式操作系统的运行与系统的硬件平台密切相关,因此,CLinux内核源代码中和硬件紧密相关的部分就要针对特定硬件作出适当修改。由于S3C44B0X处理器已经被CLinux源码包所支持,因而移植Clinux到S3C44B0X平台上的过程就是一个修改内核源文件中的硬件参数的过程。主要包括以下几个方面:修改压缩内核运行地址和内核起始地址、修改硬件寄存器地址、修改存储空间配置、初始化节拍定时器、定义二级异常中断矢量表的起始地址以及以太网控制器基地址等。在编译Clinux内核之前,应当对内核进行裁配置。首先在终端执行makemenuco
11、nfig命令进剪、System入内核配置菜单,内核版本选择linux24x,Type选择S3C44B0ARM,库函数版本选择Clibc。内核配置和用户程序配置完成后,开始编译内核。在makelib_only,makeuser终端分别执行命令makedep,makeromfs,makeimage,make。当内核的编译_only,工作完成后,将内核映像imagerom下载至目标平台执行。22CLinux下串口应用程序设计在Linux中,设备分为3类:字符设备、块设备和图2SIM300电路设计图221监控终端软件设计嵌入式操作系统CLinux移植嵌入式Linux系统的软件体系结构,主要由Boot-
12、Loader、嵌入式操作系统、根文件系统及其应用程序构成。整个软件系统的分区结构如图3所示。系统硬件要在平台上运行CLinux操作系统,平台搭建完成后,需要3个基本条件:首先,引导程序完成硬件的初始化功能并将CLinux操作系统的内核加载到内存中;然后,引导程序将系统控制权交给操作系统内核;最后,网络设备。CLinux中使用设备文件表示多数I/O设备。本设计中所用的串口COM1对应Clinux系统的/dev/ttyS0设备文件。基本操作步骤是:打开串口,设置串口属性,然后进行数据收发,最后关闭串口。通常在操作I/O时,会用到下面几种模型之一:阻图3嵌入式Linux软件系统分区结构塞型I/O、非
13、阻塞型I/O和复用型I/O。本系统串口应2011年第10期仪表技术if(len=datalen)elsetcflush(fdcom,TCOFLUSH);return1;·21·用程序设计中,采用I/O复用模型。所谓I/O复用,是指当一个或多个I/O条件(可读、能写或出现异常)满进程能立刻知道,从而正确并高效地对它们进行足时,处理。Clinux操作系统提供select函数来支持I/O复select的函数定义于unistdh中,原型如用的实现,下:intselect(intn,fd_set*readfds,fd_set*write-fds,fd_set*exceptfds,st
14、ructtimeval*timeout);该函数的第1个参数n表示文件描述符集合中最大值再加1;第2个参数readfds表示可读的文件描述符集合,用于查看是否有可读取数据;第3个参数writefds表示可写的文件描述符集合,用于查看是否能写入数据;第4个参数exceptfds用于异常控制;最后一个参数timeout决定了select将会阻塞多久才把控制权移交给调用它的进程。如图4所示,使用select系统调用来查询是否有数据可读时,进程是在等待多个I/O描述接口的任何一个变为可读,但在此期间并不阻塞进程。当有数据包已准备好时,返回可读条件,并通知进程再次进行系统调用,准备读取相应的I/O数据,
15、此时内核就开始拷贝准备好的数据至用户空间。23intread_gprs_data(intfdcom,char*data,intdatalen,intbaudrate)intrecv_len,fs_sel;fd_setfs_read;structtimevaltv_timeout;FD_ZERO(fs_read);FD_SET(fdcom,fs_read);fs_sel=select(fdcom+1,fs_read,NULL,NULL,tv_timeout);if(FD_ISSET(fdcom,fs_read)recv_len=read(fdcom,data,datalen);if(recv_l
16、en0)memcpy(gprs_info,buf,recv_len);/信息保存到gprs_info数组中gprs_info_process(gprs_info);else/信息处理利用GPRS和SMS实现远程数据传输GPRS网络附着和激活上网的过程,均采用PPP协议,而SIM300模块内部已经内嵌入了TCP/IP协议栈,能够自动完成网络附着和网络激活过程。收发短Text模式和协议数据单信的模式主要有Block模式、元PDU三种模式。Block模式现在已经逐步被淘汰,目前很少使用;Text模式主要是以纯文本方式发送信息,有一定的使用局限性;PDU模式编码的短消息不仅可以发送英文短消息,也可以发
17、送中文短消息,因而图4I/O复用模型S3C44B0X通过串口UART1与GPRS本系统中,模块SIM300进行通信,通过串口发送AT命令到SIM300模块,实现基本的初始化工作及采集数据地发数据位、停止送。终端初始化主要包括串口的波特率、位、校验位及其SIM300的网络参数设置;与此同时,S3C44B0X还要实时读取SIM300模块的输入,以获取通信状态和控制信息。应用程序主要通过调用intsend_gprs_cmd(intfdcom,char*data,intdatalen)函数发送AT命令;通过调用intread_gprs_data(intfd-com,char*data,intdatal
18、en,intbaudrate)函数读取GPRS模块数据。函数主体功能代码如下:intsend_gprs_cmd(intfdcom,char*data,intdatalen)intlen=0;len=write(fdcom,data,datalen);被广泛采用。本设计中采用PDU模式作为短消息操作模式。GPRS网络和SMS短消息的程序框图如图5所示。图5GPRS网络程序框图GPRS网络连接和数据发送过程如下:(1)设置接入网关:AT+CGDCONT=1,“IP”,“CMNET”。其中CMNET表明GPRS接入网关是“移。动梦网”(2)测试GPRS服务是否开通:AT+CGACT=1,·
19、22·仪表技术2011年第10期1。如果返回OK,则GPRS连接成功;如果返回ER-ROR,则意味着GPRS失败。这时应当检查SIM卡的GPRS业务是否已经开通,GPRS模块天线是否安装正确等问题。(3)与监控服务器建立TCP连接:AT+CIP-START=“TCP”,“22110130108”,“8080”。若返回ConnectOK,则表明已连接上监控服务器,进入到数据模式。此时嵌入式终端发送到串口的数据,会通过SIM300直接传送到监控服务器上。(4)发送数据:AT+CIPSENDCR,发送后会返回命令提示符,进入发送数据模式。(5)关闭TCP连接:AT+CIPCLOSECRSI
20、M300模块向指定值班用户短消息程序设计中,手机发送的报警短消息是预先设定好的,模块初始化时应当完成报警短信内容、服务中心号码及其目标手MCU通过相应的机号码的设置。一旦出现紧急情况,AT指令完成短信的发送。主要指令包括:AT+CMGF=0选择短消息格式为PDU模式;AT+CSCA设置短消息服务中心地址;AT+CMGS发送短消息。为了能够监测实时短信的到达,还应当设置指令AT+CNMI=2,1。若某一时刻处理器收到这样的信息:“+CM-TI:"SM",3”,监控程序就知道有新信息到达,并且存储在SIM卡中第3个位置区,再通过指令AT+CMGR=3来读取,然后调用新消息解析函
21、数完成相关设备的控制动作。3远程上位机软件设计参考文献:1孙德辉,卫革基于ARM的GPRS远程数据传输系统的设J计算机应用,2010,29(7):2628计2苏义鑫,王子毅,张素文Clinux在嵌入式系统中的移植J微计算机信息,2006,22(11):5860研究3华清远见嵌入式Linux应用程序开发标准教程M北2009京:人民邮电出版社,4RuiYang,HongCai,MingZhangResearchandDesignofJShortMessageServiceSystemBasedonARMandGPRSComputationalIntelligenceandDesign,2009(2):2292305李寿林,张鹰,李秀萍利用GSM无线模块收发短消息J计算机与数字工程,2007,33(7):79846刘新民,M北京:清华大蔡琼VisualBasic60程序设计2004学出版社,图6监控软件流程图上位机中心服务器软件应当提供一个可视化的监控界面,以便直观、方便、快捷地了解远程数据采集终及时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人房产买卖合同协议书3篇
- 2025年度个人货车租赁与物流配送综合服务合同3篇
- 2025版商业建筑门窗安装与安全性能检测合同3篇
- 2025-2030全球异溴丙烷行业调研及趋势分析报告
- 2025年全球及中国2,3,4-三氯硝基苯行业头部企业市场占有率及排名调研报告
- 2025版个人房屋装修安全责任与施工监理协议
- 商铺租赁合同转让协议范文
- 现代医疗体系中的病患支持服务模式
- 跨领域合作项目的挑战与应对策略
- 二零二五年度离婚财产分割与子女生活技能培训合同2篇
- 央视网2025亚冬会营销方案
- 《00541语言学概论》自考复习题库(含答案)
- 《无砟轨道施工与组织》 课件 第十讲双块式无砟轨道施工工艺
- 2024新版《药品管理法》培训课件
- 《阻燃材料与技术》课件 第7讲 阻燃橡胶材料
- 爆炸物运输安全保障方案
- 电力安全工作规程(完整版)
- 借名买车的协议书范文范本
- 《2024 ESC血压升高和高血压管理指南》解读
- 江苏省南京市2025届高三学业水平调研考试数学试卷(解析版)
- 2024年黑龙江省哈尔滨市中考数学试卷(附答案)
评论
0/150
提交评论