论文部分内容阅读
摘要:GPS是英文Global Positioning System(全球定位系统)的简称。由于GPS技术具有全天候,高精度和自动测量功能,作为先进的测量工具和新的生产力,已被纳入国家经济建设,国防建设和社会发展的各个领域。本次设计以单片机STC89C52为核心,采用GPS模块(SiRF Star III),LCD1602液晶显示屏等芯片,利用GPS模块与单片机串口通讯原理,实现了GPS信息的提取、显示。本设计精确度高,体积小,可连续导航,可用于自驾车出游,出租车定位等领域。
1.引言
GPS是全球定位系统(Global Positioning System)的简称,它是一种基于卫星形式的定位系统,其目的是获取目标位置的地理坐标信息、时间信息以实现最终的位置锁定。如今它广泛用于现代测量以及建筑建设,也更多的用于民间,且范围越来越广,作用越来越大。
GPS技术已遍布各行各业的方方面面,现在市面上已经有各式各样由GPS接收模块所研发的定位产品,如车载导航仪、带GPS功能的手机平板等。本次设计针对广大普通用户,切合他们实际需求,运用单片机的基本原理和GPS的理论知识,选择合适的GPS接收模块,设计并制作一个既实用又价廉的定位系统。
2.SiRF Star Ⅲ GPS信号接收模块
SiRF Star Ⅲ是完全独立的GPS接收器,这一芯片通过采用20万次/频率的相关器提高了灵敏度,可以同时追踪20个卫星信道。它使用了全新的SiRFstar TM III GPS架构GSC3F(高性能GPS单芯片),GPS集成实时时钟(RTC),ARM7-TDMI CPU,4Mbit的FLASH存储器,低噪声放大器和SAW滤波器,TCXO,复位和调节器等,且具有内置备用电池,GPS接收机贴片天线,可选择的内部/外部射频连接器。尺寸参数如下:
贴片天线尺寸:35(宽)mm×35(厚)mm×3(高)mm;
尺寸:39.0(宽)毫米×35.5(厚)mm×8.0(高)mm;
重量:21.5克。
GPS接收模块中RX为信号输入端,TX为信号输出端,接口电路如图1
3.系统方案
本设计主要完成了GPS信号的接收与处理、数据的传输与显示。在硬件上有SiRF Star Ⅲ GPS接收处理模块和LCD1602液晶显示模块,并且还需要中央处理器来将各个部分连接起来。因为单片机的结构简单明了,价格比较低,功能强大且操作简单,其中又以51单片机最合适,所以选着STC89C52作为核心单片机。系统的结构框图如图2
4.系统的硬件设计
考虑到成本及操作难度等,8位单片机更简单,成本也更低,所以采用低电压,高性能CMOS 8 位单片机STC89C52作为主控制器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[4]。它有4个8位I/O口、一个双工串口、两个16位的计/定数器、五个中断源;拥有的全双工异步通信接口,可以与外部接口直接进行读取数据、数据处理以及数据输出。
LCD1602叫做1602字符型液晶屏,它被用来显示数字、字母、符号。它是一种点阵型液晶显示模块。它由若干个5x11或者5x7点阵字符组成,字符间有间隔,一个字符位只能显示一个字符,故他并不能用来显示图形。在本设计中,由于LCD1602显示内容有限,单次只能显示两行内容,且本系统需要得到日期、时间、经纬度、海拔、速度共计3组数据,故需要LCD1602用三次来显示,而这三次显示的切换就需要用按键来实现。每当按下键盘依次切换下一组信息显示,共计三组重复切换。系统的硬件电路如图3.
5.软件设计
1)NMEA-0183数据格式
此协议是为了在不同的GPS导航设备中建立统一的RTCM标准。得益于这种格式的广泛使用,GPS接收模块的通用化程度越来越高。
NMEA-0183数据格式采用ASCII字符编码形式输出,其中包括有经度纬度、速度、日期、时间、速度、海拔、方向以及卫星状况等信息。其中串行通信时的默认参数为:数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验,波特率=9600bps。
帧格式形如:$aaccc,ddd,ddd,…,ddd*hh
1. “$”:帧命令起始位;
2. aaccc:地址域,后三位为语句名,前两位为识别符;
3. ddd…ddd:数据;
4. “*”:校验和前缀;
5. hh:校验和(check sum),*与$之间所有字符的ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。)
6.:CR(Carriage Return)+ LF(Line Feed)帧结束,回车和换行。
2)系统软件主要由初始化模块和数据接收处理模块流程图
初始化模块是在完成上电后对单片机、LCD以及GPS模块的一个初始化操作。对单片机进行波特率设置,串口工作模式设置以及中断模式的设置,完成单片机与GPS模块的串口通信。另外初始化也包括对LCD显示屏的开机画面和显示模式设置。
数据接收模块主要职能是对GPS模块所接收到的数据进行处理。通过单片机串口接收到GPS模块传过来的信息后,判断是否为起始位”$”,再接收后续数据内容,然后根据每位数据所代表的信息进行识别并进行ASCII码处理,以便进行显示。判断若整个数据接收正确则接受,否则放弃接收。在本次设计中主要提取这些内容:日期、时间、经度纬度、海拔高程、速度。需要注意的是GPS所提供的是国际标准的UTC时间,与北京时间相差8小时,所以在时间处理上应在UTC时间上加上8小时进行修正。系统工作时,GPS模塊不断接收到新的GPS信息,单片机也不断刷新串口数据接收,最后通过单片机送至显示器进行显示。
数据接收处理程序流程图如下面图4所示。
5.系统调试与测试结果
1)系统调试 接线完成后用万用表对每个接点进行检查,看接线是否有短路或断路,同时还要对每个器件的引脚进行检测,看是否有短路的情况,若发现及时更改。完成硬件调试。
在将程序编写完成后,先使用Keil uVision5检测程序是否有语法编译的错误,将这些语法错误改正过来。调试过程中,从每一个小的单元到一个模块的程序逐步检查。单独检测LCD12864液晶显示屏的显示以及初始化程序,看显示屏上有无数据显示。在LCD12864正常情况下,检测GPS VK2828U7G5LF模块,在确定检测到信号时,把它连接到单片机,看显示屏上是否有数据。每个模块都确定无误且满足预定功能后,就可以将程序连起来,生成“.hex”文件备用。
2)测试结果
将接受装置放于楼顶开放的环境以接收信号,启动GPS接收系统,经过测试,液晶显示的结果如下图,显示信息纬度为:29度33分87秒,经度103度43分55秒,海拔为351.3米,由于测试时处于静止状态,故当时速度为0。
6.结束语
本系统是自行设计开发的一种便捷GPS定位系统。测试结果显示数据稳定,定位精度较好。本系统能够满足日常使用,且具有小巧轻便、性价比高等特点。
1.引言
GPS是全球定位系统(Global Positioning System)的简称,它是一种基于卫星形式的定位系统,其目的是获取目标位置的地理坐标信息、时间信息以实现最终的位置锁定。如今它广泛用于现代测量以及建筑建设,也更多的用于民间,且范围越来越广,作用越来越大。
GPS技术已遍布各行各业的方方面面,现在市面上已经有各式各样由GPS接收模块所研发的定位产品,如车载导航仪、带GPS功能的手机平板等。本次设计针对广大普通用户,切合他们实际需求,运用单片机的基本原理和GPS的理论知识,选择合适的GPS接收模块,设计并制作一个既实用又价廉的定位系统。
2.SiRF Star Ⅲ GPS信号接收模块
SiRF Star Ⅲ是完全独立的GPS接收器,这一芯片通过采用20万次/频率的相关器提高了灵敏度,可以同时追踪20个卫星信道。它使用了全新的SiRFstar TM III GPS架构GSC3F(高性能GPS单芯片),GPS集成实时时钟(RTC),ARM7-TDMI CPU,4Mbit的FLASH存储器,低噪声放大器和SAW滤波器,TCXO,复位和调节器等,且具有内置备用电池,GPS接收机贴片天线,可选择的内部/外部射频连接器。尺寸参数如下:
贴片天线尺寸:35(宽)mm×35(厚)mm×3(高)mm;
尺寸:39.0(宽)毫米×35.5(厚)mm×8.0(高)mm;
重量:21.5克。
GPS接收模块中RX为信号输入端,TX为信号输出端,接口电路如图1
3.系统方案
本设计主要完成了GPS信号的接收与处理、数据的传输与显示。在硬件上有SiRF Star Ⅲ GPS接收处理模块和LCD1602液晶显示模块,并且还需要中央处理器来将各个部分连接起来。因为单片机的结构简单明了,价格比较低,功能强大且操作简单,其中又以51单片机最合适,所以选着STC89C52作为核心单片机。系统的结构框图如图2
4.系统的硬件设计
考虑到成本及操作难度等,8位单片机更简单,成本也更低,所以采用低电压,高性能CMOS 8 位单片机STC89C52作为主控制器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[4]。它有4个8位I/O口、一个双工串口、两个16位的计/定数器、五个中断源;拥有的全双工异步通信接口,可以与外部接口直接进行读取数据、数据处理以及数据输出。
LCD1602叫做1602字符型液晶屏,它被用来显示数字、字母、符号。它是一种点阵型液晶显示模块。它由若干个5x11或者5x7点阵字符组成,字符间有间隔,一个字符位只能显示一个字符,故他并不能用来显示图形。在本设计中,由于LCD1602显示内容有限,单次只能显示两行内容,且本系统需要得到日期、时间、经纬度、海拔、速度共计3组数据,故需要LCD1602用三次来显示,而这三次显示的切换就需要用按键来实现。每当按下键盘依次切换下一组信息显示,共计三组重复切换。系统的硬件电路如图3.
5.软件设计
1)NMEA-0183数据格式
此协议是为了在不同的GPS导航设备中建立统一的RTCM标准。得益于这种格式的广泛使用,GPS接收模块的通用化程度越来越高。
NMEA-0183数据格式采用ASCII字符编码形式输出,其中包括有经度纬度、速度、日期、时间、速度、海拔、方向以及卫星状况等信息。其中串行通信时的默认参数为:数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验,波特率=9600bps。
帧格式形如:$aaccc,ddd,ddd,…,ddd*hh
1. “$”:帧命令起始位;
2. aaccc:地址域,后三位为语句名,前两位为识别符;
3. ddd…ddd:数据;
4. “*”:校验和前缀;
5. hh:校验和(check sum),*与$之间所有字符的ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。)
6.
2)系统软件主要由初始化模块和数据接收处理模块流程图
初始化模块是在完成上电后对单片机、LCD以及GPS模块的一个初始化操作。对单片机进行波特率设置,串口工作模式设置以及中断模式的设置,完成单片机与GPS模块的串口通信。另外初始化也包括对LCD显示屏的开机画面和显示模式设置。
数据接收模块主要职能是对GPS模块所接收到的数据进行处理。通过单片机串口接收到GPS模块传过来的信息后,判断是否为起始位”$”,再接收后续数据内容,然后根据每位数据所代表的信息进行识别并进行ASCII码处理,以便进行显示。判断若整个数据接收正确则接受,否则放弃接收。在本次设计中主要提取这些内容:日期、时间、经度纬度、海拔高程、速度。需要注意的是GPS所提供的是国际标准的UTC时间,与北京时间相差8小时,所以在时间处理上应在UTC时间上加上8小时进行修正。系统工作时,GPS模塊不断接收到新的GPS信息,单片机也不断刷新串口数据接收,最后通过单片机送至显示器进行显示。
数据接收处理程序流程图如下面图4所示。
5.系统调试与测试结果
1)系统调试 接线完成后用万用表对每个接点进行检查,看接线是否有短路或断路,同时还要对每个器件的引脚进行检测,看是否有短路的情况,若发现及时更改。完成硬件调试。
在将程序编写完成后,先使用Keil uVision5检测程序是否有语法编译的错误,将这些语法错误改正过来。调试过程中,从每一个小的单元到一个模块的程序逐步检查。单独检测LCD12864液晶显示屏的显示以及初始化程序,看显示屏上有无数据显示。在LCD12864正常情况下,检测GPS VK2828U7G5LF模块,在确定检测到信号时,把它连接到单片机,看显示屏上是否有数据。每个模块都确定无误且满足预定功能后,就可以将程序连起来,生成“.hex”文件备用。
2)测试结果
将接受装置放于楼顶开放的环境以接收信号,启动GPS接收系统,经过测试,液晶显示的结果如下图,显示信息纬度为:29度33分87秒,经度103度43分55秒,海拔为351.3米,由于测试时处于静止状态,故当时速度为0。
6.结束语
本系统是自行设计开发的一种便捷GPS定位系统。测试结果显示数据稳定,定位精度较好。本系统能够满足日常使用,且具有小巧轻便、性价比高等特点。