GPS定位系统设计_第1页
GPS定位系统设计_第2页
GPS定位系统设计_第3页
GPS定位系统设计_第4页
GPS定位系统设计_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4XfQINGDAOUNIVERSITY本科毕业论文(设计)题目:GPS定位系统设计学院:自动化工程学院专业:电子信息科学与技术班级:2007级1班姓名:#指导教师:#$#2011 年 6 月 2 日GPS 定位系统设计TheDesignofGPSPositioningSyste摘要本系统设计的是基于GPS定位系统的公交车自动报站系统。硬件上是由单片机(SPCE061A)、液晶显示模块、GPS接受器、SPR模组等组成。能够实现卫星定位,公交车语音报站等功能。该系统通过实时对GPS真块输出数据采集,并根据得到的经纬度信息判断公交车当前是否到达预设的各个站点。本系统的优越性主要体现在通过GPS寸公

2、交车进行实时定位,无需人工干预,便可准确无误的进行自动报站,以实现朽能化和高可靠性。关键词GPS单片机定位报站AbstractThissystemprovidesthefunctionoftheGPSbuslocationandstopreportingItsbasedontheSPCE061AMCU,LCDmodule,GPSreceiver,SPRmoduleandothercomponents.Itcanachievesatellitepositioning,busstopsreportingandotherfunctions.Thesystemisbasedonreal-timeGPS

3、dataacquisitionmodulegettingtheinformationoflatitudeandlongitudeanddeterminethecurrentbusstop.Advantagesofthissystemismainlythatthroughreal-timeGPSpositioningonthebus,withouthumanintervention,itcanbeaccurateforautomaticstationinordertoachieveenergyandhighreliabilityofthedecadent.KeywordsGPSMCUpositi

4、oningstopreporting目录前言 1第 1 章总体方案 21.1系统供电电源选择2.1.2控制器选择2.1.3定位装置GPS的选择3.1.4显示器件选择4.第 2 章硬件设计 5总体设计5.各模块设计6.(1)电源设计6.(1)微控制器7.(1)GPS接收器1.2(1)SPR模组14(1)C系列中文液晶模块15第 3 章软件设计 161GPS定位的实现1.61.2GPS绝对定位161.2GPS定位相关概念161.2GPS接收器1.71.2NMEA0183标准语句171液晶显示部分设计231.3C系列中文模块显示资料RAM231.3显示程序实现241SPR_Demo的软件设计251语

5、音报站设计27第 4 章测试方法 28测试方法28510-|-MDHcnckfX2A图2.3LM2596PCB布线图1IM/LEDU2ASU17+5VN5OUTci6+cr用lOWlOOUF-AGXDWDDAVDD4微控制器.SPCE061A是由凌阳科技推出的一个16位结构的微控制器。 考虑到用户在存储器资源方面较少的资源需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存FLASHROM。较高的处理速度使得以nSP选够非常容易地、快速地处理复杂的数字信号,适用在数字语音识别应用领域。SPCE061A在工作电压范围内(2.6V3.6V)的工作速度0.32MHz49.152MHz,

6、较高的工作速度使其应用领域更加拓宽。2K字SRAM和32K字闪存ROM仅仅占了一页存储空间,32位可编程的多功能I/O端口;两个16位定时器/计数器;低电压复位/监测功能;32768Hz实时时钟;双通道10位DAC方式的音频输出功能;8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方式,oSPCE061A是数字声音和语音识别产品的一种最经济的应用。.结构概览SPCE061A的结构如图2.5所示:AUD2出仃输入输;H接U32管脚通工输出端口IOA15-D图2.5SPCE061A的结构ICESCKICESDA16位微FLASH控制牌LINSP”一ICERAM一一MICIN实忖

7、时伊双通芯位DACAUDIIOB15-0ICEEM-CPUfw7通道104,ADG单通道ADC+AGC双16位定时满/计数器时班中断控制.SPCE061A共有84个引脚,封装形式为PLCC84,它的排列如图2.6所示,.SPCE061A的性能参数如下:?16位nSP能处理器;?工作电压:VDD为2.63.6V(cpu);VDDH为VDD5.5V(I/O);?CPU时钟:0.32MHz49.152MHz;?32768Hz实时时钟;?内置32K闪存ROM;?内置2K字SRAM;?晶体振荡器;?可编程音频处理;?系统处于备用状态下(时钟处于停止状态),耗电小于2A,3.6V;?2个10位DAC(数-

8、模转换)输出通道;?2个16位可编程定时器/计数器(可自动预置初始计数值);?32位通用可编程输入/输出端口;?14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;?使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;?具备触键唤醒的功能;O9Q卜 sum金XTE&TVDDXICE:UCERKXIHIMVS5PAINDAOVFCLF二ME啻AG_3二一-s-5-DVO一二二一-NCX,NCNC业邛?i&Bit1001?I0B13OB14IOBUVSSXROMTL0A15TOA14LOAIJKM12EDAllE0A10IOA图2.6SPCE061A引

