刘智伟 ,何文涛 ,徐建华
(1.中国科学院微电子研究所,北京100029;2.中国物联网研究发展中心,江苏 无锡214315)
随着卫星导航定位设备的小型化甚至芯片化,以个性化移动信息为核心的移动导航产品市场越来越广阔。各种嵌入式电子产品种类越来越丰富,集成了卫星定位于移动通信组件的移动终端产品将得到快速发展。在移动终端中,必须要考虑移动终端的功耗问题,所以低功耗的导航芯片市场需求非常大。发展自主研发的低功耗接收机芯片,无论是对发展导航卫星系统还是接收机设备都具有重要的战略意义和市场价值。
在芯片设计领域,低功耗已经成为与性能同等重要的设计目标。功耗制约着芯片性能的进一步提高,并且增加了集成电路的成本。当前在超深亚微米工艺下的SoC设计过程中,需要在系统级、体系结构、RTL级、门级以及最后的版图级进行协同设计,才能同时保证提高性能和减少功耗。从越高的层次去考虑功耗问题,芯片功耗优化的幅度就越显著[1-2]。所以,本文从系统级和结构级来降低导航基带处理器芯片的功耗。
图1 通用导航接收机的结构
导航接收机的内部机构如图1所示,沿其工作流程的先后顺序,通常分为射频(RF)前端处理、基带数字信号处理和定位导航计算三大模块。射频前端处理采用ASIC形式实现;导航定位和用户界面是由通用CPU运行用户程序来实现;根据基带数字信号处理和导航定位计算的不同,实现方式分为3种不同的结构。
[3]中提到了软件式的接收机结构,卫星信号经射频前端下变频到中频信号,进行A/D采样之后,直接进入到主处理器内进行处理,信号的捕获、跟踪、定位解算及导航都是在主处理器内完成的。这种结构的优点是设计灵活度比较高;缺点是需耗用大量的主处理器运算资源(大于100 MIPS),功耗较大。参考文献[4]中提到了独立式接收机结构,独立式的基带结构完成从中频信号输入到定位结果输出的工作。这种结构的优点是性能好,可以升级固件算法;缺点是除了能增加导航功能外,其他功能不易加入。参考文献[5]中提到了主处理器式的接收机结构,主处理器式的基带结构仅完成卫星信号的捕获和跟踪功能,而没有定位解算和导航功能。该结构的优点是导航功能由外接主处理器运行,能减少芯片组的尺寸和成本;缺点是主处理器硬件平台及操作系统必须开发出相应的驱动程序,增加开发时间和成本,功能升级复杂度较独立式结构高。
3种方式中,主处理器的输入数据率最高的是软件式基带处理结构,主处理器式基带结构的输入数据率居中,独立式基带结构的输入数据率最低。所以针对低功耗的设计方案,独立式的方案最优。独立式基带结构的导航芯片适合集成到手机中,手机的主处理器可以作为外接处理器使用。最重要的是独立式的基带结构的功耗很低,适用于手持设备中。
基于基带处理器芯片的灵活性和低功耗,本文提出了在独立式结构的基础上,采用软硬件结合的方法来实现卫星信号的捕获、跟踪以及导航结算。软件不能实时处理或者使用软件性能达不到要求的部分用相应的硬件完成,尽可能做到硬件逻辑电路实施高速且简单的处理。
图2 独立式接收机基带处理器的模块划分
在独立式结构接收机的基础上,改进的接收机的模块划分如图2所示,采用基于ARM Cortex-M3的SoC硬件平台。整个基带处理器主要包括快速捕获模块、相关器通道以及运行环路控制和导航算法的Cortex-M3。整个平台采用了寄存器控制的工作方式,对于软件控制,只需要配置和读取相应寄存器就能实现对硬件的控制。
如图2所示,环路控制逻辑和电文处理都是在处理器中完成的,所以选择了性能好、功耗低、中断响应速度快的Cortex-M3处理器。ARM Cortex-M3是基于ARMv7架构的32位处理器,集成了CM3Core的中心处理器内核和先进的系统外设,实现了内置的中断控制。它具有出色的计算性能和对事件的卓越系统响应能力,同时可以应对低动态和静态功率限制的挑战[6]。ARM Cortex-M3具有以下优势:(1)三级流水线和分支预测功能,提高处理器的指令执行速度。(2)采用哈佛结构,独立的指令总线和数据总线,可以同时进行取指和数据读写操作,从而提高了处理器的运行性能。(3)内置嵌套向量中断控制器(NVIC),其中断延迟只有12个时钟周期(ARM7需要24~42个周期)。采用尾链技术,使得背靠背中断的响应只需要6个时钟周期。(4)内核支持低功耗模式,支持3种功耗管理模式:通过一条指令立即睡眠;异常或中断退出时睡眠;深度睡眠。这使整个芯片功耗控制更加有效。
快速捕获模块由混频器、匹配滤波器、积分器和峰值比较器依次连接而成。快速捕获模块采用大规模捕获引擎(SUPASE)获得导航信号的初步码相位和频率信息。SUPASE具有二维并行搜索能力,可以同时搜索2 046个码相位以及最多15个多普勒频率,并且可以根据系统存储器的容量来配置搜索并行度。SUPASE支持多种卫星信号,支持弱信号的捕获,并且具有强信号扫描能力。只需采用1 ms的相干积分和1次非相干积分,而不需要存储器,就可以快速搜索强信号。SUPASE具有智能检测功能,SUPASE能够定时检测信号峰值,并自动提前完成当前捕获。
相关器引擎包含32个独立的相关器通道,每个通道包括载波 NCO、码 NCO、多功能扩频码产生器、数字混频器以及相关单元。不同相关单元的码相位间隔可以通过配置寄存器来实现。通过配置多功能扩频码产生器,每个相关器通道可以独立或者同时接收各种卫星信号[7]。
如图3所示,相关器单通道包含以下模块:(1)载波NCO模块,实现不同卫星导航系统中的载频波。(2)载波剥离模块,对数字中频信号进行载波剥离,将其变频到基带。(3)码NCO模块,是实现不同卫星导航系统的伪码时钟。(4)码解扩模块,基带IQ数据进入码解扩模块后剥离伪随机码,得到单载波信号。(5)累加器模块,码剥离后的单载波信号有 3路:超前(E)、即时(P)和滞后(L),分别对3路信号进行累加。(6)本地伪码产生器模块,根据不同卫星导航系统伪码特性,与处理器配合生成本地伪码。
除了上述的模块之外,RTC提供时间基准修正是通过处理器采用时间基准模块记录的快速捕获模块与相关器时钟之间的偏差来修正快速捕获模块输出的码相位,将该码相位信息传送给相关器通道,使快速捕获模块和相关器通道达到同步。
导航基带处理器通过多个模块协同工作来降低功耗。导航基带处理器模块通过处理射频前端输出数字中频信号;对输入的数字中频信号进行大规模并行捕获,获得导航信号初步的相位和频率信息,送给相关器;相关器完成相应相位和频点的去载波相关,然后将数据进行累加,并存储在寄存器中。微处理器对快速捕获模块和多通道相关器进行流水线调度,同时分配下一个快速捕获模块的卫星信号,并对处理器对相关器通道给出的数据进行快速检测算法处理,最终实现对导航信号快速、准确的捕获,高效协调利用相关器通道,达到节省电路资源和降低系统功耗的目的。
图3 相关器单通道结构图
卫星导航信号快速捕获系统在微处理器的控制下,快速捕获模块和相关器模块按照如图4所示的主流程采用流水线方式进行系统工作。该流程主要涉及快速捕获算法模块的控制和运行以及相关器模块通道的控制和通道处理。
快速捕获模块在微处理器的控制下快速开启、连续工作,相关器多个通道在微处理器的控制下动态配置,保证快速捕获模块运行得到的若干峰值对应的码相位值和频点信息快速地配置到一个相关器通道,连续不断完成相干处理和非相干处理,并将闲置通道关闭,既能快速、准确捕获GPS卫星信号,又能高效协调复用[8]相关器模块的通道,达到节省电路资源和降低系统功耗的目的。
在捕获到足够的卫星并定位后,处理器关闭捕获引擎。处理器在解算完成后,自动进入休眠模式。
对基带处理器的功耗测试,其目标是测量其工作中的电流,主要包括PLL的工作电流、基带处理器中各个模块的电流、I/O模块的电流以及处理器其他外设的电流。除此之外,基带处理器在休眠模式和待机模式下功耗也很低。各个模式和各个模块的电流如图5所示。
基带在睡眠模式下处理器不工作,只有外设模块运行,可以通过中断来唤醒。待机模式下,处理器和外设模块都不工作,只能通过RTC中断和外部中断唤醒。
图4 导航信号快速捕获方法的流程图
图5 基带处理器测试结果
本文将软件接收机理念应用到硬件接收机中,通过存储本地伪码扩展相关通道,基于SoC可编程系统扩展环路控制及导航电文等处理,通过SoC系统分析外部各项控制指令,实现快速、实时的控制,具有灵活性高、功耗低的特点。该方案已成功应用到量产的导航芯片上,证明了该设计方案的可靠性和实用性。
参考文献
[1]郭炜,魏继曾,郭筝,等.SOC设计方法与实现(第二版)[M].北京:电子工业出版社,2011.
[2]KEATING M,FLYRM D,AITKEN R,et al.Low power methodology manual[M].Springer,2007.
[3]TSUI J B.Fundamentals of global positioning system receivers:a software approach[M].New York:Wiley,2000.
[4]许诺.GPS接收机协处理器芯片设计[D].北京:中国科学院研究生院,2008.
[5]巴晓辉.GPS基带接收机算法及其SoC芯片实现研究[D].北京:中国科学院研究生院,2007.
[6]YIU J.The definitive guide to the ARM Cortex-M3[M].[S.L]:Newnes,2009.
[7]谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[8]朱亮,陆明泉,冯振明.北斗系统 B1频段导航信号的多路复用策略研究[J].电子技术应用,2012,38(7):91-94.