基于ARM嵌入式的GPS定位设计【实用文档】doc.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于ARM嵌入式的GPS定位设计【实用文档】doc.doc》由会员分享,可在线阅读,更多相关《基于ARM嵌入式的GPS定位设计【实用文档】doc.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于ARM嵌入式的GPS定位设计【实用文档】doc文档可直接使用可编辑,欢迎下载学院电子信息工程专业“专业课程设计报告题目名称:基于AM嵌入式的GP定位设计班 级:同组 人:指导教师:1设计任务本次设计主要是实现在GPS的定位信息提取,其中包括经度、纬度、时间、日期等,采用意法半导体的CORTEX-M3内核的SM3213BT6为核心板,液晶采用采用oia550。总体来说实现了耗电少,功能齐全,简单易用的特点。2设计背景及方案S全球定位系统最早是由美国军方建立用以进行军事活动的侦查的,能够在全球范围内,提供实时、连续、全天候的导航定位及授时服务,共分为三个部分,空间部分,地面部分,和接收终端部分
2、.GPS系统共由24颗卫星组成,分布在6个轨道上面,每个轨道上有4颗,轨道倾角为5度,不论在什么地方,只要能够收到4颗以上的卫星,就可以实现实时定位.3系统硬件简述(1) 最小核心系统最小系统是由STM32F103RT6微处理器构成,核心是由32位的ARM-CORT-M3,最高时钟可以达到72MHZ,有单周期的乘法和除法运算,内部有28k的ash,2的SRA,2./6V的IO供电,上电、断电复位,可编程电压监测,内嵌8M的C振荡晶振,内部40K振荡器,内嵌L的C时钟,内嵌使用32K晶振的RTC振荡器。具有低功耗的睡眠、待机、停机模式,VBT为后备寄存器提供电源.具有串行SD和JTA调试模式。7
3、个D通道支持定时器、AD、SP、I、USART。一个12位的模数转换器,(1通道)转换范围为0。3。6,温度传感器。个丰富的IO端口,兼容5V电平,所有的IO口可以映射到16个外部中断。个定时器,(3个16位的定时器,每个定时器具有4个输入输出捕捉/WM脉冲调制/脉冲计数的通道,2个看门狗定时器,个2位的系统定时器,自动递减功能)。2个IC,2个PI,3个SAR通信接口.(2L液晶Noi50是Philp产的单芯片LD驱动控制低功耗的显示液晶,其显示为A 4*84 串行最高4Mbis/S,COMS电平兼容,逻辑电平为3.03V低功耗适用于电池供电,使用温度范围为-25度到7度。其中引脚如下:Pn
4、1;CC Pin2:GNDPi3: E Pin:RESPin5:GND in: SDINPin7:SCLK Pin:LED背光图6为水平写入的地址表,用以往RM中写入字符。()C3370PS终端接受模块C370是韩国产的全自动PS接受模块,具有SIR第三代的结构组成,其内核是有ARM7DI C,4的Flash内存,自带有微型天线,2通道,CA码,L1的频率。定位精度 0 3DRMS, ;冷启动约为6s,热启动少于1,协议时NMA0813 ,9600的波特率。NMA的输出格式有六种G、GLL、GSA、GSV、RMC、VGT,其中我们解析的一种是RC格式的。一条PRMC包含13个字段,语句标识符,
5、世间时间,定位状态,纬度,纬度方位,经度,经度方位,地面速度,地面航向,日期,磁偏角,校检,结束标记,具体格式如下:GPRMC,0504。00,,2459。899,N,1242.868,,037,130.03,008,,A66 UTC时间,hms(时分秒)格式 纬度半球N(北半球)或S(南半球)5经度ddm。mmmm(度分)格式(前面的0也将被传输)经度半球E(东经)或W(西经) 7 地面速率(00099.9节,前面的0也将被传输) 地面航向(00.059.9度,以真北为参考基准,前面的0也将被传输) UTC日期,dmmyy(日月年)格式 10 磁偏角(00。0180.度,前面的0也将被传输)
6、/0/=0; sscnf(word,”2d%2。%,&gpshh,psm,&ps.ss,&ps。ms); /取出指定格式的字符 rncpy(stme,word,20); / 拷贝20个字符从wrd到lsttm中,返回aste; /定位状态 wdst(left,EMIOO,lef); if(wr != NL) if(rd0 A) gps。svalid=1; ese gsivald; /纬度 wordpit(left,SCOLN,left); i(or != NUL) scanf(word,”2d2d.%4d”,d,m,m); ps.latitue(float)+(lat)m/6.0+(floa)
7、mm/0000。0; /南北半球标志 r=splt(let,EMICLON,&et); if(o ! NULL) if(od =) / gps。lau-gp.titude; ps.latNS =S; else gps。latNS= N; 经度 wor=split(lef,SEL,left); if(wor != N) int d,,mm; ssca(wrd,”3d.d,d,m,mm); gs.lgitude (loat)+(loat)m/60。(float)m60000。0; /东西半球标志 word=split(let,SEMICLON,lt); if(w != NULL) if(word0
8、 =) s.lgtEW = W; / ps。ngitud=logitude; lse gps.ltE= ; /对地运动速度 wor=split(lef,MICLON,&eft); if(wod != NULL) gp.sped=m_atf(wod)*1.852; /对地运动方向 wod=sli(left,SEMCLN,&e); i(rd != NULL) gps。dietion=y_aof(word); /u日期 wod=spit(lef,EMICOLON,&eft); f(ord ! NLL) sscnf(word,%2d2d%2,&gs。DD,&gpsMM,&gps。YY); 5调试过程由
9、于GP的数据回收过程是一直有效,所以在配置串口中断的过程中要注意数据的回收处理,然后才能解析。最先开始的时候必须到野外看看P模块的性能测试。调试的时候,一定要先把串口配置好,这样在调试的过程中可以边从MCU中从串口读取GS发回的数据,看看串口配置的是否正确.几次试验,最后测的经纬度范围在gole地球上显示的效果精度m,十分的满意。6总结 通过这次GPS接受的调试,认识的了P工作过程,理解了基本的原理,还需解决的问题包括GPS的阶段操作,MCU的分时工作,和电源的低功耗设计等等。1-1 什么是嵌入式系统?嵌入式系统和普通计算机系统的区别是什么?举例说明。答:问题一:嵌入式系统是以应用为中心,以计
10、算机为基础,其软硬件可裁剪配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。问题二:比较项目嵌入式系统普通计算机系统引导代码BootLoader引导,针对不同电路进行移植主板的BIOS引导OSWindowsCE、VxWorks、Linux等,需要移植Windows、Linux,不移植驱动程序每个设备都必须针对电路板进行开发OS中含有大多数,直接下载协议栈移植OS或者第三方供应商提供开发环境借助服务器进行交叉编译在本机可开发调试仿真器需要不需要1-2 简述嵌入式系统的构成答:硬件微处理器嵌入式系统的控制核心外围电路嵌入式系统的内存、I/O端口、复位电路、电源等外设USB、LC
11、D、键盘等软件设备驱动接口负责嵌入式系统与外设的信息交互实时操作系统包括与硬件相关的底层软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等可编程应用接口为编制应用程序提供各种编程接口库应用软件1-3答:R13:也记作SP,在ARM指令集中虽然没有强制,但是通常用于堆栈指针SP;在Thumb指令集中强制其作为堆栈指针。R14:也记作程序连接寄存器LR(Link Register),用于保存子程序调用或异常中断处理返回时程序的返回地址。R15:也记作程序计数器PC,用于标示下一条将要执行的指令地址。CPSR:程序状态寄存器,包含条件标识位、中断标识位、当前处理器模式等状态和控制位。S
12、PSR:备份的程序状态寄存器。在异常中断处理过程中,用于保存被中断处理程序的执行现场和处理器状态。1-4答:(1)复位异常中断:当系统上电、复位、软件复位时产生该类型中断。(2)未定义指令异常中断:当ARM处理器或系统中的协处理器认为当前指令未定义时,产生该中断。通常利用该中断模拟浮点向量运算。(3)软件中断:可用于用户模式下特权操作的调用,既可以是系统功能,也可以是用户自定义的功能。(4)指令预取中止异常中断:如果处理器预取的指令地址不存在,或者该地址不允许当前指令访问,产生该类型的中断。(5)数据访问中止异常中断:如果数据访问的目标地址不存在,或者该地址不允许当前指令访问,则产生该中断。(
13、6)外部中断:当处理器的外部中断请求引脚有效,而且CPSR的I控制位被清除时,产生该类型的中断(7)快速外部中断:当处理器的快速中断请求引脚有效,而且CPSR的F控制位被清除时,产生该中断。1-5答:(1)ADRR0, TABLE(2) ADRR1, DATALDRR0, R1(3)LDRR0, =DATA(4)TABLEEQU 800MOVR0, #TABLE(5)TABLESPACE201-6答:R0=DATA1这组数据在存储器中所存放的起始地址,由编译器分配;R1=0x0C0D0E0F; R2=0xF;R3=0x8 ;0x8 =R11-7答:AREASWITCH, CODE, READO
14、NLYENTRYANDR2, R0, 0x3;R2 R0的低两位MOVR2, R2, LSL #30;将低两位移动到高两位BICR0, R0, 0x3;将R0的低两位清0ANDR3, R1, 0xC0000000;R3R1的高两位MOVR3, R3, LSR #30;将高两位移动到低两位BICR1, R1, 0xC0000000;将R1的高两位清0ORRR0, R0,R3;R1的高两位写入到R0的低两位ORRR1, R1, R2;R0的低两位写入到R1的高两位END1-8答:/ main.cInclude “stdio.h”externintsum(int num, int n);main()
15、intarray10=20, 30, 23, 5,15,64,6,15,72,73 ;intHE=sum(array, 10);printf(“The sum of array is %d”, HE);/huibian.sAREAASM, CODE, READONLYEXPORT sumsumMOVR2, #0LOOPLDRR3, R0, #4ADDR2, R2, R3SUBR1, R1, 1CMPR1, 0BNELOOPMOVR0, R2MOVPC, LREND1-9答:(1)要求很强的实时性,支持快速而明确的上下文切换(2)具有高度的可裁剪性,支持动态链接,能够通过装卸某些模块来达到系统所
16、需要的功能(3)具有快速有效的中断和异常处理能力(4)具有优化的浮点支持(5)能够进行动态的内存管理2-1 略。2-2 略2-3略2-4按照要求完成以下操作。(1)创建文件夹test。 mkdir test(2)进入test目录。 cd test(3)在test目录下用Vi编辑一个新文件test.c,其内容如下:#include intmain() int a,i=0; a=0; while(i20)a=a+3;printf(the value of a=d n,a);sleep(1);i=i+1; return 0; vi test.c(4)保存退出test.c。(5)按照下面的要求编译te
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用文档 基于 ARM 嵌入式 GPS 定位 设计 实用 文档 doc
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内