9、脚排列图?锁相环PLL振荡器提供系统时钟信号;?7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器?具备串行设备接口;?声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;.SPCE061A最小系统最小系统接线如图2.7所示,在OSC0、OSC1端接上晶振及谐振电容,只要在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。其它不用的电源端和地端需要接上0.1仙F的去藕电容提高抗干扰能力。.指令系统指令是CPU执行某种操作的命令。微处理器(MPU)或微控制器(MCU)所能够识别全部指令的集合被称为指令系统或指令集。 指令系统是制造厂家在当初设计CPU时

10、就赋予它的功能, 要求用户必VflEF 工mi02323-X-1-s1-s - -y y匚昼:一aaaa*W*WN N第一器+=一W一7G_7G_工生三*言一M 二NCNCN:NCFVJ?loanICE12KBI-IQSl:ESLZE?限mONT1OA15JO待命模式(Standbymode)。获取了经纬度数据,得到位置信息后,可在12864c型液晶中文显示模块显示,单片机通过串口方式向它发送控制指令,液晶显示模块上电时需通过软件初始化并配置相关参数。第3章软件设计GPS定位的实现GPS 绝对定位绝对定位也称单点定位, 指的是在协议地球坐标系中, 直接确定观测站相对于坐标原点 (地球质心)绝对

11、坐标的一种方法。“绝对”一词主要是为了区别相对定位,绝对定位和相对定位在观测方式、数据处理、定位精度以及应用范围等方面均有原则区别。绝对定位的基本原理:以GPS卫星和用户接收机天线之间的距离(或距离差)观测量为基础,根据已知的卫星瞬时坐标,来确定接收机天线所对应的点位,即观测站的位置。GPS绝对定位方法的实质是测量学中的空间距离后方交会。原则上观测站位于以3颗卫星为球心,相应距离为半径的球与观测站所在平面交线的交点上。由于GPS采用单程测距原理, 实际观测的站星距离均含有卫星钟和接收机钟同步差的影响 (伪距) ,卫星钟差可根据导航电文中给出的有关钟差参数加以修正,而接收机的钟差一般难以预料。通

12、常将其作为一个未知参数,在数据处理中与观测站坐标一并求解。一个观测站实时求解4个未知数,至少需要4个同步伪距观测值,即4颗卫星。绝对定位可根据天线所处的状态分为动态绝对定位和静态绝对定位。无论动态还是静态,所依据的观测量都是所测的站星伪距。根据观测量的性质,伪距有测码伪距和测相伪距,绝对定位相应分为测码伪距绝对定位和测相伪距绝对定位。GPS 定位相关概念在本系统中定位是指MCU从GPS模块发送过来的数据中提取出经纬度信息,并根据两个坐标之间的换算从而得到位置信息,然后在液晶屏上显示具体位置。根据国标,各级GPS相邻点间平均距离应符合规定的要求,而且相邻点最小距离可为平均距离的1/31/2倍;最

13、大距离可为平均距离的23倍。观测时段:测站上开始接收卫星信号到观测停止,连续工作的时问段简称时段。同步观测:两台或两台以上接收机同时对同一组卫星进行的观测。同步观测环:三台或三台以上接收机同步观测获得的基线向量所构成的闭合环,简称同步环。独立基线:对干N台GPS接收机构成的同步观测环,有J条同步观测基线,其中独立基线数为N1。独立基线之间没有相关性。独立观测环:由独立观测所获得的基线向量构成的闭合环,简称独立环。异步观测环:在构成多边形环路的所有基线向量中,只要有非同步观测基线向量,则该多边形环路叫异步观侧环,简称异步环。非独立基线:除独立基线外的其他叫非独立基线,总基线数与独立基线之差为非独

