DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 633|回复: 0
打印 上一主题 下一主题

[GPS] 基于FPGA的GPS定位信息显示系统

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于FPGA 的GPS 定位信息显示系统
曹新苗, 林建辉, 张兵
(西南交通大学牵引动力国家重点实验室,四川成都610031)
摘要:为实现GPS 定位信息采集与显示,提出一种基于可编程逻辑器件的GPS 定位信息显示系统的方案。该方案
以Altera 公司Cyclone III 系列的EP3C10E144C8N 芯片作为核心处理器,根据GPS15L 接收机和液晶显示模块的工
作原理,设计了该OEM 板和LCD 与FPGA 硬件连接电路,同时采用Verilog HDL 硬件描述语言编写GPS 定位信息
采集、处理与显示程序,详细阐述了各功能模块的设计思路和实现方法。实际运行结果表明:该系统能实现GPS 定位
数据的正确显示,具有较好的可靠性和实用性。
关键词:FPGA 器件;GPS 定位;OEM 板;液晶显示;Verilog HDL 语言
中图分类号:P228.4;TP274+.2;TP311.561;TP368.4 文献标志码:A 文章编号:1674-5124(2012)05-0070-05
GPS positioning information display system based on FPGA
CAO Xin-miao,LIN Jian-hui,ZHANG Bing
(Traction Power State Key Laboratory,Southwest Jiaotong University,Chengdu 610031,China)
Abstract: In order to collect and display the GPS positioning information, a GPS positioning
information display system was proposed on the basis of the programmable logic device. Altera's
Cyclone III series FPGA,EP3C10E144C8 was used as the core processor in the system. And
according to the operating principles of GPS15L receiver and LCD module, the circuit was
designed to connect OEM board with LCD module and FPGA,and the program was built for GPS
data collection, treatment and display with hardware description language, Verilog HDL. This
paper introduced the design ideas and realization method of each function module in detail. The
actual operation results show that the system can display the GPS data correctly,and it has good
reliability and practicability.
Key words: FPGA;GPS positioning;OEM board;LCD;Verilog HDL
收稿日期:2011-12-14;收到修改稿日期:2012-02-23
基金项目:“十一五”国家科技支撑计划项目(2009BAG12A01-E03)
高等学校博士学科点专项科研基金(20110184120004)
作者简介:曹新苗(1986-),女,陕西宝鸡市人,硕士研究生,
专业方向为测控与列车定位技术。
0 引言
全球定位系统(global positioning system,GPS)是
美国研制的无线电导航定位系统,能够迅速、准确、
全天候地提供定位信息[1-2]。地球上任何一台GPS 接
收机只要能够接收到4 颗以上的卫星信号,经过计
算处理后,就能得到这台GPS 接收机的位置(经纬
度和高度)、时间以及运动状态等信息[3]。
本文以Quartus II 软件作为FPGA 的开发平台,
采用Verilog HDL 硬件描述语言,在EP3C10E144C8N
芯片上,利用FPGA 的可重复编程特点,实现对GPS
数据的采集、处理以及显示控制。
1 GPS15L OEM 结构板特性和数据输出
本设计选用GARMIN 公司的GPS15L 接收机,
有12 个通道,能够快速定位,功耗非常小,数据更
新率为每秒一次,其优良的性能既能满足陆地导
航的灵敏度要求,也能满足飞行器的动态要求。该
OEM 板的工作电压为3.3~5.4V,具有2 个串行口,串
口1 为异步串行数据的输入和输出,输入数据为初
始位置、时间、秒脉冲状态等设置信息,输出数据
为GPS 定位信息;串口2 接收GPS 差分信息,实时
修正数据。
该GPS 接收机输出的数据格式是美国国家海
洋电子协会(National Marine Electronics Association)
中国测试
CHINA MEASUREMENT & TEST
Vol.38 No.5
September,2012
第38 卷第5 期
2012 年9 月
第38 卷第5 期
为海用电子设备制定的NMEA 0183 标准格式,该
协议采用ASCII 码,其串行通信默认参数为:波特
率=9600b/s,数据位=8bit,开始位=1 bit,停止位=1 bit,
无奇偶校验[4]。常用的NMEA 0813 输出语句有十几
种,每种语句是以“S”开头,以结束,也就
是ASCII 码字符的“回车”(十六进制的0D)和“换
行”(十六进制的0A)。
由于只需要日期、时间和经纬度信息就可实现
定位,因此选用最小定位信息GPRMC 语句。为了数
据处理时更简单,将OEM 板初始化,只输出GPRMC
一种语句,并设置波特率为19 200 b/s。其中GPRMC
语句格式为:SGPRMC,hhmmss,A/V,ddmm.mmmm,
N/S,dddmm.mmmm,E/W,xxx.x,xxx.x,ddmmyy,xxxx,
E/W,*hh。例如:SGPRMC,040503,A,3026.6057,N,
10412.6057,E,,,011211,,W*67。
从这个例子可以得到UTC 日期是11 年12 月1 号,
时间为4∶05∶03,转化为北京时间就为12∶05∶03,纬度
为北纬30°26.6057′,经度为东经104°12.6057′。
2 采集与显示GPS 定位信息的FPGA 系统
设计
2.1 硬件设计
整个系统主要是由3 个部分组成:(1)OEM 板;
(2)FPGA;(3)液晶显示模块。
GPS OEM 板输出电平为RS-232,而FPGA 是TTL
电平,因此需要电平转化,这里采用电平转换芯片为
MAX232,此芯片是MAXIM 公司生产的,包含两路
接收器和驱动器的电平转换芯片,适用于各种RS-232
通信接口,+5V 电源供电,其内部有电压倍增电路和
转换电路[5],与FPGA 连接十分方便。显示定位数据
是采用ST7920 控制器液晶模块,此模块可以直接和
FPGA 连接,并且具有专门的指令,可以灵活的运用。
GPS15L OEM 板和液晶模块与FPGA 连接的原理图
如图1 所示。
2.2 软件设计
本设计选用可编程逻辑器件FPGA,采用硬件描
述语言Verilog HDL 按照自顶向下的设计方法设计
图1 OEM板和液晶模块与FPGA连接电路原理图
B EP3C10E144CKN
EP3C10E144C8N
BANK3 BANK2
IO
IO,(DQS1LCQ1L#DPCLK1)
IO,VREFB2N0
IO,TUP1
IO,RDN1
IO
IO,DIFFIO_Blp
IO,DIFFIO_Bln
IO,(DQS1BCQ1B#DPCLK2)
IO,PLL1_CLKOUTp
IO,PLL1_CLKOUTn
IO,VREFB3N0
IO,DIFFIO_B9p,(DQ1B)
IO,DIFFIO_B9n(DQ1B)
IO,(DQ1B)
IO,DIFFIO_B11p
IO,DIFFIO_B11n
38
39
42
43
44
46
49
50
51
52
53 !!!!
!!!!!
28
30
31
32
33
34
FPGA_TX
HC33
HC34
HC35
HC36
FPGA_RX
HC37
RD7
RD6
RD5
RD4
RD3
RD2
RD1
RD0
2
3
1
10
9
8
7
6
5
4
VCC
20 19
U9
74HCT245
10
2
3
1
9
8
7
6
5
4
19
VO1
VCC
RW1
GND
U12
VO1
R11
1 kΩ
6
100pF
C5
GND
VCC
12864
BLA
BLK
VEE
REAET
NC
ISB
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
E
R/W
RS
V0
VDD
VSS 1234
56789
10
11
12
13
14
15
16
17
18
19
20
!!!
!!!
!!!
11
12
13
14
15
16
17
18
20
11
12
13
14
15
16
17
18
U8
74HCT245
B8 A8
B7 A7
B6 A6
B5 A5
B4 A4
B3 A3
B2 A2
B1 A1
GND
VCC OE
DIR
B8 A8
B7 A7
B6 A6
B5 A5
B4 A4
B3 A3
B2 A2
B1 A1
GND
OE
DIR
VCC
!!!
!!!
!!!
VCC
HCS3
HCS4
HCS5
HCS6
HCS7
!1!0!
12
9
15
GND
11
U1
C1
C2 100pF
100pF 1
3
4
5
C1+
C1-
C2+
C2-
T1IN
T2IN
R1OUT
R2OUT
GND
MAX232EPE
VEE
13
!!8! GFS_TX
7 GFS_RX
14
Hozdor 4
GND
1
2
3
4
VCC
GND
C3 VCC
2
16
C4
100pF 100pF
VDD
VCC
T1OUT
T2OUT
R1IN
R2IN
1 kΩ
曹新苗等:基于FPGA 的GPS 定位信息显示系统71
中国测试2012 年9 月
GPS 数据的采集和显示系统[6]。该软件系统主要包括
时钟分频模块fdiv、串口模块rx 和信息处理以及液
晶显示模块hand_lcd,系统顶层文件方框图如图2
所示。
2.2.1 fdiv 分频模块
分频模块主要产生采集和显示GPS 定位数据
需要的时钟信号频率。FPGA 的时钟频率为50 MHz,
而OEM 板串口波特率为19 200 b/s,为提高系统的容
错性处理,要求分频器的输出时钟为实际串口数
据波特率的N 倍,N 的取值为8,16,32,64 等[7]。本设
计中N 的取值为16,所以分频器的输出信号频率为
19 200×16=307 200 Hz,这样就需要对FPGA 系统时
钟进行162 分频;液晶显示的时钟频率为2 000 Hz,
同样需要分频,采用的分频方法是先将系统时钟分
频为1MHz,再对1MHz 进行500 分频就可得到液晶
显示的时钟频率。
2.2.2 rx 串口模块
串口模块主要作用是采集GPS 数
据,并将采集到的串行数据转化为并行
数据输出给数据处理模块,此程序采用
状态机来实现,分别为s_idle,s_sample
和s_stop 3 种状态。
s_idle:此状态用于检测GPS 接收
机发送数据的起始信号。FPGA 系统复
位后,接收模块rx 就处于空闲状态,
在RS232 串行通信中,在不发送数据
时,串行总线保持逻辑“1”状态,当需
要发送数据时,会首先发送一个起始
位,其逻辑值为“0”,表示开始发送数
据;因此,FPGA 系统要不断检测发送
过来的数据位是否从1 跳变为0,如果
发生跳变,状态机就进入到s_sample,
采集GPS 接收机发送的数据。
s_sample:这是数据采样状态,在
这个状态中,接收模块rx 连续采样
GPS 接收机发送过来的数据,并对每
16 个采样数据进行最大似然判断,得到相应的逻辑
值。做这种判断的目的是得到有效的数据位,需要重
复8 次,才能接收完一个8 位数据。接收时,先将接
收到的每个数据位保存在一个8 位寄存器中,接收
完一个数据后,通过串并转换,将接收到的串行数据
转换为并行数据输出。接收完8 个数据比特后,就转
为s_stop 状态。s_sample 状态程序的具体流程图如
图3 所示。
s_stop:这个状态是检测停止位,程序比较简单,
只需要计数,计数值为15 时就转为s_idle 状态,继
续接收下一帧数据。
2.2.3 hand_lcd 信息处理与显示模块
数据处理与显示模块主要是处理采集到的GPS
数据,分离出需要的日期、时间、经度和纬度数据
并保存,供液晶显示模块调用。处理定位信息时,
由于GPS 接收机输出的语句只有GPRMC 一种,所
图2 系统顶层文件方框图
clk
rst
rx
clk
rst
bclk
lcd_clk
fdiv:inst1
bclk
rst
rxd
hand_clk
rx_finish
rx_ready
data_oud[7..0]
rx:inst2
hand_lcd:inst3
LCD_EN
PSB(VCC)
RS
RW(GND)
beep(GND)
DB8[7..0]
datain[7..0]
rst
lcd_clk
hand_clk
LCD_EN
PSB
RS
RW
beep
DB8[7..0]
rx_ready
rx_finish
图3 s_sample流程图
开始
num7?
rxd==1′bl?
cnt40ms
功能设定:Function_Set,DB8
基于FPGA的GPS定位信息显示系统.pdf (262.21 KB, 下载次数: 0)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-12 17:13 , 耗时 0.101783 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表