基于GPRS的嵌入式远程数据采集系统设计概要文档格式.docx
《基于GPRS的嵌入式远程数据采集系统设计概要文档格式.docx》由会员分享,可在线阅读,更多相关《基于GPRS的嵌入式远程数据采集系统设计概要文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
![基于GPRS的嵌入式远程数据采集系统设计概要文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/2/e18313aa-592e-456b-8002-c32e437c8fbf/e18313aa-592e-456b-8002-c32e437c8fbf1.gif)
点的MT&
MO、短消息区域广播、回复呼叫信息、电话簿、
基于GPRS的嵌入式远程数据采集系统设计
付扬,赵丽丽
(北京工商大学信息工程学院,北京100037
摘要:
介绍了基于GPRS的通信方式,采用嵌入式ARM9微处理器S3C2410X作为主控制器,通过短信息方式实现对远程端数据的采集和监测的远程数据采集系统。
在系统的远程端和用户端,分别使用μC/OS-II和Linux为操作系统。
用户端通过GPRS网络发出检测信息,远程端将检测到的数据送回到指定用户端,以此作为管理和监控人员统计和处理的数据。
系统具有技术先进、简单经济、准确实用的特点,在实际应用中具有一定的参考价值。
关键词:
数据采集;
嵌入式系统;
通用分组无线业务(GPRS;
操作系统
中图分类号:
TP399
文献标识码:
A
DesignofembeddedremotedataacquisitionsystembasedonGPRS
FUYang,ZHAOLiLi
(CollegeofInformationEngineering,BeijingTechnologyandBusinessUniversity,Beijing100037,China
Abstract:
ThispaperintroducestheremotedataacquisitionsystembasedonGPRScommunications,usingembeddedARM9microprocessorS3C2410Xasthemaincontroller,throughatextmessageachievelong-distanceresultofdata-collectionandmoni-toring.Thesystem′slong-rangeterminalandclientusetheμC/OS-IIandLINUXastheoperatingsystem.Theclientsend,mes-sage,throughaGPRSnetwork,thenremoteterminalwilldetectthedataandsendbacktotheclient.Thesedatawillofferarefer-encetostaffofmanagementandmonitoring.Thesystemistechnologicallyadvanced,simpleandeconomic,accurateandpractical.Inpracticalapplicationsithasacertainvalue.
Keywords:
dataacquisition;
embeddedsystems;
generalpacketradioservice;
operatingsystem电量
A/D转换模块
S3C2410X电机
扩展口
Q2403AGPRS模块
宿主机(PC
S3C2410X
用户端
远程端GPRS网络
图1基于GPRS远程电量数据采集系统总体结构图
127
记费等。
本设计中,把远程采集到的电量分为正常值和异常值两种。
用户在用户端的宿主机上按下编辑短信功能键,开始编辑短信,系统会自动将编辑好的短信息传送到用户端的GPRS模块,远程端通过现有的GPRS网络将信息传输到远程端的GPRS模块,模块接收到用户的查询信息之后,将信息内容交给远程端的S3C2410X进行判断,判断用户选择的功能。
当程序确认用户要查询电量值时,程序调用A/D转换模块函数,启动A/D转换模块,去读取电量值,并将电量值转换成数字信号,送给远程端的S3C2410X,这样系统已经按照用户的需求检测了电量值。
然后,系统将进入信息发送的阶段,远程端的S3C2410X将准备好的二进制电压值及相关信息送入远程端的GPRS模块,再以短信的形式传回给用户端。
用户通过在用户端的宿主机上键入接收短信功能键后,在屏幕上看到接收到的短信内容。
如果此时的电量值在系统规定的安全电量值内,查询过程到此结束;
如果此时电量值超出系统规定电量值,则系统会自动启动电机。
电机启动意味着可以带动其他装置,做出相应的控制调整。
2系统软件设计
2.1远程端的程序设计
远程端使用的是μC/OS-II操作系统。
μC/OS-II是面向中小型的嵌入式操作系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。
应用程序运行之
前,要给设备加载驱动程序,这样应用程序才能在系统中正常运行。
远程端的程序流程图如图2所示。
程序开始运行后首先进行各个模块的初始化,包括嵌入式系统开发板的初始化、GPRS模块的初始化、电机模块的初始化和ADC的初始化;
其后,程序会设置好短信息的类型,并进入等待接收短信息状态。
当有短信接收到后,程序将取出信息中的内容,进行判断信息所选择的功能。
远程端的程序功能有3种:
“G”代表查询A/D转换值,“S”代表停止电机,其他信息程序会自动返回操作错误提示信息。
如果信息的内容是“G”,则程序会启动A/D转换,将寄存器ADCCON的ENABLE_START位置“1”,之后循环查询寄存器ADCCON的ECFLG位等待转换的完成。
一旦此位被置“1”,说明转换已经结束,程序会判断转换值是否大于3(此值根据系统需要任意设定,如果大于等于3,则起动电机,回复带有电压值的短信息;
如果小于3,直接回复短信息。
短信回复后,程序会继续回到等待短信的状态,循环往复。
远程端的ADC模块包括3个函数:
初始化ADC函数(voidinit_ADdevice(、获取A/D转换值函数(intGetADresult(intchannel和A/D转换工作函数(externchar*SetAdc(void。
初始化ADC函数在系统主函数中调用。
A/D转换工作函数是一个返回字符型指针值的函数,该函数首先定义了一些变量、数组和指针,然后调用获取A/D转换值函数获得转换后的电量值。
此时的电量值为二进制代码,而要想在短信中传输,数据必须是字符串形式,所以接下来程序将原来的二进制电压值转换成ASCII形式,并增加了一些辅助信息组成字符串,最终函数将字符串的首地址传回。
远程端短信发送模块只包括1个短信发送函数,首先函数通过AT+CMGF=1指令设置短信格式,然后用AT+CMGS指令来发送短信。
函数的两个形参指针分别指向收信人电话号码和短信内容。
远程端电机模块包括电机模块初始化函数(voidinit_MotorPort(和电机工作函数(voidSetPWM(intval-ue,与ADC的初始化函数相同,电机模块初始化函数在系统主函数中被调用。
电机工作函数唯一的任务就是启动电机,其中形参(intvalue控制电机转动的速度,如果它为0,即实现了电机的停止功能。
2.2用户端程序设计
用户端主要由用户在PC机的Linux操作系统下控制,它的主要功能就是短信的收发和阅读。
本系统用户端程序设计流程图如图3所示。
程序开始后,首先初始化串口,使PC机和嵌入式系统联系起来,以便用户可以在PC机上操作;
然后打印提示信息,此时用户可以根据屏幕上的信息进行操作。
用
开始
初始化
接收到短信?
提取短信内容
回复“err”A/D转换开始停止电机
检测A/D转换
标识位
A/D转换结束?
电压值叟3?
启动电机
GPRS模块发送端消息
其他
‘G’‘S’
Y
N
图2远程端程序流程图
128
《电子技术应用》2009年第1期欢迎网上投稿
户可选的功能有3种:
“1”代表发送短信息,“2”代表阅读接收到的短信息,“3”代表退出整个工作环境。
当用户在键盘上键入“1”后,系统会进入发短信的模式,用户只需根据屏幕上的信息输入电话号码和短信内容就可成功发送短信到远程端;
当用户键入“2”后,系统会进入读短信的模式,此时屏幕上会显示出所收短信的内容;
当用户键入“3”后,屏幕上显示结束语,系统退出工作环境,并关闭串口;
如果用户再键入“1”或“2”,则当程序运行完发送短信子程序或读短信子程序后,系统会自动回到功能选择提示信息,等待用户选择。
用户端短信发送模块程序在Linux操作系统下运行。
它与远程端的短信发送函数的不同之处在于此信息的电话号码和内容均需要用户键入,所以多了一个采集键值的过程。
用户端阅读短信模块用于用户阅读接收到的短信息。
AT+CMGL指令用于列出SIM卡中的短信息。
其中信息有五种情况:
未读(RECUNREAD、已读(REC
READ、待发(STOUNSENT、已发(STOSENT和全部
(ALL。
本程序中使用了全部(ALL,当用户选择此功能时,屏幕上会列出所有接收到的短信息。
系统调试时,将2张不同的SIM卡装入远程端和用户端的GPRS模块;
安装远程端的驱动程序,烧写μC/
OS-II操作系统,配置用户端PC机上的LinuxRedHat9.0;
给用户端的嵌入式系统开发板烧制bootloader、arm-Linux内核,并建立文件系统。
将远程端的应用程序,编
译后发送到远程端的嵌入式开发板上,运行程序。
在用户端,把设计好的应用程序复制到/nfs文件,使用交叉
编译的方法编译用户端的应用程序。
至此,系统的软硬件已经配置好,随时可以使用。
经过调试与检测,系统各项功能均已满足设计要求,可以正常使用了。
该系统具有如下特点:
(1自主性强:
用户可根据自己的需求随时查询;
(2实时性强:
本系统没有过多造成延时的因素,几秒内就能将采集好的电量数据传送回用户端,使用户能够了解到实时的电量值;
(3费用低:
因
GPRS采用的是“按数据流量计费”的原则;
(4速率快:
目前的GPRS技术是基于GSM公用无线网的2.5代无线传输手段。
理论上最高速率可达170kb/s。
目前国内只开通了4个通道中的1个。
因此,当前可用的实际速率为34Kb/s左右。
尽管如此,这一速率也比当前有线电话网上的电量采集系统的通讯速率高出许多;
(5结构小巧:
本系统充分利用了嵌入式系统功耗低、体积小的优点,用户端经过改造甚至可以成为一种供野外监控人员使用的手持设备。
参考文献
[1]桑楠.嵌入式系统原理及应用开发技术(第2版[M].
北京:
高等教育出版社,2008.
[2]李可,刘跃,周新志.基于ARM和GPRS网络的水情信息
系统设计[J].电子技术应用,2007,33(12:
130-133.
[3]葛纫秋,韩宇龙.嵌入式系统设计[M].北京:
高等教育出
版社,2008.
[4]施威铭研究室.Linux命令详解词典[M].北京:
机械工业
出版社,2008.
[5]ARM.ARM920Ttechnicalreferencemanual[DB/OL].
2008.
[6]UmsungElecttonics.S3C2410X32-bitRISCmicroprocessor
user’smanual[DB/OL].www.hhcn.org,2008.
(收稿日期:
2008-07-14
图3用户端程序流程图
开始初始化串口
获取键值
退出工作
发送短信
阅读短信
‘3’‘1’‘2’
打印提示信息
打印结束
关闭串口结束
2008年12月18日,北京凌力尔特公司(LinearTechnologyCorporation推出高达60V输入瞬态保护的1A、36V输入
降压型开关稳压器LT3682。
其突发模式(BurstMode誖工作在无负载待机状态时保持静态电流低于75μA。
LT3682具有
3.6V~36V输入电压范围和60V的瞬态电压承受能力,因而使其非常适合于汽车应用中常见的负载突降和冷车发动情
况。
其1.5A内部开关可以在电压低至0.8V时提供高达1A的连续输出电流。
LT3682的突发模式工作提供了超低的静态电流,这非常适用于诸如汽车或电信系统等场合,而这些应用需要始终保持接通运作和要求最佳电池寿命。
从250kHz~
2.2MHz的开关频率是用户可编程的,从而使设计师能够优化效率,同时避开关键噪声敏感频段。
其3mm×
4mmDFN-14
封装结合高开关频率可保持使用小的外部电感器和电容器,从而提供了占板面积非常紧凑和高热效率的解决方案。
(北京凌力尔特公司供稿
具60V瞬态保护的36V输入、1A(IOUT、2.2MHz降压型DC/DC转换器提供仅为75μA的静态电流
129