13585951700

详细内容

ZYNQ平台GNSS接收机开发指南:ARM FPGA协同架构实践

一、为什么选择ZYNQ平台开发GNSS接收机?


传统的GNSS接收机通常采用DSP FPGA的分立架构:DSP负责定位解算等复杂算法,FPGA负责基带信号处理(捕获、跟踪、位同步等)。这种架构分工明确,但存在芯片数量多、PCB面积大、功耗高、DSP与FPGA之间数据交互带宽有限等问题。


Xilinx ZYNQ SOC(System on Chip)将双核ARM Cortex-A9处理器(PS端,Processing System)与FPGA可编程逻辑(PL端,Programmable Logic)集成在单芯片上,通过内部AXI总线实现高速数据交互。ZYNQ平台为GNSS接收机开发带来了以下优势:


高集成度:单芯片完成处理器和FPGA功能,减少芯片数量,缩小PCB面积,降低功耗和成本。


高速数据交互:PS端与PL端通过内部AXI总线交互,带宽可达数十GB/s,远高于DSP与FPGA之间的外部接口(如EMIF、SRIO等)。


丰富的PS端资源:ARM Cortex-A9处理器运行频率可达866MHz(ZYNQ-7000系列)或1.5GHz(ZYNQ UltraScale 系列),支持Linux等操作系统,可运行复杂的定位解算算法和应用程序。


灵活的PL端资源:FPGA可编程逻辑可实现高速并行的基带信号处理,支持客户自定义算法和接口。


开发工具链完善:Xilinx提供Vivado、Vitis、SDK等完整的开发工具链,支持PS端和PL端的协同开发和调试。


上海宇志通信的ZYNQ系列接收机平台(产品2-6)即采用ZYNQ SOC架构,为GNSS接收机研发提供了高性能、高集成度的开发平台。


二、ZYNQ平台GNSS接收机的软硬件划分


在ZYNQ平台上开发GNSS接收机,首先需要确定PS端(ARM)和PL端(FPGA)的功能划分。合理的软硬件划分可以充分发挥ARM的软件灵活性和FPGA的硬件并行性,提高系统整体性能。


1. PL端(FPGA)功能


PL端负责高速、并行、实时的基带信号处理:


射频前端配置:通过SPI接口配置MAX2771等射频前端芯片的工作模式、增益、频率等参数。


AD数据接收:接收射频前端输出的数字中频信号(I/Q两路),进行数据格式转换和时钟域同步。


信号捕获:实现快捕模块,全并行搜索码相位和多普勒频点,1秒内捕获全部可见卫星。


信号跟踪:实现多通道跟踪环路,包括载波跟踪环(PLL/FLL)、码跟踪环(DLL),输出载波相位、码相位、载噪比等测量值。


位同步与帧同步:实现位同步算法(如早迟门、Gardner算法)和帧同步算法,提取导航电文比特。


数据缓存与DMA:将测量值和导航电文缓存到FPGA内部BRAM或DDR,通过DMA传输到PS端内存。


2. PS端(ARM)功能


PS端负责复杂算法、协议栈和应用层功能:


导航电文解析:解析GPS/北斗导航电文,提取卫星星历、钟差、电离层参数等。


定位解算:实现最小二乘定位、卡尔曼滤波定位、RAIM(接收机自主完整性监测)等算法。


授时与PPS:实现精确授时算法,输出PPS(秒脉冲)信号。


高动态处理:在高动态场景下,辅助跟踪环路进行多普勒预测和带宽自适应调整。


通信协议:实现NMEA0183、RTCM、自定义协议等通信协议,通过UART、USB、以太网等接口输出定位结果。


上位机通信:通过USB3.0或以太网与上位机通信,传输中频数据、测量值、状态信息等。


系统管理:运行嵌入式Linux或裸机程序,管理系统资源、任务调度、参数配置、固件升级等。


三、ARM与FPGA的数据交互实现


PS端与PL端的数据交互是ZYNQ平台GNSS接收机开发的关键环节。ZYNQ提供多种数据交互方式,应根据数据量和实时性要求选择合适的方式:


1. AXI Lite接口(控制寄存器读写)


AXI Lite接口用于PS端读写PL端的控制寄存器,如射频前端配置、捕获参数设置、跟踪通道控制、状态读取等。AXI Lite接口带宽较低(通常为32位),适合少量控制数据的交互。PS端通过读写映射到内存空间的寄存器地址即可访问PL端寄存器,开发简单。


2. AXI HP接口(高速数据流传输)


AXI HP(High Performance)接口用于PL端到PS端的高速数据流传输,如中频数据上传、测量值批量传输等。AXI HP接口支持64位数据宽度,工作频率可达150-250MHz,带宽可达数GB/s。PL端通过DMA控制器将数据直接写入PS端的DDR内存,PS端通过中断或轮询方式读取数据,实现零拷贝高速传输。


3. AXI Stream接口(流式数据传输)


AXI Stream接口用于连续的流式数据传输,如中频数据流、DDM数据流等。AXI Stream接口支持任意数据宽度,配合DMA控制器可实现高效的流式数据传输。


