基于GPRS远程无线数据采集系统设计 - 图文(8)
河北农业大学毕业论文
工具结合到了一个单独的可执行程序(busybox)中。虽然和GNU比较起来,busybox提供的功能和参数略少,但在比较小的系统或者是嵌入式系统之中已经足够了。Busybox在设计上就考虑到了硬件资源受限的特殊环境。它采用一种很巧妙的办法减少了自己的体积:所有的命令都是通过插件的方式集中到一个可执行文件当中,在实际应用过程中,通过不同的符号链接来确定到底要执行哪个操作。采用单一的执行文件的方式,最大限度地共享了程序代码,对资源比较紧张的系统来说,是再合适不过了。在busybox的编译过程中,可以很方便地加减它的“插件”,最后的符号链接也可以由编译系统自动生成。下面使用busybox构建cramfs文件系统的过程。
首先从busybox网站下载busybox源码,进行解压,接下来就是实际需要进行busybox的配置。
在终端所使用的命令行有: #tar jxvf busybox- 1.00.tar.bz2; #make defconfig; #make menuconfig;
此时,需要设置平台相关的交叉编译选项,操作步骤为:先选中”Bulld OPtion”项的“Do you want to build Busybox with a Cross Complier?”选项,然后将“Cross Complier prefix”设置为“ /usr/local/arm/3.3.2/bin/arm-linux-”。
下一步编译并安装busybox。在终端执行命令make,make install PREFIX= /home/david/fs2440/cramfs。其中PREFIX用于指定安装目录,如果不设置该选项,则默认在当前目录下创建-install目录。创建安装目录的内容如下所示: [root@localhost cramfs]#ls bin linuxrc sbin usr
下面通过创建系统所需要的目录和文件来完善文件系统的内容: [root@localhost cramfs]#mkdir mnt root var tmp proc boot etc lib [root@localhost cramfs]#mkdir/var/{lock,log,run}
接下来要创建一些重要的文件。首先要创建/etc/inittab和/etc/fstab文件。前者是linux系统启动之后第一个被访问的脚本文件,而后者是定义了文件系统的各个挂接点的文件。以上用busybox创建了文件系统的内容,下面要创建cramfs文件系统镜像文件。
制作cramfs映像文件需要用到的工具是mkcramfs,下面是使用mkcramfs制
36
河北农业大学毕业论文
作cramfs映像文件,所使用的命令为“mkcramfs”就可把以构建的文件系统制作成只读的、压缩的cramfs文件系统了。这样在ARM的Linux系统启动后,内核就会把它加载到内存中,进行解压,其上面的应用程序就可以在ARM板上运行了。最后就是将制作的cramfs文件映像下载到ARM板子上。至此就完成了嵌入式Linux操作系统的文件系统的制作。
5.2 GPRS应用程序的设计
5.2.1 GPRS无线通信的流程
通过GPRS模块进行数据传输其实就是利用移动通信网络与Intemet网络进行互联,因而传输的数据需要符合Intenet网络的TCP/IP协议的标准。
实现GPRS数据传输的过程为:首先利用ARM处理器控制GPRS模块实现与Intemct网络的连接,通过PPP协议获得IP地址;然后将经过TCP/IP以及PPP协议封装的数据通过RS232串口发送给GPRS模块。
GPRS无线通信的大致流程如下:
(1)物理过程。在对GPRS Modem模块进行参数设置后,ARM利用AT指令通过 GPRS Modem拨号。正确反馈及应答后,一条物理通道即GPRS信道就在系统中的GPRS Modem和GPRS网络之间建立起来。
(2)数据过程。PPP协议将原始的GPRS物理层连接改造成无差错的数据链路,系统将远程登录Intenet,并得到GPRS网关分配的lP地址。
(3)网络过程。利用IP协议作为网络层协议,经过IP路由选择可实现系统与连在Intenet的终端进行数据交换。
(4)传输过程。选择TCP作为传输层协议,为数据传输提供面向连接的可靠服务。
在通讯过程中,ARM与GPRS Modem的数据通信格式有两种:AT指令和PPP帧。AT指令格式表示从串口发送的所有数据都发送给了GPRS模块,PPP帧格式表示从串口发送的所有数据都透明的发送给了GGSN。
GPRS通信的软件流程图如下图5.11所示:
37
河北农业大学毕业论文
5.2.2 串口程序的设计
由于 GPRS模块采用的是串口与嵌入式处理器来连接,因此LINUX下的串
口设置和驱动就显得非常重要。下面较为详细的介绍串口的设置以及相应的操作。
S3C2440的UART(通用异步串口)单元提供3个独立的异步串口I/O端口,每一个都可以在中断和DMA两种模式下进行,支持最高波特率 115200b/s。每一个UART通道包含2个16位FIFO分别提供给接收和发送。
最基本的设置串口包括波特率设置、校验位和停止位的设置,主要是设置struct termios结构体的各成员值。
与其他字符设备一样,串口设备文件(如/dev/tts/0)可以接收典型的文件操作系统调用,包括open、read、write、close等。
可以通过下面的代码打开或者关闭串口设备: Int fd;
//以读写方式打开串口 Fd=open(“/dev/ttys0”,o_rdWR); If(-l= =rd)
38
河北农业大学毕业论文
{
Perror(“error!”); } 。。。。。。
Close(fd);
Read write方法可以用来控制串口接受或发送数据。
通过串口终端设置串口通信的波特率、工作模式等状态,这里需要调用头文件termios.h:
#include
最基本的串口设置包括波特率的设置、校验位和停止位的设置,主要是设置struct termios结构体的各个成员值。
Struet termio {
Unsigned short c_iflag; //输入模式标志
Unsigned short c_oflag; //输出模式标志 Unsigned short c_cflag; //控制模式标志 Unsigned short c_lflag; //本地模式标志
Unsigned short c_line; //线路规则 Unsigned short c_cc[NCC]; //控制符 }
在这里主要考虑一些常用的设置,如下所示: 波特率的设置
Struct termios OPt; Tegetchattr(fd,&Opt); Cfsetospeed(&OPt,B115200);
Cfsetospeed(&OPt,B115200);//设置为 115200b/s Tcsetattr(fd,TCSANOW{&Opt):
(2)校验位和停止位的设置(8位无效验,1位停止位模式,8N1)
OPt.c_cflag&=~PAREND OPt.c_cflag&=~CSTOPB OPt.c_cflag&=~CSIZE:
39
河北农业大学毕业论文
OPt.c_cflag I =~CS8;
Tcsetattr(fd,TCSANOW,&OPt); (3)设置原始工作模式
OPt.c_lflag&=~(1CANON ECHO ECHOE ISIG); //输入 OPt.c_lflag&=~OPOST; //输出 TCsetattr(fd,TCSANOW,&OPt);
系统调用函数Tcsetattr可以获得串口的属性,调用Tcsetattr时,通过使用TCSANOW参数可以让设置的属性立即生效。 5.2.3 GPRS拨号的实现
PPP(Point-to- PoiniProtocol,点对点协议)是在直接连接的串口链路上创建和
运行 Ip(Internet Protoeol,网络协议)或者其他协议的一种机制。在Linux下,通过PPP可以将主机与一个PPP服务器连接并进入该服务器所连接的网络资源,就像直接连上了那个网络一样,因为PPP是端对端系统,也可以使用两台Linux服务器通过PPP将两个网络连接在一起,例如一个局域网和一个广域网。本文主要是通过串口与GPRS模块连接,实现无线拨号上网的过程。
在Linux下对PPP的支持需要内核和应用程序配合管理,在配置Linux内核时,需要选择对PPP的支持。 …… 此处隐藏:2159字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




