新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于Cortex-M3的北斗二代基带芯片设计

基于Cortex-M3的北斗二代基带芯片设计

作者:曾楠 周芝梅 赵东艳 靳嘉桢 时间:2016-10-27来源:电子产品世界收藏
编者按:我国自主研制的北斗卫星导航系统,日益在经济、军事和民用领域得到越来越广的应用。本文提出并设计了基于Cortex-M3处理器的北斗接收机基带处理芯片,设计了时域频域二维并行捕获模块,同时阐述了基于Cortex-M3处理器的控制流程,包括对捕获引擎、跟踪引擎的调度,电文解调和定位解算等。本设计最后在FPGA上完成原型验证,定位结果符合算法预期。

作者/ 曾楠1 周芝梅2,3 赵东艳2,3 靳嘉桢2,3

本文引用地址:http://www.eepw.com.cn/article/201610/311934.htm

  1.国家电网公司(北京 100031)

  2.北京智芯微电子科技有限公司 国家电网公司重点实验室 电力芯片设计分析实验室(北京 100192)

  3.北京智芯微电子科技有限公司 北京市电力高可靠性集成电路设计工程技术研究中心(北京 100192)

摘要:我国自主研制的,日益在经济、军事和民用领域得到越来越广的应用。本文提出并设计了基于处理器的北斗接收机基带处理芯片,设计了时域频域二维并行捕获模块,同时阐述了基于处理器的控制流程,包括对捕获引擎、跟踪引擎的调度,电文解调和定位解算等。本设计最后在上完成原型验证,定位结果符合算法预期。

引言

  中国(BeIDou Navigation Satellite System,BDS)是中国自行研制的卫星导航系统,是继美国全球定位系统(GPS)、俄罗斯格洛纳斯卫星导航系统(GLONASS)之后第三个成熟的卫星导航系统。随着2013年底中国卫星导航系统管理办公室公布北斗微信导航系统空间信号接口控制文件后,国内外陆续开始推出北斗导航处理芯片。

  北斗接收机的信号处理包含三大块内容,首先是射频前端处理,对天线接收下来的信号进行下变频和A/D转换,转成数字中频信号输入。第二部分基带处理部分对射频模块输入的中频数字信号进行数字信号处理, 主要功能是完成北斗信号的捕获和跟踪,这是整个北斗接收模块最核心的部分。第三部分是导航定位的解算部分和人机接口,为了提高灵活性,这部分一般由CPU执行软件程序来处理。

  早期导航系统GPS接收机方案多为独立射频模块连接天线接收GPS信号后,射频输出的中频信号输入实现的捕获跟踪协处理器,捕获跟踪后的数据再输出给一颗外接专用的ARM处理器,完成第三部分的报文接收和定位解算,系统结构如图1所示[1-2]

1 北斗接收机系统

  随着嵌入式CPU的蓬勃发展,导航定位芯片的SoC设计越来越成为可能,集成了嵌入式CPU内核的接收机芯片,完成信号的捕获跟踪后,导航报文直接由片内CPU解析并处理,完成定位解算,运算的结果数据按照NME0183格式从串口输出,同时送出1PPS秒标信号。

  本设计的北斗接收机系统框图如图2所示,射频模块将北斗信号接收下来后,经过去载波处理和AD采样,转换为中频数字信号,输入到本设计的基带处理芯片。基带处理模块主要完成对北斗信号的捕获、跟踪处理,然后再由主处理器进行定位解算,输出解算结果。

