微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于Cortex-M3的北斗二代基带芯片设计

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

时间:10-27 来源:电子产品世界 点击:

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

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

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

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

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

引言

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

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

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

1 北斗接收机系统

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

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

2 北斗基带芯片硬件设计

北斗接收机基带的硬件部分主要包含了ARM Cortex-M3 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码的半码片速率)。然后将此基带信号与本地生成的相同采样率的伪码,同时输入匹配滤波器组,从而完成对导航数据的解扩,这个过程叫伪码捕获。由于北斗卫星与接收机之间具有相对速度,所以存在多谱勒频移。要得到卫星信号中的导航数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top