3.2 HD-GR基带模块介绍

2024-04-27 04:58
文章标签 模块 介绍 3.2 hd gr 基带

本文主要是介绍3.2 HD-GR基带模块介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

\qquad HD-GR接收机的基带模块是在Namuru跟踪模块的Verilog版代码基础上开发的,开发工具使用了Altera的Quartus II v11.0软件包。HD-GR基带模块继承和扩展了Namuru跟踪模块的架构和接口,增加了BDS系统和双系统以及1PPS时标支持功能。

3.2.1 总体描述

\qquad AGRS_GP_1参考工程中的GNSS基带模块支持GPS和BDS双系统,具有20个通道,能同时跟踪10个GPS L1信号和10个BDS B1I信号。

\qquad 分析GPS L1和BDS B1I信号后可知,就基带模块实现而言,它们之间的信号特征差异只表现在数字中频信号频率和C/A码片速率上。在Namuru接收机中,导航固件通过使用Namuru跟踪模块的总线接口能够控制它们。因此,将Namuru跟踪模块扩展为支持GPS和BDS双系统是直接的,无需对其架构和接口做实质性改变。

\qquad 参见图3-8,HD-GR基带模块与Namuru跟踪模块一样,由一个主模块(gnss_baseband)和三个子功能块组成。三个子功能块分别是:10个完全相同的GPS L1跟踪通道和10个完全相同的BDS B1I跟踪通道;一个时基模块;以及一个寄存器和地址译码功能块。

\qquad 相比于Namuru跟踪模块,HD-GR基带模块主要进行了以下扩展:

  1. 主模块对外接口扩展为接收来自两个射频前端芯片的数字中频信号(IF 1, IF 2),以及输出一个1PPS时标pps_timemark(未在图3-1中标出)。参见“1PPS时标产生”小节的介绍。
  2. 时基模块使用工作时钟和两个采样时钟(s1_clk, s2_clk)(包含在IF 1, IF 2信号中)导出总线和跟踪通道处理所需的各种时序信号,以及实现1PPS时标输出的主要处理功能和接口。参见“时基模块”和“1PPS时标产生”两小节的介绍。
  3. 主模块生成和管理20个跟踪通道(实例),10个跟踪GPS L1信号,10个跟踪BDS B1I信号。参见“跟踪通道(模块文件)”小节的介绍。
  4. 主模块与导航固件进行数据交换的总线接口的地址空间从1 Kbytes扩展为2 Kbytes,能够映射512个32位宽的寄存器。具体说明参见“寄存器地址映射和功能描述”小节。

图3-8 HD-GR基带模块顶层架构图

图3-8 HD-GR基带模块顶层架构图(s1_clk、s2_clk分别与后文中的sample_clk_1、sample_clk_2为同一信号)
  • 我的存档免费软件
  • 我的存档学习资料

3.2.2 时基模块

\qquad 在HD-GR基带模块中,时基模块(time_base)不仅导出了基本时序信号,而且实现了产生1PPS时标的主要处理和接口。

1、时序信号产生

\qquad 与Namuru跟踪模块一样,在HD-GR基带模块中,时基模块(time_base)用工作时钟clk导出周期可由导航软件设置的累积中断信号(accum_enable)和观测量锁存脉冲(tic_enable, pre_tic_enable)。不过,为了能够产生与UTC秒时钟对齐的1PPS时标,支持动态延迟和调整观测量锁存脉冲的周期和相位。时基模块还用工作时钟clk和采样时钟sample_clk_1及sample_clk_2分别导出采样工作信号accum_sample_enable_1和accum_sample_enable_2。这些信号都同步于clk上升沿,选通脉冲宽度都为1个clk周期。

图3-9 时基模块输入/输出信号

图3-9 时基模块输入/输出信号

2、1PPS时标产生

\qquad 1PPS时标产生器配合tic_enable信号来工作。图3-9中的时标信号pps_tic_0从tic_enable导出,然后通过基带主模块(gnss_baseband)的接口信号pps_timemark,输出到HD-GR接收机底板的PPS引脚上。信号pps_timemark希望被用作一个准确的1PPS时标,与UTC对齐,脉冲宽度1ms。真正的1PPS输出需要应用许多软件算法来产生,若没有这个pps_tic_0,将无法实现对齐UTC。

\qquad 时标信号pps_tic_0的上升沿吻合于tic_enable上升沿。因此,要将pps_tic_0与UTC对齐,tic_enable必须与UTC对齐。为了确定一个与UTC对齐的1PPS时标,接收机需要能够预测:为产生一个即将到来的时标输出脉冲,需要对一个TIC脉冲施加多大改正量。一旦预测和设置了这个改正量,时基模块就可以通过修改单独一周tic_enable的周期 (TIC period),然后将它设置为初始值,再滑动tic_enable的相位来达到目的。接收机导航软件通过设置TIC计数值(pps_tic_load)和TIC延迟值(tic_delay_value)来完成它们(参见图3-9)。

\qquad 需要指出的是,这里产生的1PPS时标pps_timemark并没有与UTC完全对齐,因为当前的实现没有考虑射频前端中的信号延迟,也没有考虑数字中频信号进入基带模块到完成相关计算之间的信号延迟以及导出时标信号pps_tic_0和pps_timemark所需的处理和传播延迟。

3.2.3 跟踪通道(模块文件)

\qquad 在HD-GR基带模块中,跟踪GPS L1信号和BDS B1I信号的通道模块分别为gps_tracking_channel和bds_tracking_channel。相比于Namuru的跟踪通道及其子模块,只有BDS B1I通道的码产生器(bds_code_gen)存在少许差异,因此在此不再展开对HD-GR跟踪通道的分析,而只列出各跟踪通道及其子模块的文件名称。

// GPS L1信号跟踪通道
gps_tracking_channel.v		// 主模块
|-- gps_carrier_nco.v		// 载波NCO
|-- gps_carrier_mixer.v		// 载波混频器
|-- gps_code_nco.v			// 码NCO
|-- gps_code_gen.v			// 码产生器
|-- gps_accumulator.v		// 累积器
|-- gps_epoch_counter.v		// 历元计数器// BDS B1I信号跟踪通道
bds_tracking_channel		// 主模块
|-- bds_carrier_nco.v		// 载波NCO
|-- bds_carrier_mixer.v		// 载波混频器
|-- bds_code_nco.v			// 码NCO
|-- bds_code_gen.v			// 码产生器
|-- bds_accumulator.v		// 累积器
|-- bds_epoch_counter.v		// 历元计数器

3.2.4 寄存器地址映射和功能描述

\qquad (整理中…)

  • 我的存档免费软件
  • 我的存档学习资料

这篇关于3.2 HD-GR基带模块介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939576

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe