上海第二工业大学本科毕业设计(论文) 3系统硬件电路的设计
图3-6 GPS模块原理图 表 3-1 GPS 模块资源描述表
编号 1 名称 NEO-6M模块 EEPROM芯片 说明 NEO-6M 模块是GPS定位模块的控制核心,具有快速搜索卫星的能[] 力,定位精度相对高,适用于高性能、低功耗的卫星监测系统。2GPS模块使用的是AT24C32型号的 EEPROM芯片,用来记录 GPS模块的相关参数,每次重启EEPROM 芯片后,GPS模块组会从中重新加载[] 配置信息。32 3 XH414XH414法拉电容与锂电池类似,在主电源掉电时能够为 GPS模块的 法拉电 RTC部分供电,目的是为了系统重启时能够快速搜索到信号,其供电时[] 容 长达可达1小时。4有源天线IPX接口 有源天线的IPX 接口可用来扩展有源天线,使用有源天线可把接收器引[] 到室外,以提高信号的接收能力。54 5 时间脉GPS模块通电后时间脉冲指示灯一直亮着,当GPS模块接收到数据以[] 冲指示 后,指示灯会以1Hz的默认频率不断地闪烁着。6灯 陶瓷天线 使用源陶瓷天线时只有一个陶瓷片接收卫星信号,由于模块内部自带低噪声放大器,所以不需要外部连接有源天线,也可达到良好的信号接收[] 效果。76 3.4.2 NMEA-0183协议数据格式
NMEA-0183协议是NMEA(美国国家海洋电子协会)为海用电子设备而制定的标准格式,NMEA-0183协议在过去海用电子设备的标准格式0180和0182的基础上完善了GPS接收机输出的内容。目前已经形成了GPS 导航设备
10
上海第二工业大学本科毕业设计(论文) 3系统硬件电路的设计
统一的 RTCM 标准协议,此外还扩展了北斗导航系统的版本,目前除了极少数早期的GPS接收机外,几乎市场上所有的GPS接收机都采用了NMEA-0183协议数据格式。为了在不同的GPS导航设备中建立统一的RTCM标准,GPS接收机的通用化与互换性的提高使得NMEA-0183协议数据格式得到更为广泛的应用。
NMEA-0183拥有多种不同的格式,格式输出的语句选用的是独立相关的ASCⅡ字符码,它包含了经纬度、速度、日期、时间、航向、以及卫星个数等数据信息。NMEA-0183 协议定义的语句格式多达10余种,由于在此次设计中主要应用了$GPRMC定位数据语句格式,其中交谈识别符设定为“GP”,语句识别符设定为“RMC”,校验和“hh”代表了“$”与“*”之间所有的字符的按位异或值(不包括这两个字符),$GPRMC定位数据语句结构为:
$GPRMC,<1>,<2>,<2>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh
<1>协调世界时间(UTC),hhmmss(时分秒)格式 <2> 定位状态,A=有效定位,V=无效定位 <3>纬度 ddmm.mmmm(度分)格式 <4> 纬度半球 N(北半球)或 S(南半球) <5>经度 dddmm.mmmm(度分)格式 <6> 经度半球 E(东经)或 W(西经) <7> 地面速率(000.0~999.9 节) <8> 地面航向(000.0~359.9 度) <9> UTC日期,ddmmyy(日月年)格式 <10>磁偏角(000.0~180.0 度) <11>磁偏角方向,E(东)或 W(西)
<12>模式指示(A=自主定位,D=差分,E=估算,N=数据无效) <13> 校验和。[8]
3.5 串口电路
定位系统采用的GPS模块的核心是NEO-6芯片,它控制着整个定位系统的
11
上海第二工业大学本科毕业设计(论文) 3系统硬件电路的设计
实时数据的处理,GPS接收模块可以将卫星接收的数据按照一定的协议格式输出,GPS模块的接收与发射信号一般有电源输入信号、时钟脉冲输出信号、RXD、TXD等。GPS模块和WIFI模块之间的信息是通过串口进行传输的,WIFI模块的核心芯片为ESP8266,开发板的串口2和串口3分别和GPS模块与WIFI模块的串口相连,通过微处理器对串口的控制,将GPS模块接收到的信息传输给WIFI模块,WIFI模块再将信息发送终端PC机上,GPS、WIFI模块与STM32的连接方式如图3-7所示。
GPSPPS RXD GPIO TXD RXD 模块 TXD GND GND STM32F103ZE VCC
VCC WIFI模块 URX TXD UTX RX图3-7 GPS、WIFI模块与STM32的串口连接
12
上海第二工业大学本科毕业设计(论文) 4系统软件的设计与实现
4系统软件的设计与实现
系统的软件设计主要包括定位信息系统的各个模块的程序设计以及 PC 机上Web页面显的示设计,定位信息系统的程序主要是进行 GPS 数据的接收与控制,Web网页主要是用来实现对定位数据的管理。
4.1软件的整体设计流程
在系统的终端设计中是采用C语言编写,开发环境为keil5,设计的关键是STM32通过串口通信接收到WF-NEO-6M GPS模块的数据,并将接收到的实时信号显示到LCD显示屏上,再通过WIFI模块发送处理后的数据,PC机连接WIFI产生的热点SSPU-EE,在网页处输入IP 地址192.168.123.166打开网页,在网页上看到网页内容信息,整体的设计及数据流向如图4-1所示。以下是定位系统的主程序。
GPS 数据接收 显示 USB STM32 显示控制 WIFI数据传输 Web网页
图 4-1 软件设计
/**
* @brief GPS 液晶显示测试程序 * @param 无 * @retval 无 */ int main(void) {
nmeaINFO info; //GPS解码后得到的信息
13
上海第二工业大学本科毕业设计(论文) 4系统软件的设计与实现
nmeaPARSER parser; //解码时使用的数据结构 uint8_t new_parse=0; //是否有新的解码数据标志 char strPage[1024]; u32 slen=0;
LED_GPIO_Config(); USART1_Config(); SysTick_Init();
/*CRC和emWin没有关系,只是他们为了库的保护而做的,这样STemWin
的库只能用在ST的芯片上面,别的芯片是无法使用的。 */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);
GUI_Init(); GPS_Config();
WiFi_Init(); //初始化WiFi模块使用的接口和外设 nmeaDecodeInit(); //GPS解码初始化 /* 初始化GPS数据结构 */ nmea_zero_INFO(&info); nmea_parser_init(&parser);
sprintf(strPage,HTTP_Page,latitude,longitude,Altitude,speed); //发送内容为latitude,longitude值 slen=strlen(strPage);
4.2
显示屏程序设计
定位信息系统的显示部分在设计时,选用的是ILI9341型芯片控制液晶屏的显示,将目标信息在LCD上显示,从而实现定位信息获取的关键,本系统设计的关键是STM32单片机串口、LCD模块初始化、GPS模块初始化后,GPS获取有效的数据,而STM32单片机通过串口通信接收有效的GPS数据,这里选用的是串口 2,GPS接收机接收并保存数据后将定位信息传送给STM32单片机并在LCD上显示。考虑到调试及移植,对显示屏程序的设计使用模块化设计进行展开,其中LCD显示设计涉及到的主要模块有串口初始化模块、液晶模块初始化模块、GPS接收模块,具体的主程序流程如图4-2所示。
14