嵌入式系统开发基础实验八西北农林科技大学《嵌入式系统开发基础》实验报告八学院:机械与电子工程学院班级:电信****姓名:马******学号:2011*****嵌入式系统开发基础实验八-1-实验八无线通信实验一、实验目的掌握GPS通讯原理学习NMEA0183ASCII接口协议格式学习Linux下对GPS通讯信息采发集的编程方法二、实验内容学习GPS通讯原理,阅读GPS模块的产品说明,了解模块的电气指标、串行接口连接方式、NMEA语句格式。通过软件来设置GPS模块的波特率、输出语句和初始化经纬度等内容。编程实现对GPS通讯信息的采集方法,将接收到的数据进行语义的分析,并在LCD上显示当前的地理位置信息。学习LinuxGPS数据的解析过程。GPS(GlobalPositioningSystem——全球定位系统)是美国从本世纪70年代开始研制,历时20年,耗资200亿美元,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。GPS的主要优点包括:(1)全球、全天候工作:能为用户提供连续,实时的三维位置,三维速度和精密时间。不受天气的影响。(2)定位精度高:单机定位精度优于10米,采用差分定位,精度可达厘米级和毫米级。(3)功能多,应用广:目前已广泛的应用于大地测量、工程测量、航空摄影测量、运载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、地球动力学等学科领域。GPS由三个独立的部分组成:空间部分:21颗工作卫星,3颗备用卫星。地面支撑系统:1个主控站,3个注入站,5个监测站。用户设备部分:接收GPS卫星发射信号,以获得必要的导航和定位信息,经数据处理,完成导航和定位工作。GPS接收机硬件一般由主机、天线和电源组成。GPS定位原理:GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。如图所示,假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间,再加上接收机所接收到的卫星星历等其它数据可以确定以下四个方程式:嵌入式系统开发基础实验八-2-上述四个方程式中待测点坐标x、y、z和0tV为未知参数,其中)4,3,2,1(itcdii。di(i=1,2,3,4)分别为卫星1,卫星2,卫星3,卫星4到接收机之间的距离。)4,3,2,1(iti分别为卫星1,卫星2,卫星3,卫星4的信号到达接收机所经历的时间。C为GPS信号的传播速度(即光速)。四个方程式中各个参数意义如下:x,y,z为待测点坐标的空间直角坐标。Xi,yi,zi(i=1,2,3,4)分别为卫星1,卫星2,卫星3,卫星4在t时刻的空间直角坐标,可由卫星导航电文求得。Vti(i=1,2,3,4)分别为卫星1,卫星2,卫星3,卫星4的卫星钟的的钟差,由卫星星历提供。Vt0为接收机的钟差。由以上四个方程即可解算出待测点的坐标x,y,z和接收机的钟差Vt0.目前GPS系统提供的定位精度是优于10米,而为得到更高的定位精度,通常采用差分GPS技术:将一台GPS接收机安置在基准站上进行观测。根据基准站已知精密坐标,计算出基准站到卫星的距离改正数,并由基准站实时将这一数据发送出去。用户接收机在进行GPS观测的同时,也接收到基准站发出的改正数,并对其定位结果进行改正,从而提高定位精度。三、实验步骤1.检查跳线确定试验平台扩展槽上方JP1102/JP1103跳线位于2、3之间,跳线位为EXPORT;确定GPS/GPRS模块的JP201/JP202跳线位于模块外侧GPS端。2.接入设备嵌入式系统开发基础实验八-3-关闭2410-S平台,将GPS天线连接到GPS/GPRS模块上,天线接收端置放在能良好接收室外信号的地方,比如说窗台,将模块插入2410-S扩展插槽。3.编译程序[root@localhost/]#cd/arm2410s/exp/basic/07_gps/[root@localhost07_gps]#makearmv41-unknown-linux-gcc-c-omian.omian.carmv41-unknown-linux-gcc-c-ogps.ogps.carmv41-unknown-linux-gcc-o../bin/gpsmain.ogps.o-lpthread4.运行程序启动minicom,执行以下指令。[/mnt/yaffs]mount-tnfs192.168.0.33:/arm2410s/host//挂载主机目录,IP地址可变。[/mnt/yaffs]cd/host/exp/basic/bin[/host/exp/basic/bin]./gps此时可直接在minicom中看到试验结果。5.通讯实验确定试验平台扩展槽上方JP1102/JP1103跳线位于2,3之间,跳线为EXPORT;确定GPS/GPRS模块的JP201/JP202跳线位于模块上,将任意可用GSM手机SIM卡插入模块背面SIMCARD插槽内,将模块插入2410-S扩展插槽6.编译程序[root@localhost/]#cd/arm2410s/exp/basic/08_gprs///进入实验所在目录[root@localhost08_gprs]#make//编译实验内容生成可执行文件armv41-unknown-linux-gcc-c-omain.omain.carmv41-unknown-linux-gcc-c-otty.otty.carmv41-unknown-linux-gcc-c-ogprs.ogprs.carmv41-unknown-linux-gcc-c-okeyshell.okeyshell.carmv41-unknown-linux-gcc-o../bin/gprsmain.otty.ogprs.okeyshell.o../keyboard/keyboard.o../keyboard/getkey.o-lpthread5.观看实验结果gprscontrolshell[1]giveacall//拨号[2]respondacall//接电话[3]holdacall//挂断[4]sendamsg//发送短信(已定)[**]helpmenuKeyshell四、实验总结本次试验主要学习了GPS通讯原理,通过阅读GPS模块的产品说明,了解了模块的电气指标、串行接口连接方式、NMEA语句格式。通过软件来设置GPS模块的波特率、输出语句和初始化经纬度等内容。能够对GPS通讯信息的采集方法进行编程实现,将接收到的数据进行语义的分析,并在LCD上显示当前的地理位置信息。此外,我还学习了LinuxGPS数据的解析过程。本次试验让我感受到了GPS的强大功能,觉得自己学到的只是皮毛,以后会更加努力学习。