4. 中断信号


PL端通过中断信号通知PS端数据就绪、事件发生等。ZYNQ提供多达16个PL到PS的中断信号,PS端通过中断处理函数响应PL端事件。中断方式适合事件驱动的数据交互,可减少PS端的轮询开销。


5. 共享内存


PS端和PL端可通过共享DDR内存进行大数据量的数据交互。PL端通过DMA将数据写入共享内存区域,PS端直接读取该内存区域的数据,无需数据拷贝。共享内存方式适合中频数据、DDM数据等大数据量的交互。


四、MAX2771射频前端配置


MAX2771是Maxim(现Analog Devices)推出的全频段GNSS射频前端芯片,集成了LNA、混频器、滤波器、PGA和ADC,支持GPS L1/L2/L5、北斗B1I/B2I/B3I/B1C/B2a、GLONASS L1/L2、Galileo E1/E5a/E5b/E6等全频段。MAX2771噪声系数低至1.4dB,是高性能GNSS接收机的理想射频前端。


在ZYNQ平台上,MAX2771的配置通过SPI接口实现,由PL端的FPGA逻辑控制SPI总线。配置内容包括:工作频段选择(通过内部频率合成器设置本振频率)、LNA增益、混频器增益、滤波器带宽、PGA增益、ADC采样率、输出数据格式(I/Q正交或实采样)等。


MAX2771的输出为数字I/Q信号,通过CMOS或LVDS接口连接到PL端的FPGA。FPGA接收数字中频信号后,进行后续的捕获和跟踪处理。MAX2771还提供外部参考时钟输入,可连接高稳恒温晶振,提高频率稳定度。


五、USB3.0高速数据传输实现


在GNSS接收机研发中,经常需要将中频数据实时上传到计算机进行在线分析和算法验证。USB3.0接口提供5Gbps的理论带宽,可满足多通道中频数据的实时传输需求。


在ZYNQ平台上,USB3.0的实现有两种方案:


方案一:PS端USB控制器:ZYNQ PS端集成了USB 2.0 OTG控制器,但不支持USB 3.0。因此需要在PL端实现USB 3.0设备控制器IP核,或使用外部USB 3.0芯片(如Cypress FX3)。


方案二:外部USB3.0芯片(推荐):使用Cypress EZ-USB FX3(CYUSB3014)等USB 3.0外设控制器芯片,通过GPIF II接口与PL端FPGA连接。FX3芯片内置ARM9处理器和USB 3.0物理层,可实现高达400MB/s的实际数据传输速率。PL端FPGA通过GPIF II接口将中频数据写入FX3的内部FIFO,FX3通过USB 3.0总线将数据上传到计算机。这种方案成熟稳定,开发难度低,是ZYNQ平台USB3.0的推荐方案。


上海宇志通信的ZYNQ系列接收机平台即采用外部USB3.0芯片方案,支持中频数据实时上传,不限存储时间直接录制到计算机,方便研发人员进行在线算法分析和验证。


六、开发实践与最佳建议


1. 开发流程建议


ZYNQ平台GNSS接收机的开发建议按照以下流程进行:首先在Vivado中创建Block Design,添加ZYNQ Processing System、AXI Interconnect、DMA、自定义IP核等,完成PL端硬件设计;然后导出硬件平台到Vitis/SDK,创建PS端应用工程;接着分别开发PL端的基带处理IP核和PS端的定位解算应用;最后进行系统集成和联合调试。


2. 算法验证建议


在将算法移植到FPGA之前,建议先在MATLAB中进行算法仿真验证,确认算法性能和参数设置。MATLAB算法验证程序可使用实际采集的中频数据(通过USB3.0上传),确保算法在真实信号下的性能。算法验证通过后,再逐步移植到FPGA实现,并与MATLAB结果进行对比验证。


3. 源码开放的价值


对于GNSS接收机研发,完整的源代码开放具有重要价值。上海宇志通信的ZYNQ系列接收机平台提供完整的FPGA基带处理源程序、ARM端应用程序源程序、上位机软件源程序、硬件原理图和PCB设计图,客户可基于完整源码进行深度二次开发,无需从零开始搭建硬件和软件基础,大幅提升研发效率。


七、总结


ZYNQ SOC平台以其高集成度、高速数据交互、丰富的PS端资源和灵活的PL端可编程逻辑,成为GNSS接收机开发的理想平台。合理的软硬件划分、高效的ARM-FPGA数据交互、高性能的MAX2771射频前端和USB3.0高速数据传输,是ZYNQ平台GNSS接收机开发的关键技术点。上海宇志通信的ZYNQ系列接收机平台以完整源码开放和核心技术全栈自研为核心优势,为GNSS接收机研发提供了高性能、可深度定制的开发平台。


如需了解ZYNQ平台GNSS接收机开发的更多技术细节或申请开发平台进行算法研究,欢迎联系上海宇志通信技术有限公司。

联系热线

021-35317305

13585951700

公司邮箱

SPL_20100518@126.com

公司地址

上海市闵行区东川路555号4号楼202B室(紫竹国家科技园区)


扫一扫

了解更多资讯
seo seo