2 北斗基带芯片硬件设计

  北斗接收机基带的硬件部分主要包含了ARM CPU,负责硬件处理的控制和调度,还有北斗报文的解调和定位解算;SoC芯片的一些基本单元包括RAM、FLASH的控制器、看门狗、TIMER、RTC以及串口/SPI/GPIO等基本通信单元;还有基带芯片最核心的北斗基带处理部分,实现北斗信号的捕获和跟踪处理。

  2.1 基带芯片系统架构

  基于M3的北斗二代基带处理芯片系统架构如图3所示,采用ARM Cortex-M3嵌入式CPU, 二级AMBA总线架构;AHB总线的主设备包括CPU和DMA,从设备包括基带处理模块、SRAM控制器、SPI FLASH控制器和APB 桥。APB总线上挂的主要是低速外设,包括SPI、串口通信模块、看门狗、TIMER、RTC和GPIO。

  Cortex-M3是基于ARMv7-M架构的ARM处理器[6-7],采用哈弗架构,3级流水线设计,能用分支预测,有单周期乘法和硬件触发功能。 Thumb2指令集结合非对齐数据存储和原子位处理等特性,能以8位、16位器件所需的存储空间实现32位性能。内置的嵌套向量中断控制器实现低延迟的中断处理,Cortex-M3处理器是追求低成本、低功耗和高能效的应用场景理想的CPU。M3包含三条总线,指令总线、数据总线和系统总线[8-9],与DMA共同为芯片AHB总线的主设备。

  ARM CPU对跟踪和捕获模块的控制主要包括对星号、频点的设置,设置门限、捕获灵敏度和频率搜索范围,根据捕获结果配置跟踪通道、载波和码频率等。

  2.2 捕获跟踪模块设计

  导航信号处理模块的功能,主要包括生成本地载波和C/A码,接收输入的数字中频信号,对卫星信号进行捕获和跟踪[4-5]

  北斗信号采用直接序列扩频方式(DSSS)对调制数据进行扩频,信号的CA码速率为2.046Mbps,码长2046[3]。捕获模块接收到数字中频信号后,与本地NCO生成的载波信号相乘,得到基带信号。基带信号经过降采样滤波器后得到4M采样率的基带信号(接近CA码的半码片速率)。然后将此基带信号与本地生成的相同采样率的伪码,同时输入匹配滤波器组,从而完成对导航数据的解扩,这个过程叫伪码捕获。由于北斗卫星与接收机之间具有相对速度,所以存在多谱勒频移。要得到卫星信号中的导航数据,必须获取到卫星信号的多普勒频移的数值。这个过程叫频率捕获。所以,北斗信号的捕获是一个伪码和频率的二维捕获过程,捕获的目的就是使本地载波和接收到的信号载波频率基本一致,并且使本地复现伪码和接收到的卫星信号的码速率基本一致,码相位差小于一个码片宽度,从而实现本地信号与中频输入信号的粗同步。

  本设计采用的是短时匹配滤波器组结合FFT的捕获结构,短时匹配滤波器将总的相干积分时间Tcoh分成等间隔的M段,每段积分时间为Tcoh/M。短时相关结合FFT的捕获过程为:降采样至4MHz的数字中频信号进入匹配滤波器组,与本地生成的相同采样率的伪码做相关,得到M个短时相关值;同时,对输入信号进行半码片平移,然后继续相关,直到1ms后得到Mx2046个短时相关值,完成码域的全并行搜索。然后对每个码相位上的M个短时相关值做FFT运算,得到其中的频域信息,实现频域的并行搜索。

  整个捕获功能模块如图4所示,主要包括数字下变频、载波发生器、去载波电路、降采样电路、码发生器、匹配滤波器阵列、相干/非相干累加模块和捕获引擎控制等模块。

  跟踪模块的结构与捕获模块类似,只是基于捕获模块的粗同步信息,跟踪模块可以对卫星信号进行更精细的C/A码和频率跟踪。

3 基带芯片软件设计

  Cortex-M3 CPU作为基带芯片的主设备模块,首先完成芯片的启动和初始化,后续执行的软件按照功能主要分为两部分,一是对捕获跟踪模块的控制调度,具体工作流程如图5所示。先根据需要捕获的星号对捕获模块进行相关参数的配置,启动捕获过程;接收到捕获完成中断后,根据捕获结果,判决是否成功捕获,并继续配置捕获下一颗卫星或者更换配置参数重新捕获本颗卫星;根据捕获成功得到的码相位和多普勒频偏值,配置相应卫星的跟踪通道,启动卫星的信号跟踪。

  当跟踪通道成功跟踪4颗以上卫星后,可以对相应卫星的导航电文进行解调,然后根据获得的导航电文进行定位解算。

4 总结

  本文设计的北斗基带处理芯片,内嵌ARM Cortex-M3 CPU,集成了北斗的捕获模块和16路北斗跟踪模块。通过ARM CPU的软件调度,本设计完成导航信号的捕获和跟踪,并由M3完成报文的解调和定位解算,最后通过串口输出定位信息。该设计最后在Xilinx Kintex-7系列xc7k325t上实现原型测试,对北斗B1信号实现了成功捕获和跟踪,定位精度也能符合应用需求。

  参考文献:

  [1]邢增强,李金海,梁华庆,等.基于ARM+FPGA的GPS接收机设计[J].传感器与微系统,2011.

  [2]刘竞超,邓中亮.基于ARM+FPGA北斗接收机设计[J].软件,2012.

  [3]中国卫星导航系统管理办公室.空间信号接口控制文件

  [4]李金海.高动态GPS接收机基带算法研究与设计[D].北京:中国科学院研究生院,2007.

  [5]廉保旺,刘慧红,毛得明.基于匹配滤波器和FFT的伪码快速捕获方法及性能分析[J].测控技术,2009.

  [6]ARMv7-M Architecture Reference Manual ARM Limited.

  [7]ARMv7-M Cortex-M3 User Guide Reference Material ARM Limited.

  [8]Cortex-M3 Technical Reference Manual ARM Limited.

  [9]Cortex-M3 Integration and Implementation Manual ARM Limited.


本文来源于中国科技期刊《电子产品世界》2016年第10期第59页,欢迎您写论文时引用,并注明出处。



评论


相关推荐

技术专区

关闭