14、立基线数。GPS 接收器实现公交自动报站就必须先要获得公交车的定位信息,使用GPS接收装置单片机发送定位信息,单片机接收GPS送来的经纬度信息,与预先存储的各站点坐标库相比较,当进入某一站的坐标范围,单片机控制产生一个触发信号,此时语音自动报出所到站点。本文使用的GPS以NMEA-0183格式输出,数据代码为ASCII码字符。该格式比较直观和易于处理,通过程序进行判别、分离,可提取经度以及纬度信息。GPS发送的经纬度信息是将数字以ASCII码形式表示,ASCII码数字与实际相应数字具有一一对应的关系,这方便了我们通过简单的转换关系得到以数字形式表示的经纬度信息,从而利于在接下来的比较中只需进行

15、简单的数值大小比较。SiRFstarm型GPS模块可输出5句语句,分别是GPGSV,GPGGA,GPGSA,GPRMC,GPVTGo语句以标准的格式进行传输。不同的语句中传送不同的信息。每条语句以$开头,同一条语句中的不同信息则通过逗号(ASCII码形式)分开,一条语句往往包括时间、经纬度等数据,软件根据需要采集相应数据即可。NMEA0183 标准语句GlobalPositioningSystemFixData(GGA)GPS定位信息$GPGGA,M,M,*hh1UTC时间,hhmmss(时分秒)格式2纬度ddmm.mmmm(度分)格式(前面的0也将被传输)3纬度半球N(北半球)或S(南半球)

16、4经度dddmm.mmmm(度分)格式(前面的0也将被传输)5经度半球E(东经)或W(西经)6GPS状态:0=未定位,1=非差分定位,2二差分定位,6=正在估算7正在使用解算位置的卫星数量(0012)(前面的0也将被传输)8HDOP水平精度因子(0.599.9)9海拔高度(-9999.99999910地球椭球面相对大地水准面的高度11差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)12差分站ID号00001023(前面的0也将被传输,如果不是差分定位将为空)GPSDOPandActiveSatelHtes(GSA)当前卫星信息$GPGSA,*hh1模式,M=手动,A=自动

