DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[GPS] 基于ARM9和FPGA的GPS接收机软硬件设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

- 17 -
基于ARM9 和FPGA 的GPS 接收机软硬件设计与实现
黄崇桂 纪元法
(桂林电子科技大学信息与通信学院,广西 桂林 541004)
【摘 要】论述了GPS 卫星接收机信号生成原理及其方法,针对GPS 卫星信号特点设计制作相应硬件平台和设计信号的
捕获、跟踪、同步等信号控制处理策略和实现方法,分析了GPS 信号处理流程,提出了卫星接收机的硬件平台选择方法,研究
了GPS 接收机在此硬件平台的实现方法,最后在Quartus II9.1 和ADS1.2 下完成了对GPS 卫星的数据接收和处理仿真,并在
ARM+FPGA 硬件平台上进行实现。
【关键词】GPS;ARM9;捕获跟踪
【中图分类号】TN96 【文献标识码】A 【文章编号】1008-1151(2013)04-0017-02
Design and implementation of the hardware-plus-software platform of
GPS receiver based on ARM9 and FPGA
Abstract: The paper mainly discusses the principle and method of the generation of GPS receiver signal. It designs the hardware
platform, implementation method and signal controlling process strategy including the acquisition, tracking and synchronization of the signal
with regard to the characteristics of the GPS satellite signal. The thesis analyzes the GPS signal processing procedure, puts forward the
selection method of the hardware platform of the GPS receiver, researches the corresponding implementation method of the GPS receiver
based on the proposed hardware platform, simulates the reception and processing of the GPS satellite signal based on Quartus II9.1 and
ADS1.2 and realizes the design on ARM+FPGA hardware system.
Keyword: GPS; ARM9; Acquisition and Tracking
全球定位系统(GPS)是1973 年12 月美国国防部批准陆、
海、空三军联合研制的第二代卫星导航系统。该系统是以卫
星为基础的无线电导航系统,具有全能性(陆地、海洋、航
空、航天)、全球性、全天候、连续性、实时性的导航、定位
和定时等功能,能为各类静止或高速运动的用户迅速提供精
密的瞬间三维空间坐标、速度矢量和精确授时等多种服务。
随着中国经济的不断提高,使得其应用越来越广[1]。
随着嵌入式技术的迅猛发展,加上基于 ARM 体系架构下
的微处理器具有高性能、低功耗、低成本等优点,使得ARM
内核成为嵌入式系统应用的首选内核[2]。本文设计一种基于
ARM 加FPGA 的硬件平台,并且给出硬件设计原理,对主要功
能模块进行阐述,最终通过测试,结果测试性能和其他平台
一样良好,此平台具有很高的应用价值。
1 总体方案设计
本次设计总体框图如图1 所示,整个系统主要由两部分
组成:射频部分和基带信号部分。
射频部分包括天线、前置放大器和下边频器,信号经天
线通过SMA 口输入到射频芯片内,实现模数转换,最后输出
中频信号。
基带部分是本次设计的核心,主要由ARM 处理器、FPGA
处理器组成,ARM 部分主要完成对整个信号处理的控制,产
生码频率字和载波频率字,实现信号的帧同步、位同步、电
文提取和定位解算。FPGA 主要完成基带的信号处理部分,包
括捕获、12 通道相关器、RTC、伪距计数、RS232 五个部分,
FPGA 主要完成对信号进行捕获,然后把结果送给后面的跟
踪。在完成整个信号的处理后,经过界面软件把用户位置、
卫星参数等信息输出到PC 上。
图1 接收机总体框图
2 总体硬件方案设计
硬件系统是此系统的基础设施,是实施接收机功能的运
总第15 卷164 期 大 众 科 技 Vol.15 No.4
2013 年4 月 Popular Science & Technology April 2013
【收稿日期】2013-03-10
【作者简介】黄崇桂,桂林电子科技大学信息与通信学院研究生。
- 18 -
算、处理、传输、显示的机构。根据功能和成本的要求,本
次设计采用ARM9 和FPGA 作为电路核心,ARM9 采用三星公司
的S3C2440 芯片,FPGA 采用Altera 公司Cyclone II 芯片系
列的EP2C70 。其数字基带处理模块FPGA 和ARM 接口通信电
路框图如图2 所示。FPGA 和ARM 接口通信电路是本次设计的
关键,按照图4 的方式进行连接,采用32 位数据总线,16
位地址总线通信方式,以保证信号高速通信功能的稳定性。
ARM 通过GCS7 片选信号线来选通FPGA 信号,实现32 位数据
并行传输,这样就可以进行数据高低字节的分时读写。
图2 GPS 接收机硬件连接图
其中,S3C2440 采用ARM920T 内核,主频最高可达533MHZ,
支持7 种中断模式,封装为289-FBGA,分配了八段存储空间
(Bank0~Bank7),设计中利用了Bank7 地址空间对接收机的
数据进行存储和读取,通过nGCS7 片选Bank7,地址范围是
0x3800_0000~0x4000_0000,以S3C2440A 为主芯片的控制端
可外接串口,一个外部串口,网络接口,音频接口和触摸屏
接口等,它具有27 个地址端口,32 位数据端口和八位模数
转换器,其芯片内部结构和外部硬件连接如图3 所示。
另外,EP2C70 芯片具有高性能、低功耗等特点,提供多
达6.8 万个逻辑单元(LE),支持四个可编程锁相环(PLL)
和16 个全局时钟线,提供强大的时钟管理和频率合成能力。
本设计中利用FPGA 中的IP 核DCM 对输入时钟进行分频、倍
频和稳频,将其输出时钟Sys_clk62M 作为接收机的工作时
钟。
图 3 ARM 功能模块内部结构图
3 总体软件方案设计
3.1 软件设计及其各模块功能
软件的整体流程图如图 4 所示,应用程序按照图中的步
骤从初始化开始,经过ARM 和FPGA 处理器的协同处理,从开
机到跟踪,最终将定位解算结果输出到pc。
图 4 软件整体流程图
ARM 模块的任务就是计算。定位解算以及跟踪环路计算
全是在arm 中进行。这中间一些捕获策略和同步的相关算法
也很重要,当同步成功后,arm 通过星历、伪距和多普勒计
算卫星位置,卫星速度等,通过构建模型估计电离层和对流
层延迟。以及一些相关误差,最后利用最小二乘法计算接收
机位置[8],DOP 值等。
FPGA 模块主要任务是捕获和跟踪,其中跟踪处理模块有
3 个子模块组成,分别是相关器子模块,同步子模块和伪距
处理子模块,模块功能是利用ARM 送出的每隔1ms 更新的载
波和伪码频率控制字,实现对A/D 转换器输出的数字中频信
号进行载波剥离和伪码剥离,并将1ms 的积分清除结果输出
给ARM 进行鉴频、鉴相处理;待跟踪锁定后,在ARM 中进行
位同步、帧同步,解调出信息数据,并从FPGA 伪码相位累加
器中提取伪距观测量[9],经过处理后输出给ARM,其整体信号
处理框图如图5 所示。
图 5 总体信号处理框图
3.2 GPS 卫星信号分析
GPS 卫星信号包含载波、测距码(包含P 码、C/A 码)、
数据码(导航电文或称D 码)等多重分量,他们都是在一个
基准频率 f 0 =10.23MHz的控制下产生的。GPS卫星信号包含
两种载波1 和L2。
其中卫星信号在L1 载频上,数据码和两种伪随机码分别
以正交和同相的方式进行非平衡性QPSK 调试,其信号结构
- 19 -
为:
SL1(t)= 2Pc1D(t)x(t)cos(2π fL1t+θL1)+ 2PY1D(t)y(t)sin(2π fL1t+θL1)
在L2 载频上只以BPSK 调试了P 码,
其信号结构为[3]:
SL2(t) = 2PY 2D(t) y(t)sin(2π fL2t +θ L2)
其中
fL1 = 154× f 0 =1575.45MHz,
波长0 λ =19.03cm,
fL2 =120× f 0 =1227.60MHz,
波长1 λ =24.42cm
其中,对于 C/A 码,它的码率是 1.023×106 码片/s 或者
1.023Mcps,码长1023,每1ms 重复一次。
3.3 导航电文
GPS 卫星的导航电文是以二进制的形式发送给用户的导
航定位数据,又称数据码和D 码,是用来定位和导航的原始
数据,它由五个子帧组成,各帧导航电文的内容如图3 所示,
导航电文包含三个数据块[4],分布在不同的子帧里,主要包
括:卫星星历、时钟和电离层修正、工作状态信息及C/A 码
转换到捕获P 码的信息。
图6 导航电文的结构
导航电文每个子帧都有遥测字TLM 和转换字HOW 打头,
遥测字头八位是同步头,为子帧中的编码脉冲的解调提供一
个时间标记点,带有传播时延的信息,编码脉冲按节点顺序
按位拼装,就可译出正确的导航信息。同步头起点对应的时
间包含在前一个子帧的转换字(HOW)的Z 计数中。
HOW 字的前17 位是Z 计数,其实是子帧计数,记录子帧
的数目。每周六的午夜零时作为第一个子帧的起点。经过此
点,子帧Z 计数加1,一个星期共有100800 个子帧,计满便
重新开始。因为每个子帧的时间是6s,所以,子帧技术实际
上计的是时间,只要将子帧计数器的内容乘以6,这样得到
的时间就是下一个子帧的时间起点。子帧识别指明该子帧是
5 个子帧中的哪一个子帧。同步标志指明导航信号中的子帧
是否与伪码同步,若不同步,就不能进行C/A 码到P 码的转
换。HOW 字叫转换字是因为它的一个主要作用是在测距时实
现由粗测距码(C/A 码)到精测距码(P 码)的转换。
3.4 捕获搜索算法分析
卫星信号的捕获是对伪码、频率和时间的三维搜索过程,
接收机按照从1 到32 号伪码的顺序依次对各颗卫星进行二维
搜索,对信号进行的二维搜索的不定区间大小,基本上决定
了完成对该信号的搜索所需时间。频率不定区间与码相位不
定区间所包围的面积构成了对一个接受信号的二维搜索,该
二维搜索范围所包含的搜索单元数目Ncell 为[5]:
in
(2 )(2 )
t
unc unc
cell
b bin
N f t
f
=
其中,func 为信号频率的不定值,tunc 为码相位的不定
值,fbin 和tbin 又分别是搜索频带和码带宽度。
通常,为了获得一个比较合理的搜索时间,接收机在每
个搜索单元上的驻留时间不能太长,通常为1ms;否则,如
果这些数量不多的相关器被全部耗费在若干个搜索单元上,
那么接收机就没有时间和机会搜索其余的三维搜索单元[6]。
有时,为了减小平均捕获时间,我们除了采用更为优越的搜
索算法之外,还可以针对性的采取以下三方面的措施[7]:
(1)缩小信号搜索范围
(2)提高接收信号的信噪比
(3)采用大块并行相关器
4 总结
本设计的 GPS 接收机采用S3C2440 加EP3C20 的处理器
芯片作为接收机的数字基带处理器,通过实验调试,消除了
以往多硬件处理器平台的瓶颈效应,通过总线方式通信和
arm 的实时中断处理,有效的完成ARM 与FPGA 数据传输的高
效性和稳定性,该平台具有性能好、体积小、功耗低,通过
MATLAB 仿真验证,能够实时进行捕获和跟踪,满足低动态定
位的需要。
【参 考 文 献】
[1] 谢钢.GPS 原理与接收机设计[M].北京:2009:60-68.
[2] 周立功,等.ARM 嵌入式系统基础教程[M].北京:北京航
空航天大学出版社,2005:102-112.
[3] 雷蕾.GPS 信号捕获、跟踪算法研究[D].电子科技大
学,1998:50-58.
[4] 边少锋,李文魁.卫星导航系统概论[M].北京:电子工业出
版社,2005:22-30.
[5] 滕依良,陈佳品,李振波. 基于FPGA 的12 通道GPS 数字
相关器设计[J].计算机工程与设计,2009,30(12):2826-2829.
[6] 杨俊. GPS 基本原理及其Matlab 仿真[M].西安:西安电子
科技大学出版社,2006:200-202.
[7] 董绪荣,唐斌,蒋德.卫星导航软件接收机[M].北京:国防工
业出版社,2007:234-339.
[8] 杨明轩.高动态GPS 信号的快速捕获与跟踪方法研究[D].
电子科技大学,2008:66-70.
[9] 党亚民,秘金钟,成英燕.全球导航卫星系统原理与应用
[M].北京:测绘出版社,2007:150-155.
(责任编辑 伍 彬)
基于ARM9和FPGA的GPS接收机软硬件设计与实现-.pdf (953.44 KB, 下载次数: 0)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-11 15:43 , 耗时 0.094991 秒, 21 个查询请求 , Gzip 开启.

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

桂公网安备 45031202000115号

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

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

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

QQ:28000622;Email:libyoufer@sina.com

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

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