17、定位类型,1二没有定位,2=2D定位,3=3D定位3PRN码(伪随机噪声码),正在用于解算位置的卫星号(0132,前面的0也将被传输)。4PDOP位置精度因子(0.5995HDOP水平精度因子(0.5996VDOP垂直精度因子(0.599.9)GPSSatellitesinView(GSV)可见卫星信息$GPGSV,*hhGSV语句的总数本句GSV的编号可见卫星的总数(0012,前面的0也将被传输)PRN码(伪随机噪声码)(0132,前面的0也将被传输)卫星仰角(0090度,前面的0也将被传输)卫星方位角(000359度,前面的0也将被传输)信噪比(0099dB,没有跟踪到卫星时为空,前面的0

18、也将被传输)注:,信息将按照每颗卫星进行循环显示,每条GSV语句最多可以显示4颗卫星的信息。其他卫星信息将在下一序列的NMEA0183语句中输出。RecommendedMinimumSpecificGPS/TRANSITData(RMC)推荐定位信息$GPRMC,*hh1UTC时间,hhmmss(时分秒)格式2定位状态,A=有效定位,V-无效定位3纬度ddmm.mmmm(度分)格式(前面的0也将被传输4纬度半球N(北半球)或S(南半球)5经度dddmm.mmmm(度分)格式(前面的0也将被传输)经度半球E(东经)或W(西经)地面速率(000.0999.9节,前面的0也将被传输)地面航向(000

19、.0359.9度,以真北为参考基准,前面的0也将被传输)9UTC日期,ddmmyy(日月年)格式10磁偏角(000.0180.0度,前面的0也将被传输)11磁偏角方向,E(东)或W(西)模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)TrackMadeGoodandGroundSpeed(VTG$GPVTG,T,M,N,K,*hh1以真北为参考基准的地面航向(000359度,前面的0也将被传输)2以磁北为参考基准的地面航向(000359度,前面的0也将被传输)3地面速率(000.0999.9节,前面的0也将被传输)4地面速率(0000.01851.

20、8公里/小时,前面的0也将被传输)5模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)GeographicPosition(GLL)定位地理信息$GPGLL,*hh1纬度ddmm.mmmm(度分)格式(前面的0也将被传输)2纬度半球N(北半球)或S(南半球)3经度dddmm.mmmm(度分)格式(前面的0也将被传输)4经度半球E(东经)或W(西经)5UTC时间,hhmmss(时分秒)格式6定位状态,A=有效定位,V-无效定位7模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)如实时接收GPRMC语句为:$G

21、PRMC,052635,A,3604.2405,N,12025.0738,E,0.00,0.00,150410,*62这是一条GPS定位数据信息语句,意思为UTC时间为05时26分35秒,当前状态为定位状态,位置在北纬36度04.24005分,东经120度25.0738分,当前处于定位静止状态,故速度和航向为0,校验和为62H。图3.1表示了程序如何控制从语句中提取出经纬度数据。图3.1经纬度接收提取在软件设计中,GPRMC即可作为语句识别的ID,语句中各有效信息之间通过逗号隔开,在语句中位置确定,软件通过对接收的逗号计数以提取所需量。当程序识别出GPRMC语句后,允许接收标志置位,同时将逗号

22、计数变量清零。此后每次接收到逗号该变量加GPRMC语句第3个逗号后面代表纬度数据,第5个逗号后面代表经度数据,所以当逗号计数到3时,允许接收纬度数据;逗号计数到5,则可接收经度数据。当接收到语句结束字符“*”时,则停止接收数据,相应计数器也清零,准备下次接收。软件设计如下:/*$GPRMC,*hh1UTC时间,hhmmss(时分秒)格式2定位状态,A=有效定位,丫=无效定位3纬度ddmm.mmmm(度分)格式(前面的0也将被传输4纬度半球N(北半球)或S(南半球)5经度dddmm.mmmm(度分)格式(前面的0也将被传输)6经度半球E(东经)或W(西经)7地面速率(000.0999.9节,前面

23、的0也将被传输)地面航向(000.0359.9度,以真北为参考基准,前面的0也将被传输)9UTC日期,ddmmyy(日月年)格式10磁偏角(000.0180.0度,前面的0也将被传输)磁偏角方向,E(东)或W(西)模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)*/#includespce061a.h#includelcd.h#defineucharunsignedchar#defineuintunsignedintucharStrGpsWD105;ucharStrGpsJD115;uinti,k,b;uintRecflag;uintIgpsWD;

24、uintIgpsJD;uintNumcoma;/voidDisableALLOUT();/voidEnableGPRMC();voiddelay();voiddislpay1();voidmain()_asm(INTOFF);1。存放纬度数据;/存放经度数据;记录标志;纬度数据计数变量;经度数据计数变量;逗号计数变量;禁用所有输出语句;/使t$GPRMC输出语句;*P_IOB_Attrib=0 x0480;*P_IOB_Dir=0 x0400;*P_IOB_Data=0 x0000;intial_IO_lcd();init_lcd();*P_UART_Command1=0 x0020;*P_U

25、ART_BaudScalarLow=0 x0000;*P_UART_BaudScalarHigh=0 x0005;*P_UART_Command2=0 x0080;delay(100);*P_UART_Command1=0 x0080;_asm(INTIRQ);while(1)display1(0 x80,纬度:);display1(0 x88,经度:);if(IgpsWD=10)if(IgpsJD=11)display2(0 x90,StrGpsWD1,StrGpsWD2);纬度strcat(s1,s2);连接字符串s1,s2display2(0 x91,StrGpsWD3,StrGpsWD

26、4);display2(0 x92,StrGpsWD5,StrGpsWD6);display2(0 x93,StrGpsWD7,StrGpsWD8);display2(0 x94,StrGpsWD9,);delay(100);display2(0 x98,StrGpsJD1,StrGpsJD2);经度display2(0 x99,StrGpsJD3,StrGpsJD4);display2(0 x9a,StrGpsJD5,StrGpsJD6);display2(0 x9b,StrGpsJD7,StrGpsJD8);display2(0 x9c,StrGpsJD9,StrGpsJD10);dela

27、y(100);*P_Watchdog_Clear=0 x0001;串口接收中断voidIRQ7(void)_attribute_(ISR);voidIRQ7(void)unsignedintii;ii=*P_UART_Command2;初始化IOB7、IOB10端口内部复位设置波特率使能接收通道/使能接收中断显示接收到的数据ii&=0 x0080;if(ii=0 x0080)if(*P_UART_Data=0 x52)/R区分才旨令GPRMCRecflag=1;i=0;IgpsWD=0;IgpsJD=0;Numcoma=0;if(Recflag=1)if(*P_UART_Data=0 x2c)

28、/检查逗号,Numcoma+;if(Numcoma=3)*StrGpsWDIgpsWD=*P_UART_Data;IgpsWD+;if(Numcoma=5)*StrGpsJDIgpsJD=*P_UART_Data;IgpsJD+;if(*P_UART_Data=0 x2a)/检查*StrGpsWDIgpsWD=0;*StrGpsJDIgpsJD尸0;Recflag=0;IgpsWD=0;IgpsJD=0;Numcoma=0;*P_UART_Command2=0 x0000;delay(500);*P_UART_Command2=0 x0080;)延时子程序voiddelay(uinta)whi

29、le(a-)*P_Watchdog_Clear=0 x0001;分离提取得到的是分离的ASCII码型的字符串,无法直接用于车辆位置的判断。根据数字的ASCII码值对应表将它转化数字并整合成整型或者浮点型式数值,此时可方便地与站点坐标库进行简单的数值比较运算。经纬度坐标的变化1秒约等于30米的距离,故设定以某站站牌为圆心,半径60米(即经纬度约2秒)内区域为该站坐标范围,当车驶入该圆形区域则产生到站信号;当车驶离该区域则产生出站信号,单片机发出声音信号,通过外接扬声器实现语音报站。坐标比较程序:pp=trs_data(StrGpsWD1);qq=trs_data(StrGpsJD1);/转化为浮

30、点型while(TotalStop-)坐标比较*P_Watchdog_Clear=0 x0001;if(fabs(pp-strWD皿)=2)if(fabs(qq-strJD皿)=2)flag_in=1;break;3.2液晶显示部分设计C 系列中文模块显示资料 RAM显示数据RAM提供64x2个字节的空间,最多可以控制4行16字(64个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM,HCGROM与CGRAM的字型;本系列模块可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在DDRAM中写入的编码选择, 在0000H000

31、6H的编码中将选择CGRAM的自定字型,02H7FH的编码中将选择半宽英数字的字型,至于A1以上的编码将自动的结合下一个字节,组成两个字节的编码达成中文字型的编码BIG5(A140D75F)GB(A1A0F7FF),详细各种字型编码如下:1,显示半宽字型:将8位资料写入DDRAM中,范围为02H7FH的编码。.显示CGRAM字型:将16位资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。.显示中文字形: 将16位资料写入DDRAM中, 范围为A140HD75FH的编码(BIG5) ,A1A0HF7FFH的编码(GB)。将16位资料写入DDRAM方式为透过连续写

32、入两个字节的资料来完成,先写入高字节(D15D8)再写入低字节(D7D0)。3.2.2 显示程序实现字符串组的形式存储(数组str24存放站名表),并从台东到苗岭路依次编码为00H23H,将其对应站名在屏幕上显小。12864c液晶中文显示模块每屏最多可实现32个中文字符。 字符显示RAM在液晶模块中的地址为80H9FH。字符显示的RAM的地址与32个字符显示区域有着对应的关系,其对应关系如表3.1所小。表3.112864c液晶中文显示模块字符显示地址80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH9

33、8H99H9AH9BH9CH9DH9EH9FHvoidinit_lcd(void)(/*初始化程序*/P_IOA_Buffer|=lcd_rst;/*P_IOA_Buffer&=(lcd_psb);/*复位*/选择串口*/lcd_delay(6);wr_lcd(comm,0 x30);/*30-wr_lcd(comm,0 x01);/*lcd_delay(100);wr_lcd(comm,0 x06);/*wr_lcd(comm,0 x0c);/*基本指令动作*/清屏,地址指针指向00H*/光标的移动方向*/开显示,关游标*/)voidwr_lcd(unsignedintdat_comm,un

34、signedintcontent);/*voiddisplay1(unsignedintaddr,unsignedchar*ch)向液晶发送字节子程序*/;/*在地址addr显示字符子程序*/本文选取了青岛市125路公交车从台东到苗岭路共24站作为默认线路。各站站名表以3.3SPR_Demo的软件设计为了简单起见,主函数中使用按键方式选择播放A2000、S480录音,函数流程如图3.2所示:图3.2主函数流程图在这里扫描键盘的操作在128Hz的时基中断中进行,在语音播放时按键无效。A2000语音播放函数设计:由于语音资源存储在外扩存储器SPR4096上,语音播放采用手动播放方式。手动语音播放,

35、关键在于语音资源数据的获取, 需要得到语音资源的地址。 下面分析一下刚刚烧录文件的数据格式, 如图3.3:在上图的前4个字节为“SPR仇的ASCII码,主要作用是标识该芯片是通过ResWriter工具烧录的(详细参考ResWriter工具使用说明书一一索引表),接下来的4个字节为整合后资源的起始地址0000006E(由于SPR4096的最大地址为0 x7ffff,所以使用4个字节标识,即两个字的长度),然后是整合后资源的结束地址。整合的概念,就是将多个资源文件通过特定的数据格式编成一个索引表,加在资源文件的前面,然后是资源文件1,资源文件2,ResWriter工具在用户打开二进制文件时自动完成

36、上述过程,称为整合。ResWriter工具是对整合后的文件进行烧录。接下来2个字节(0008)的数据表示整合的文件有8个资源。以上是整合后文件的一些信息,再接下来分别是每个资源的长度信息、起始地址和结束地址。在本例编程中主要关心语音资源文件起始地址和结束地址。由图3.14可见第一个资源的起始地址存放在0 x0012、0 x0013、0 x0014、0 x0015的4个单元中,在程序中可以依次求得每个资源的地址。S480语音播放的实现:由于S480格式的文件有带文件头的也有不带文件头的,这样需要在手动取语音资源时进行判断地址的起始地址。在示例中是这样实现的,首先读入前六个字节与文件头(00FF0

37、0FF5355)对比,如果全部匹配,那么说明这是一个带文件头的资源文件,则取得该资源文件的起始地址的时候加上48(文件头长48个字节),即作为真实资源的起始地址;如果没有全部匹配,按照不带文件头的处理。DVR录音与播放:录音原理参考凌阳录音的实现,放音采用的是A2000格式。3.4语音报站设计车辆驶入某站范围更新票价表的同时需要通过语音报出当前站提醒乘客下车,如“青岛大学站到了,下车请走好”。车辆出站驶离该区域则语音提示下一站站名,提醒乘客做好下车准备。语音资源经过整合后存储在外扩存储器SPR4096L1,当需要发音时,单片机根据所到站点读取SP对应声音文件依次发声。语音播放的关键在于语音资源

38、数据的获取,即需要得到语音资源的地址。资源的起始地址以及结束地址分别以4个字节标识。使用如下指令获得语音资源的来时和结束地址。ulCon_AddrHighest=SP_SIOReadAByte(BASE_START_ADDRESS+SndIndex*12);ulCon_AddrHighest=ulCon_AddrHighest24;ulCon_AddrHigh=SP_SIOReadAByte(BASE_START_ADDRESS+SndIndex*12+1);ulCon_AddrHigh=ulCon_AddrHigh16;ulCon_AddrLow=SP_SIOReadAByte(BASE_S

39、TART_ADDRESS+SndIndex*12+2);ulCon_AddrLow=ulCon_AddrLow8;ulCon_AddrLowest=SP_SIOReadAByte(BASE_START_ADDRESS+SndIndex*12+3);ulCon_StartAddr=ulCon_AddrHighest|ulCon_AddrHigh|ulCon_AddrLow|ulCon_AddrLowest;其中BASE_START_ADDRESS定义为0 x0012,每个地址采用4个字节存储, 在分别取得地址后通过“或”操作得到地址。参数SndIndex是由调用函数传递过来的,意义在于使用第几段

40、语音资源。比如使用第一段语音资源,那么传过来0就可以了。BASE_START_ADDRESS是整合后文件的信息长度,在取得整合前文件的信息的时候要跳过这一段数据,即BASE_START_ADDRESS+SndIndex*12为第SndIndex段资源起始地址的最高字节。第4章测试方法测试方法实现公交车自动报站的关键在于行驶车辆的定位,所以GPS模块的数据接收处理显得尤为重要。GPS模块的天线需要置于空旷室外才能达到最佳效果,置于室内或者带有铁栏的窗口,会受到卫星分布的限制,以及金属屏蔽的影响,造成定位不灵敏,不准确等现象。实际安装时,尽量避开上述集中位置,在本设计公交车自动报站系统时,需将天线固定于车顶以良好接收卫星数据。首先测得125路车各站坐标,表4.1为125路车下行线苗岭路一一山东头站的经纬度坐标(以站牌所在位置为准)。表4.1苗岭路一山东头站经纬度坐标北纬东经苗岭路360554.551202717.88香港东路360540.171202729.35”海尔路360532.03”1202729.94”山东头360523.62”1202707.28”*注:经纬度坐标按照度度。分分分分.分分格式给出;得到各站点经纬度坐标值后,根据软件设置的以站牌为圆心,半径60米左右的圆为该站范围,当车辆行驶过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论