CN102788983A - Gps和glonass多信道并行信号追踪方法及相关器 - Google Patents
Gps和glonass多信道并行信号追踪方法及相关器 Download PDFInfo
- Publication number
- CN102788983A CN102788983A CN2010101881889A CN201010188188A CN102788983A CN 102788983 A CN102788983 A CN 102788983A CN 2010101881889 A CN2010101881889 A CN 2010101881889A CN 201010188188 A CN201010188188 A CN 201010188188A CN 102788983 A CN102788983 A CN 102788983A
- Authority
- CN
- China
- Prior art keywords
- register
- signal
- chx
- data
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
一种GPS和GLONASS多信道并行信号追踪方法及相关器,包括多信道相关器,该多信道相关器包括时钟发生器、时间基发生器、寄存器、地址解码器、总线界面、多个追踪模块,其中多个追踪模块经总线并联,并联后的多个追踪模块分别连接时钟发生器、时间基发生器、寄存器,并经总线界面连接地址解码器。
Description
技术领域
本发明涉及卫星信号追踪系统,主要是指一种GPS和GLONASS多信道并行信号追踪方法及相关器。
背景技术
已知GPS采用码分多址信号,GLONASS采用平分多址信号。传统的卫星信号追踪系统只能接收GPS或GLONASS信号,不能同时接收GPS和GLONASS信号。
发明内容
本发明的目的就是提供一种GPS和GLONASS多信道并行信号追踪方法及相关器,通过天线兼容、解码、载波分离混频、编程控制信道,实现了一台接收机可同时接收GPS和GLONASS多信道信号,较好地克服了现有技术存在的不足。
实现本发明的方法是:捕获和追踪卫星信号包括如下步骤:
对CHx_SATCNTL寄存器编程以选择想要的GPS黄金码(RPN编号)或者GLONASS码,同时也要为相关器的追踪臂选择编码类型,一般在捕获模式,把追踪臂定在”Dithering”模式(在”Early”和”Late”模式不停切换)立即在两个相位展开搜索,然后一旦找到卫星就切换至追踪模式;
对CHx_SIGSEL寄存器编程来为相关器选择输入信号和为窄带转换器(如果是GLONASS)选择中心频率;
对CHx_CARR_INCR_LO寄存器编程编程到这个寄存器的数值是用来为12信道的相关器中的混合操作选择本地振荡器的频率,来把输入的2位元数字化信号从射频前端降频到基带,要被编程的数值等于本地振荡器的标称频率加上多普勒位移的补偿估计值,再加上用户时钟频率漂移的补偿估计值;
对CHx_CODE_INCR_LO寄存器编程编程到这个寄存器的数值是C/A编码标称码率(2.046MHz或者1.022MHz)的两倍,如果需要,再加上多普勒位移和用户时钟频率的小量补偿;
解除追踪信道的重置借助对RESET_CONTROL寄存器编程写入合适的数值。这个操作会启动相关进程;
获取累加数据数据来自对累加数据寄存器的读取,对同一追踪信道的几次连续的读取可以相加以增加相关积分的周期;
确定GNSS信号是否已经被找到是通过把相关积分结果和一个阈值相比较,如果确定信号找到那就跳转到信号拉进算法。要注意的是同相的信号和垂直相的信号的累加数据都要被考虑,因为在这个时候本地载波数字控制振荡器还不一定和输入GNSS信号同相;
如果GNSS信号没有被找到就需要重新编程以改变载波数字控制振荡器,编码数字控制振荡器频率或者黄金代码来重新尝试。典型的做法是先保持两个数字控制振荡器的频率不变,拨动黄金码的相位直到2046或者1022个可能的位置都被覆盖到,如果信号没找到,那就少量地改变载波数字控制振荡器的频率然后再对黄金码的相位进行扫描,黄金码相位的拨动是通过对CHx_CODE_SLEW寄存器的编程实现的;
一旦GNSS信号被找到编码相位对齐,载波相位对齐以及多普勒和用户始终偏差补偿都还很粗糙,编码相位对齐精度之能在半个码位,载波数字控制振荡器信号和输入信号并不同相,而频率的误差也可以达到连续尝试时的步进值。
实现本发明的相关器是:包括多信道相关器,该多信道相关器包括时钟发生器、时间基发生器、寄存器、地址解码器、总线界面、多个追踪模块,其中多个追踪模块经总线并联,并联后的多个追踪模块分别连接时钟发生器、时间基发生器、寄存器,并经总线界面连接地址解码器。
还包括:
所述追踪模块包括载波数字控制振荡器、编码数字控制振荡器、载波循环计数器、C/A编码发生器、信号源选择器、载波混合器、编码混合器、累加和丢弃、编码相位计数器、编码拨动计数器、历元计数器,其中
所述寄存器包括控制寄存器、状态寄存器、累加器数据寄存器、测量数据寄存器。
本发明具有的有益效果:采用兼容的天线、相对独立的信道、不同的解码方式,及通过编程控制信道接收信号,实现了一台接收机可同时接收GPS和GLONASS多信道信号。
附图说明
图1是本发明的整合载波相位图,展示了积分载波相位等式是如何被推到出来的。
其中:1.Reading at TICo(在TICo时刻读取):CHx_CARR_DCO_PHASE0=PH0
2Reading at TICo(在TICo时刻读取): CHx_CARR_DCO_PHASE1=PH1
CHx_CARR_CYCLE1=K1+1
3.Reading at TICo(在TICo时刻读取): CHx_CARR_DCO_PHASE2=PH2
CHx_CARR_CYCLE2=K2+1
ΔY1=2πK1+(2π-PH0)+PH1
=2π(K1+1)-PH0+PH1
=2π(CHX_CARR_CYCLE1-CHX_CARR_DCO_PHASE0/1204+
CHX_CARR_DCO_PHASE1/1024);
NOTE:The carrier cycle counter counter value is stored at every TIC and the counter is reset
(注意:载波周期计数器的数字在每个TIC时刻被存储,同时计数器复位)图2是本发明的TAME标记发生器的结构图。
其中:40Mhz MASTER CLOCK(40Mhz主时钟);
20-bit counter(20-位计数器);
CNTL(控制);
CONTROL LOGIC(控制逻辑);
21-BIT PROGRAMMABLE DOWN(21-位可编程倒计时);
MARK FBx(FBx标记);
1SEC.TIME MARK(1秒时刻标记);
EXTERNAL LINE DRIVERS(外部线路驱动);
图3是本发明的TAME标记计时的结构图。
其中:NAV SOLUTION COMPUTATION DELAY(导航结果计算延迟);
TIME BETWEEN TICs IS CONSTANT(TIC时刻之间的时间间隔是常量);
OUTPUT UTC TIME MARK(输出世界时标记);
图4是本发明的更新模式下清空时序。
其中:1023CHIPS(1023位);
DUMP(清空);
C/A CODE CHIP NO(C/A编码位编号);
T1:Load 4into CHx_SLEW register=2*5chip delay(T1:向CHx_SLEW写入5=2*5位延迟);
图5是本发明的相关器结构图。
图6是本发明的原理图。
中英文对照:CLOCK GENERATOR(时钟发生器)、CONTROL REGISTER(控制寄存器)、ADDRESS DECODER(地址解码器)、BUS INTERFACE总线接口、STATUS REGISTERS状态寄存器、TIME BASE GENERATOR时基发生器、TRACKING MODULE CHANNEL1跟踪模块通道1、REGISTER SELECTS(寄存器选择信号)、32-BIT BUS32(位总线信号)、CONTROL(控制信号)、MULTIPHASE CLOCKS(多相位时钟信号)、SYSTEM STATUS BITS系统状态位信号;信号:其余在英文缩写后加上“信号”两字即可。
图7是本发明的追踪模块示意图。
其中:ADC(数模转换);
MUX(多路复选器);
SIG MAG(信号强度);
TEST(测试);
NA PROW BAND CONVERTER(导航可编程基带整流器);
SELECT SOURCE&SELCET MODE(选择信号源&选择模式);
SOURCE SELECTOR(信号源选择);
CARRIER DCO(载波DCO);
CARRIER CYCLE COUNTER(载波周期计数器);
32-BIT ACCUMULATE&DUMP Q_TARCKING(32-位累加&清空Q_追踪);
32-BIT ACCUMULATE&DUMP Q_TARCKING(32-位累加&清空Q_提示);
CODE SLEW(编码位滑动);
C/A,L2,GLO CODE GENERATOR(C/A,L2,GLO编码发生器);
CODE PHASE COUNTER(编码相位计数器);
CODE DCO(编码DCO);
EPOCH COUNTER(历元计数器);
32-BITACCUMULATE&DUMP I_TARCKING(32-位累加&清空I_追踪);
32-BITACCUMULATE&DUMP I_TARCKING(32-位累加&清空I_提示);
IN and OUTDATABUSes(输入输出总线);
图8是本发明的真实时间时钟时序示意图。
其中:RTC TIME READ HERE BYPROCESSOR(真实时间在此被处理器读取);POSITION FIX COMPUTED ON THIS TIC.TIC IS GNSS TIME TRAGGED(位置信息在这个TIC计算出来。TIC是GNSS时间触发的);
NOTES:(注意):
1D=delay between RTC timebase and system time ta(1D=真实时间时钟的时间基和系统时间ta之间的延迟);
2consecutive measurement of D give an indication of RTC drift(2连续车辆的D给出真实时间时钟漂移的提示);
3Resolution of D is a function of clock to RTC_DELAY counter(3D的分辨率是RTC_DELAY计数器时钟的方程);
图9是本发明的微小误差时序示意图。
其中:ERROR TERMS(误差术语);
in tS1:equal to error terms of GPS time computation while getting the NAV solution(对于tS1:相当于取得导航结果时的GPS时间计算值);
in D1:Can be too long or too short by r,where r=RTC_DELAY counter clock period(对于D1:用r有可能会太长或者太短,在这里,r=RTC_DELAY计数器时钟周期);
inD2:same asD1(对于D2:和D1相同);
in DRTC:Residual error in RTC drift estimate=effective RTCdrift-estimated RTCdrift(对于DRTC:真实时间时钟漂移估算的残余误差=有效的真实时间时钟漂移-估算的真实时间时钟漂移);
图10是本发明的真实时间时钟示意图。
其中:REALTIME CLOCK(真实时间时钟);
MICROPROCESSOR SYSTEM(微处理器系统);
ENABLE(激活)
RTC DELAY(真实时间时钟演示);
NOTE:(注意):
1latch counter value saved on TIC(1将TIC时刻储存的计数器数字锁存);
2regulator read with measurement data(2校准器和测量数据一起读取);
图11是本发明的系统结构框图。
图12是本发明的信号连接图。
图13是本发明的存储器1框图。
图14是本发明的存储器2框图。
图15是本发明的存储器3框图。
图16是本发明的存储器4框图。
图17是本发明的内部一层示意图。
图18是本发明的内部一层元件结构示意图。
图19是本发明的顶层封装管脚示意图。
图20是本发明的内部二层元件结构示意图。
图21是本发明的内部二层示意图。
图22是本发明的搜索引擎芯片内部原理图。
具体实施方式
下面结合附图对本发明作进一步说明:
本发明包括方法和相关器两部分。
方法部分:
因为存在很多种不同的GNSS接收机,所以进行相关操作也要有不同的方式。为了适应这一点,也是为了容许循环参数的动态调整,相关器的软件被设计为适应尽可能多的功能。这样的适应性意味着器件无法脱离一个紧密连接的微处理器使用,但是因为总是需要微处理器把相关器的输出转换成有用的信息,所以这并不是一个很大的限制。
和相关器相关联的软件可以被分成两大独立的模块:
1.捕获和追踪卫星信号以给出伪距。
2.处理伪距以得出导航信息然后封装为适合用户的格式。
为了能够得到导航信息,所有的伪距的时钟误差必须一致,以便在油足够卫星(如果高度已知那就是三颗,否则是四颗)被追踪的情况下能够使用迭代的方法被剔除来得到真正的距离。这个对时钟误差匹配的高精度要求解释了12个信道的相关器的复杂的同步处理的必要性。
以下的内容至和软件的信号处理方面油关系,以捕获和追踪最多12颗卫星信号以获取伪距和导航信息。导航软件的操作并不取决与相关器的具体信息,所以将不会被包含在这份数据表中。
一对片上中断时间基信号被提供用来在特定的时间段执行微处理器和12信道相关器之间的数据传输协议;这些信号是:
1.INTOUT-用来中断微处理器以检索累加数据(长达1.023ms)-中断时间一般小于1ms。
2.MEAS_INT-用来中断微处理器以检索每个TIC时刻的测量数据(大约100ms的时间)。
这些中断信号可以被用来通过中断服务程序达到微处理器的立即响应。否则就需要基于软件的投票机制了;由应用程序作出选择。如果使用INTOUT中断或者可能加上投票机制,数据传输速率大约是每个信道的相关结果速率的两倍。所以很多传输可能都不会给出新数据。所以在传输之前先检查寄存器状态来查验新数据是否已经可用,这样可以减少对总线的无效使用
必须注意的是,每个信道的相关处理计时都是锁定在该信道的输入信号上,而不是互相锁定,或者和 微处理器中断锁定,所以新数据的生成是异步的。但是每个信道测量数的采样时刻都是一样的,以给出一致的导航信息。
为了尽快地得到对卫星的捕获,从上次校正得到的数据必须保存下来作为下次校正的起点。使用芯片上的嵌入式实时时钟给下次校正一个好的GNSS时间估计也是有用的;导航信息可以被用来测量时钟漂移和计算时钟校正以克服时钟老化。通过用户的位置(或者足够精确的估计值)加上卫星年历(Almanac)以及正确的时间就可以知道应该搜索哪些卫星。这些可以用来寻找多普勒效应的估计值,同时上次的时钟误差是最好的可用的本次时钟误差的估计值。如果这些信息都没有那导航接收机的搜索范围就很大,会极大地增加卫星捕获的时间。卫星时钟校正信息和卫星星历表是取得导航信息所必须的,所以如果一个最近的设置被保存在存储器里,导航信息的计算就可以在卫星捕获的同时就开始了,而不是必须等待卫星重新发送导航信息(18-36秒)。
60信道相关器包含了四种不同的寄存器:
■控制寄存器(Control Registers),用来编制器件的功能。
■状态寄存器(Status Registers),用来只是器件内的进程的状态。
■累加器数据寄存器(Accumulated Data Registers),每毫秒提供一次C/A编码的累加结果。这是捕获和追踪卫星信号的原始数据。
■测量数据寄存器(Measurement Data Registers),锁存载波数字控制振荡器相位,载波周期计数,编码数字控制振荡器相位,一毫秒内的历元数,还有每9.09或者100毫秒间隔的以20-毫秒为单位的历元数。这是用于计算伪距的原始数据。
■寄存器详细描述
ZVM2060IP寄存器列表
表4.寄存器列表
表5.
ACCUM+3 CODE_DCO_PRESET_PHASE Q_PROMPT
表6.追踪信道寄存器
注意:
CODE_PHASE_COUNTER和CARRIER_CYCLE_CONTROL寄存器只能在测试模式在通过把TEST CONTROL寄存器的第三位置高而选中之后才能被写入。
x含义0对应1..信道,1对应13..24信道,2对应25..36信道,3对应37..48信道,4对应49..60信道。
ZVM2060IP寄存器列表
相关器寄存器
相关寄存器的地址可以通过一个基础地址和特定的寄存器增量来计算。
相关器每个信道的CNTL和ACCUM寄存器单元的基础地址显示在表4中,增量在表6中给出。
比如:
CH3_CODE_DCO_INCR=18H+06H=1EH.
CH23_CODE_DCO_INCR=118H+06H=11EH.
在ACCUM和CNTL部分都有一些地址在CHx的地方被标记了ALL或者MULTI。一次操作写入这些地址就会写入所有一组的12个信道或者一组通过MULTI_CHANNEL_SELECT选择的信道所以可以用来快速初始化系统或者使用很少的总线加载下个搜设置。这是一个只写操作所以相应的CHx读取操做在标记了ALL或者MULTI的地址是无效的。要同时写入所有的芯片信道要使用WHOOLALL控制地址。
可以看到CNTL中的地址被用来在写模式下控制器件但是在读模式给出测量数据数据被写入32位接口的输入缓冲器然后会在接下来的7(或者6)相位时钟的整个周期被传输到它的目标寄存器。所以写入周期应该至少有300ns。
相关器寄存器分配如下,有两个只写寄存器没有任何数据位,它们是:
1.对CHx_ACCUM_RESET寄存器的写操作(和写入的数据是什么无关)会重置该信道的ACCUM_STATUS_A,ACCUM_STATUS_B,and ACCUM_STATUS_C寄存器。
2.对STATUS寄存器的写操作0会把所有信道的各种状态标记的状态值锁存到ACCUM_STATUS_A,ACCUM_STATUS_B and ACCUM_STATUS_C寄存器中。
这就允许了追踪机制是轮询为基础的,而不是由中断驱动的。寄存器是以字母顺序而不是以地址顺序排列的,以便各部分更容易地参考。除非另外声明否则LSB是0位而MSB是31位或者锁存在数据寄存器的最高位。注意大多数寄存器不同时具备读和写的功能,所以很多地址被不同功能的只读或者只写寄存器共享。
ACCUM_STATUS_A(读取地址)
ACCUM_STATUS_A是一个包含了十二个状态位状态
表7
的寄存器,它在每个INTOUT的有效边被采样和锁存。它们也可以通过对STATUS寄存器执行一个写操作在要求下被采样和锁存(这只在通过设置SYSTEM_SETUP寄存器中NTERRUPT_ENABLE位使中断被终止的情况下才是安全的)。微处理器必须在该信道的下个DUMP操作前响应每个INTOUT,然后读取信道寄存器。
The ACCUM_INT bit在每个INTOUT中断被置高,它通过读取ACCUM_STATUS_A寄存器被重置。这个状态位是通过硬件主重置而不是软件重置被重置的(MSB)。
The CHx_NEW_ACCUM_DATA状态位表明在该信道一个DUMP操作已经发生,而且新的累加数据已经可以读取了。
每一位都是在相关的CHx_Q_PROMPT寄存器的读取操作或者CHx_ACCUM_RESET寄存器的写入操作的下降沿被清除的。注意该寄存器的信道特定位在INTOUT或者STATUS寄存器写入操作的有效边之前是不会显示它们的新数值的。但是禁用一个信道会马上清除这些状态位。
The ACCUM_INT bit在每个INTOUT中断被置高,它通过读取ACCUM_STATUS_A寄存器被重置。这个状态位是通过硬件主重置而不是软件重置被重置的(MSB)。
The CHx_NEW_ACCUM_DATA状态位表明在该信道一个DUMP操作已经发生,而且新的累加数据已经可以读取了。
每一位都是在相关的CHx_Q_PROMPT寄存器的读取操作或者CHx_ACCUM_RESET寄存器的写入操作的下降沿被清除的。注意该寄存器的信道特定位在INTOUT或者STATUS寄存器写入操作的有效边之前是不会显示它们的新数值的。但是禁用一个信道会马上清除这些状态位。
ACCUM_STATUS_B(读取地址)
表8
ACCUM_STATUS_B的低12位在每个INTOUT信号的有效边被采样和锁存。它们可以通过对STATUS寄存器执行一个写操作来在要求下被采样和锁存(和ACCUM_STATUS_A类似)。
The TIC bit在每个TIC被置高而且通过读取ACCUM_STATUS_B寄存器被清空。它存在的意义是告诉微处理器新的测量数据已经就位了。它通过一个硬件主重置(RESET置低)而不是一个软 件重置(RESET_CONTROL中的MRB)被重置。如果TIC周期大于50ms,那么在被告知中断被启用的情况下,MEAS_INT位在每个TIC和每个TIC之前的50ms被置高,同时也通过读取这个寄存器被清空。这个状态位可以被微处理器用作一个标记,来个软件模块交换计时。它通过一个硬件主重置(RESET置低)而不是一个软件重置被重置。CHx_MISSED_ACCUM状态位(置高时)表示在前一个数据被读取前有一个因为CHx中的DUMP操作被遗漏的累加数据。这个状态位直到CHx_ACCUM_RESET被写入后才被锁存。软件必须考虑到会有数据因为读取过程太慢而遗漏数据的情况,比如不考虑累加数据读取的导航信息数据位传输的检验。一旦太多的数据被遗漏,那系统的信号信噪比会降低。这个位元的主要的存在目的是一个作为追踪惯例工作质量的校验-一旦整个设计完成,这个位元不应该被设置。
注意该寄存器的信道特定位在INTOUT或者STATUS寄存器写入操作的有效边之前是不会显示它们的新数值的。但是禁用一个信道会马上清除这些状态位。
相关器追踪信道的硬件允许有通过CHx_CARRIER_CYCLE_HIGH和_LOW以及CHx_CARRIER_DCO_PHASE寄存器的积分载波相位的测量,这个测量数据是每个TIC时刻采样的测量数据的一部分。CHx_CARRIER_CYCLE_HIGH和_LOW寄存器包含了载波数字控制振荡器正向零相干的20位数值(_HIGH4位,_LOW16位)。
周期小数可以从CHx_Carrier_DCO_Phase寄存器被读取。
在CHx_CARRIER_CYCLE计数器中,一个TIC产生两个连续的操作。首先它把4位周期计数器的较高有效位锁存到CHx_CARRIER_CYCLE_HIGH中,把16位较低有效位锁存到CHx_CARRIER_CYCLE_LOW中。然后它再重置周期计数器。
每次TIC之后,只要载波数字控制振荡器累加器生成一个作为载波周期完成的溢出,周期计数器就加一。
没有多普勒和振荡器漂移补偿的载波数字控制振荡器的标称频率是1·405396825MH,所以在100ms内会有大约140540个周期。
几乎在所有的应用下从一个TIC间隔到另外一个之间的载波数字控制振荡器周期数的差别不大,所以可以预测这个值的最高有效位,这样就只用读取CHx_CARRIER_CYCLE_LOW寄存器。CHx_CARRIER_CYCLE_HIGH和_LOW寄存器中的内容没有被写覆盖保护机制所保护所以必须在下个TIC之前被读取。
关于载波周期计数器更多的信息请参照第七页的追踪模块章节。
CHx_CARRIER_DCO_INCR,
MULTI_CARRIER_DCO_INCR,
ALL_CARRIER_DCO_INCR
(写入地址)
Bits 25to 0:载波数字控制振荡器(相位增量)。一个26位的增量数值对一个27位的累加器数字控制振荡器就足够了,因为最高有效位的增量总是零。
INCR寄存器的最低有效位表示了如下给出的步进:
最小步进频率=(40MHz÷7)÷227=42·57475mHz
输出频率=CHx_CARRIER_DCO_INCR*(最小步进频率).
如果是GP2015/GP2010类型的前端,在考虑多普勒偏移或者晶振误差之前的中频标称值是1·405396826MHz。通过对CHx_CARRIER_DCO_INCR寄存器写入01F7B1B9H就可以生成一个1·405396845MHz的本地振荡器频率。
ACCUM_STATUS_C(读取地址)
表16
ACCUM_STATUS_Cbits在每个INTOUT信号的有效边被采样和锁存。它们可以通过对STATUS寄存器执行一个写操作来在要求下被采样和锁存(和ACCUM_STATUS_A类似)。
The CHx_NARROW_WIDE status bit表明CHx频道的累加数据的编码类型。高位表示NARROW类的编码而地位表示WIDE类型的编码。每一位都在DUMP是被确定,把该信道的CHx_NEW_ACCUM_DATA位置高。其他模式下该位无用。
注意该寄存器的信道特定位在INTOUT或者STATUS寄存器写入操作的有效边之前是不会显示它们的新数值的。但是禁用一个信道会马上清除这些状态位。
CHx_ACCUM_RESET(写入地址)
Bits 15to 0:未使用。
提供了只写地址以允许和给定信道或者所有信道相关的状态位ACCUM_STATUS_A,ACCUM_STATUS_B,and ACCUM_STATUS_C的重置。当这些地址被写入是,数据是不相干的。
CHx_CARRIER_CYCLE_COUNTER,
MULTI_CARRIER_CYCLE_COUNTER,
ALL_CARRIER_CYCLE_COUNTER
(写入地址)
对这些寄存器的写操作只在测试模式下有效(TEST_CONTROL寄存器的第三位被置高)。总线的数值被载入CHx_CARRIER_CYCLE_COUNTER寄存器的低16位,同时该寄存器的高4位被置零。
CHx_CARRIER_CYCLE_HIGH,
CHx_CARRIER_CYCLE_LOW
(读取地址)
_HIGH bits 15to 4:未使用-读取时置低.
_HIGH bits 3to 0:载波周期计数位19-16.
_LOW bits 15to 0:载波周期计数位15-0.
相关器追踪信道的硬件允许有通过CHx_CARRIER_CYCLE_HIGH和_LOW以及CHx_CARRIER_DCO_PHASE寄存器的积分载波相位的测量,这个测量数据是每个TIC时刻采样的测量数据的一部分。CHx_CARRIER_CYCLE_HIGH和_LOW寄存器包含了载波数字控制振荡器正向零相干的20位数值(_HIGH4位,_LOW16位)。
周期小数可以从CHx_Carrier_DCO_Phase寄存器被读取。
在CHx_CARRIER_CYCLE计数器中,一个TIC产生两个连续的操作。首先它把4位周期计数器的较高有效位锁存到CHx_CARRIER_CYCLE_HIGH中,把16位较低有效位锁存到CHx_CARRIER_CYCLE_LOW中。然后它再重置周期计数器。
每次TIC之后,只要载波数字控制振荡器累加器生成一个作为载波周期完成的溢出,周期计数器就加一。
没有多普勒和振荡器漂移补偿的载波数字控制振荡器的标称频率是1·405396825MH,所以在100ms内会有大约140540个周期。 几乎在所有的应用下从一个TIC间隔到另外一个之间的载波数字控制振荡器周期数的差别不大,所以可以预测这个值的最高有效位,这样就只用读取CHx_CARRIER_CYCLE_LOW寄存器。CHx_CARRIER_CYCLE_HIGH和_LOW寄存器中的内容没有被写覆盖保护机制所保护所以必须在下个TIC之前被读取。
关于载波周期计数器更多的信息请参照第七页的追踪模块章节。
CHx_CARRIER_DCO_INCR,
MULTI_CARRIER_DCO_INCR,
ALL_CARRIER_DCO_INCR
(写入地址)
Bits 25to 0:载波数字控制振荡器(相位增量)。一个26位的增量数值对一个27位的累加器数字控制振荡器就足够了,因为最高有效位的增量总是零。
INCR寄存器的最低有效位表示了如下给出的步进:
最小步进频率=(40MHz÷7)÷227=42·57475mHz
输出频率=CHx_CARRIER_DCO_INCR*(最小步进频率).
如果是GP2015/GP2010类型的前端,在考虑多普勒偏移或者晶振误差之前的中频标称值是1·405396826MHz。通过对CHx_CARRIER_DCO_INCR寄存器写入01F7B1B9H就可以生成一个1·405396845MHz的本地振荡器频率。
CHx_CARRIER_DCO_PHASE(读取地址)
Bits 31to 10:未使用-读取时置低.
Bits 9to 0:在最后的TIC采样的CHx_CARRIER_DCO_PHAS寄存器的较高有效位(26到17)。最低有效位的权重是一个载波数字控制振荡器周一的2/1024弧度。这些位元组成一个0到1023无符号数。CHx_CARRIER_DCO_PHASE提供子周期相位测量信息,和
CHx_CARRIER_CYCLE_HIGH和_LOW提供的信息互补。
寄存器数值在每个TIC被锁存,而且没有任何写覆盖保护机制。
CHx_CODE_DCO_INCR_LOW,
MULTI_CODE_DCO_INCR_LOW,
ALL_CODE_DCO_INCR_LOW
(Write Address)
Bits 31to 25:未使用。
Bits 24to 0:编码数字控制振荡器相位增量。
一个25位的增量数值对一个26位的累加器数字控制振荡器就足够了,因为对最高有效位的增量总是0。
INCR寄存器的最低有效位表示了如下给出的步进step:
Min.step frequency
=(40MHz÷7)÷226=85·14949mHz
Output frequency
=CHx_CARRIER_DCO_INCR*(最小步进频率).
注意:编码数字控制振荡器驱动编码发生器以提供半个码位时间的步进量,所以必须被编程以使需要的码率加倍。这意味着码率的分辨率是42·57475mHz
在考虑多普勒偏移或者晶振误差之前,GPS的编码标称频率是1.023000000MHz。通过对CHx_CODE_DCO_INCR寄存器写入016EA4A8H就可以生成一个1.022999968MHz的码率。CHx_CODE_DCO_PHASE(读取地址)
Bits 15to 10:未使用(读取时置低)。
Bits 9to 0:CHx_CODE_DCO_PHASE:包含了编码数字控制振荡器相位累加器中在每个TIC时间采样的十位较高有效位(25to 16)。这是一个0到1023的无符号整数。最低有效位的权重是2π/1024弧度。2π是半个码位的长度,所以伪距分辨率是1/2048个码位(相当于0.15m或者0.5ns)。
CHx_CODE_DCO_PHAS中的内容没有任何写覆盖保护机制。
CHx_CODE_DCO_PRESET_PHASE,
MULTI_CODE_DCO_PRESET_PHASE,
ALL_CODE_DCO_PRESET_PHASE
(写入地址)
Bits 31到8:未使用
Bits 7到0:编码数字控制振荡器相位的较高有效位(25到18),在预置模式中会在下个TIC时间被载入。
在预置模式中,CHx_CODE_DCO_PRESET_PHASE寄存器中的八位用零填满低位,然后在下个TIC被传送到编码数字控制振荡器累加器中。之前的累加器相位完全被改写。PRESET_PHASE寄存器是个只写寄存器,它可以在预置模式和更新模式的任意时刻被写入,但是只在进入预置模式之后才有效。PRESET相位的最低有效位的权重是半个码位周期的2π/256弧度。在更新模式中,这个寄存器除了为预置模式做准备意外,没有任何作用。
关于预置模式的更多的内容请参考16页的ZVM2060IP详细操作。
CHx_CODE_PHASE(读取地址)
CHx_CODE_PHASE_COUNTER,
MULTI_6ODE_PHASE_COUNTER,
ALL_CODE_PHASE_COUNTER
(写入地址)
Bits 31to 11:未使用(读取时置低)。
Bits 10to 0:CHx_CODE_PHASE(读)它反映了编码相位计数器(一个在编码发生器时钟驱动下的11位二进制加计数器)的状态,在每个TIC被保存。相位被表示为一些0到2046的半码位位长。读取到2046是非常少见的,只有在TIC获得编码相位的时刻正好处于计数器到达2046之后以及被C/A编码发生器的DUMP信号重置计数器之前。DUMP信号同样增加历元计数器数值,所以相位值2046加上之前的历元值的意义等同于0加上增加的历元值,两个一个都是有效的。如果TIC发生在编码拨动时,读取的数值将会是零,这种情况下该信道的测量数据是没用的。
Bits 10to 0:(写)载入CHx_CODE_PHASE_COUNTER中的11位。这些寄存器只有在测试模式中才可能被写入,激活测试模式是通过把CHx_CODE_PHASE_COUNTER中的TM_TEST位置高。
CHx_CODE_SLEW(读取地址)
CHx_CODE_SLEW_COUNTER,
MULTI_CODE_SLEW_COUNTER,
ALL_CODE_SLEW_COUNTER
(写入地址)
Bits 31to 11:未使用
Bits 10to 0:一个0到2047的无符号整数,博啊是要被拨动的半码位数。在更新模式,拨动在下个DUMP信号之后立即执行,在预置模式要等到下个TIC。因为GPS C/A编码只有2046个半码位,所以编程值2047等译1,但是下个DUMP时间或在1ms之后发生。在预置模式,拨动计时值有TIC可以设置,同时也会重置编码发生器,(不需要DUMP信号)。
在预置模式,必须有一个非零的拨动值被编程。
CHx_CODE_SLEW寄存器可以在任何时刻被写入。如果在更新模式的DUMP之前或者预置模式的TIC之前发生了两次访问写入,那最后一次的数据会在拨动操作中被使用。
如果一个信道不活动,一个非零的拨动数值应该在信道被释放之前被写入CHx_CODE_SLEW寄存器。这个写入操作会在重置释放前立刻生效。
如果TIC事件发生在拨动时或者拨动后一小会,信道将不会被锁定到卫星,所以该信道的测量数据没有用。
读取拨动计数器的功能只是为了硬件或者软件的测试。它只是在读操作发生在真正的拨动操作的 情况下给出一个非零的结果。图4是一个拨动事件的例子:
CHx_EPOCH_CHECK(读取地址)
Bits 31to 14:未使用.
Bits 13to 8:CHx_20MS_EPOCH的瞬时值.
Bits 7to 5:未使用
Bits 4to 0:CHx_1MS_EPOCH的瞬时值
读取这个地址给出CHx_1MS_EPOCH和CHx_20MS_EPOCH计数器的瞬时值。它可以用来校验历元计数器是否被软件正确地初始化了。它的数值不会被锁存,而是在每个DUMP时刻增加。为了保证正确的结果,这个寄存器应该在确保读取周期内没有DUMP的前提下进行读取操作,这是通过把读取操作和NEW_ACCUM_DATA寄存器进行同步来完成的。
这些值的范围和之前在CHx_EPOCH寄存器中看到的是一样的。
CHx_EPOCH(读取地址)
Bits 31..14,7,6and 5:未使用,读取时置低
Bits 13to 8:CHx_20MS_EPOCH在最后一个TIC事件采样的20ms历元计数器数值,范围是0到49。
Bits4to 0:CHx_1MS_EPOCH在最后一个TIC事件采样的1ms历元计数器数值,范围是0到19。
CHx_EPOCH_COUNT_LOAD
MULTI_EPOCH_COUNT_LOAD
ALL_EPOCH_COUNT_LOAD
(Write Address)
Bits 31..14,7,6and 5:未使用
Bits 13to 8:CHx_20MS_EPOCH会被载入20ms历元计数器的数值,数值范围是0到49.
Bits 4to 0:CHx_1MS_EPOCH会被载入1ms历元计数器的数值,数值范围是0到19。这个操作手当前的信道模式影响(预置或者更新)。在更新模式,写入这些寄存器的数据会被立刻传送到1ms和20ms历元计数器。而在预置模式,数据会在下个TIC之后被传送。
很重要的一点是在预置模式的载入序列中要把CHx_EPOCH寄存器的载入放在最后,因为对这个寄存器的写操作的后沿在下个TIC激活这个预置操作。
关于预置模式请参考16页的ZVM2060IP的详细操作。
CHx_1_TRACK,
CHx_Q_TRACK,
CHx_1_PROMPT,
CHx_Q_PROMPT
(读取地址)
Bits 31to 0:累加数据寄存器,用来在每个DUMP存储32位积分和丢弃累加器的结果。包含在寄存器中的数值是二进制补码,范围是-2**31到+(2**31-1)。
这些寄存器是只读的,可以在任意时刻被读取。它们没有任何写覆盖保护机制,所以这些四个寄存器的组必须在一个ACCUM INT之后很快被读取以确保新来的数据不会造成写覆盖。
CHx_1_PROMPT和CHx_Q_PROMPT寄存器包含了来自准时臂的累加数据。CHx_1_TRACK和CHx_Q_TRACK寄存器包含了来自追踪臂的累加数据。
为了准确地追踪卫星,只有伴随CHx_NEW_ACCUM_DATA位置高的数据读取是被允许的。溢出或者下溢的情况是不会发生的。
CHx_SATCNTL,
MULTI_SATCNTL,
ALL_SATCNTL
(写入地址)
表17
CHx_SATCNTL是一个只写寄存器,可以在任意时刻被写入。在更新模式,任何对寄存器内容的修改都会在下个DUMP生效,而在预置模式则是在下个TIC。无论在哪个模式,对每个位元都有效。重要的一点是,在开始预置序列初始化以使信道进入预置模式的时候,这个寄存器要首先被编程,否则其他写操作会进行得太快。
G2_LOAD(9to 0),bits 9to 0:C/A编码选择功能:CHx_SATCNTL寄存器通过把G2寄存器设置到适当的起始模式来对编码发生器编程以生成需要的GPS或者INMARSAT-GIC编码。G2_LOAD可以在任一时刻被编程但是数值值在编码序列重新开始的时候才被使用,更新模式下是下个DUMP,在预置模式下是下个TIC。
要被载入的模式是第二个编码位时刻的寄存器状态。下面的图表显示了选择37个GPS或者8个INMARSAT-GIC之一的可能的PRN(Pseudo Random Noise)模式所要求的数值。在更新模式下,编码发生器产生的C/A编码会在CHx_SATCNTL寄存器写操作之后的DUMP时刻被改变,而且在这个DUMP时刻累加数据会对新编码有效。
如果G2寄存器的所有位都被载入0,那它就不会有输出,G1发生器的编码会显示在输出。这是一个非法的状态,只在芯片测试的时候被使用。
注意:
●_PRN序列33到37是为非卫星使用保留的(比如地面发射器-‘伪卫星’)。
●_C/A编码34和37是一样的.
●_PRN序列120到138是为广域增强系统(WAAS)选定的。
●_PRN序列201到211是为INMARSAT GIC(GPS系统综合频道)选定的。
由于提前-准时-滞后寄存器的初始化,在编码变化或者编码拨动之后所有编码的序列第一位总是以’1’开始。
表18.卫星接收所要求的G2_LOAD寄存器的设置
CODE_OFF/ONB,bit 11:如果是低位,编码正常地输出,但是如果是高位,准时,提前和之后编码被保持高位(编码混合器精确地输出之后的输入),提前-减去-之后编码被保持低位。
PRESET/UPDATEB,bit 12:如果是高位,把信道设置进入预置模式;或者如果是低位,把信道设置进入更新模式。这个位元在预置功能执行后被清除到低位,也就是在历元计数器载入之后的第一个TIC。
TRACK_SEL(1and 0),bits 14and 13:选择编码发生器的追踪臂输出产生的合适的编码,如表19所示:
表19.追踪臂编码选择的TRACK_SEL位设置
所有编码类型的输出都是+1和-1的序列。
GPS_NGLON,bit 15:设置这个位元到低位改变C/A编码发生器模式至GLONASS模式,以产生所有GLONASS卫星使用的511位序列。在一个主重置之后(RESET置低),GPS模式被选中,G2发生器里全部是零,G1编码显示在C/A编码发生器的输出。
CHx_SIG_SEL,
MULTI_SIG_SEL,
ALL_SIG_SEL
(写入地址)
Bit 22to 20:选择模数转换输入搜索4位元-31:28,27:24...
Bit 19:选择模数转换搜索I输入量位元-I或者Q。
Bit 18:选择模数转换搜索Q输入量位元-Q或者I。
Bit 17:倒转I&Q输入最高有效位-I[1]和Q[1]。
Bit 16:把I&Q输入SIG,MAGN转换到。
Bits 15to 14:选择输入信号。参见表20。
Bits 13,12:对于信道1到49未使用,但是对于信道49到60是GPS L2编码发生器控制。
Bit 11:窄带宽带相关器开关。
Bits 10to 8:未使用。
Bit 7to 0:窄带转换器编程的编码。
MULTY_CHANNEL_SELECT
表20
表20a
表22
MULTY_CHANNEL_SELECT
(写入地址)
对于对一颗卫星的并行搜索,比如设置各个载波数字控制振荡器至同样的频率,或者在搜索过程中,用相同的数值调整所有选择的信道(例如编码拨动值来把编码相位一起移动到一个新的搜索范围)等操作可以使用这样的功能。所有的CHx SELECT寄存器都通过一个主重置(软件的或硬件的)来置低。
MEAS_STATUS_A
(写入地址)
CHx_MISSED_MEAS_DATA状态位,置高的时候意味着一个或者更多的测量数据组在上次对这个寄存器读取之后丢失了。它是通过被同一信道的编码相位计数器读取来置高的,前提是编码相位计数器的前一个数值还没有被读取。它是通过来自MEAS_STATUS_A寄存器的读取操作或者禁用信道来完成重置的。
如果这个寄存器总是在编码相位计数器之后被读取,意味着编码相位计数器在上一次被读取之后有测量数据丢失了。CHx_MISSED_MEAS_DATA的所有位都是通过硬件(RESET)或者软件(MRB)被置低。
The MEAS_INT bit在每个TIC和每个TIC之前50ms(如果TIC周期大于50ms)被置高,并且通过对这个寄存器的读取被清空。这个位元被用作微处理器的时间软件模块交换的标志,并且通过硬件主重置(RESET置低)而不是MRB软件重置来重置。
The TIC bit在每个TIC被置高而且通过读取这个寄存器被清空。这个位元的作用是告诉微处理器新的测量数据已经就位了。这个位元通过硬件主重置(RESET置低)而不是MRB软件重置来重置。The RTC_TIC_ACK bit在接收到实时时钟中断和这个中断发生之后的TIC被设置。它通过读取 RTC_DELAY寄存器或者硬件主重置(RESET置低)而不是RESET_CONTROL中的MRB来重置。The MARK_FB_ACK_bit在MARKFB管脚接收到一个TMARK反馈信号或者在TICO信号的选取边被设置。它通过读取TMARK_LOW寄存器或者硬件主重置(RESET置低)而不是RESET_CONTROL中的MRB来重置。
PROG_ACCUM_INT
(写入地址)
Bits 15to 13:未使用.
Bits 12to 0:ACCUM_INT分割比.
PROG_ACCUM_INT寄存器地址和SYSTEM_SETUP寄存器的INTERRUPT_PERIOD位协同合作设置INTOUT输出的周期。INTOUT信号是一个13位的二进制倒数计数器(倒数到零)产生的。
表21
然后它加载一个储存在它的预置寄存器中的预置值并开始重新倒计时。如果预置值是P,计数顺序是P,P-1,P-2,...,1,0,P,P-1。因此,计数器除以P+1就产生一个长度是(P+1)*时钟周期的输出。因为INTOUT计数器是由多相时钟终驱动的,时钟周期是7*时钟周期(标称值是40MHz,25ns)。储存在PRESET寄存器中的数值可以通过两种方法来修改:一个是通过切换SYSTEM_SETUP寄存器中的INTERRUPT_PERIOD位,或者通过写入PROG_ACCUM_INT地址。任意一个操作都会把前一个预置值的内容覆盖掉,两个方法可以单独使用也可以同时使用。
INTERRUPT_PERIOD=low的值也是在一个主重置时-0B45H(505.05microsecond)加载的。INTERRUPT_PERIOD=high的值-1313H(854.7microsecond)。INTOUT计数器可以通过直接写入PROG_ACCUM_INT地址被加载。在这种情况下新的ACCUM_INT周期如下:
INTOUT周期=(PROG_ACCUM_INT 1)x 7/40MHZ
PROG_TIC_HIGH,
PROG_TIC_LOW
(写入地址)
用来设置TIC的周期。TIC是一个21位的二进制倒数计数器产生的。当它数到零时,它会加载它的预置寄存器中的预置值然后开始重新倒数。如果预置值是P,计数顺序是P,P-1,P-2,...,1,0,P,P-1。因此,计数器除以P+1就产生一个长度是(P+1)*时钟周期的输出。因为TIC计数器是由多相位时钟驱动的,时钟周期是7*时钟周期(标称值是40MHz,25ns)。写入PROG_TIC地址可以 修改储存在预置寄存器中的值。这些操作会把之前的预置值写覆盖。
PROG_TIC Bits 20to 19:计数器分割比。
TIC计数器可以通过直接向PROG_TIC地址写入的方式来加载。需要注意的一点是对TIC计数器数据锁存其的数据传输是在多相位时钟的写周期的控制下的,对一只寄存器的写入发生在主内部写操作之后。
使用PROG_TIC写入地址时TIC周期如下:
TIC周期=((PROG_TIC_HIGH x 65536)+PROG_TIC_LOW+1)x 7/40MHZ)
RESET_CONTROL(写入地址)
MRB:如果是低(一个软件重置信号),效用相当于一个硬件重置,但是时钟发生器,时间基发生器,测量数据和外围设备功能,ACCUM_INT,MEAS_INT以及TIC状态位不受影响。MRB应该被置高以允许对所有各种寄存器的访问。MRB被硬件重置置高。
CHx_RSTB:当被设置为低有效,重置位就禁止时钟相位传输到CHx追踪信道,然后重置累加数据标记,编码数字控制振荡器和载波数字控制振荡器累加器,以及I&Q累加器,编码相位计数器。CHx_RSTB并不重置载波周期,编码拨动或者历元计数器。在重置的末尾,信道激活重置编码发生器至之前编程好的起始相位。在对单个卫星信号的的并行搜索算法中,这些都是必须的。这个算法使用很多信道追踪一个卫星,以使搜索从所有信道的一个已知的相对编码相位开始。在重置状态,CHx中所有的控制寄存器都可以入场被编程和读取。为了在几个不同的信道同时重启常规的操作,相应的CHx_RSTB位在相同的写操作过程中应该被置高。所有的CHx_RSTB都通过主重置(硬件的和软件的)被置低,所以对这个寄存器的第0位置低会迫使12到1位都置低,不管他们之前在总线中是什么值。
可以通过在信道不被使用时把CHx_RSTB置低来达到功耗最小化。
STATUS(写入地址)
Bits 31o 0:未使用
对这个地址的写入操作,不管总线中的数据是什么,会所错ACCUM_STATUS_C寄存器中的所有状态位的状态。在读取状态位寄存器之前对STATUS进行写操作可以保证读取的状态值的稳定。锁存在写入操作脉冲下降沿之后300纳秒之内有效。INTOUT信号的有效边传输也会锁存状态位的状态,所以在一个中断处理管理中,不需要在状态位寄存器被当作一个对INTOUT信号响应而读取的时候对STATUS进行写入操作。对STATUS的写操作之在状态寄存器在没有和中断同步的时候被读取的情况下才需要。这两个机制是互相排斥的,所以不应该同时被使用;如果两个同时使用,在INTOUT信号发生后不久的对STATUS写操作会导致混乱的读取。为了避免冲突,SYSTEM_SETUP寄存器中的INTERRUPT_ENABLE位在写入STATUS机制被使用时应该被置低。如果SYSTEM_SETUP寄存器中的INTERRUPT_ENABLE位被置低,中断将不会锁存状态寄存器中的状态位,但是STATUS写入访问会。
表23
SYSTEM_SETUP(写入地址)
表24
MEAS_INT_SOURCE:当被置高时MEAS_INT的输出通过读取MEAS_STATUS_A被清空,当被置低是通过读取MEAS_STATUS_A清空。
INTERRUPT_PERIOD:当置低时,中断周期被设置为大约505秒,但置高时设置位854秒。更详细的信息参见22页对PROG_ACCUM_INT的描述。主重置迫使INTERRUPT_PERIOD位被置低。
EX_IMP_POL:当置低时,RTC开始依靠低到高的转变,否则依靠高到低。
INTERRUPT_ENABLE:当置低是INTOUT和MEAS_INT中断被禁用(被屏蔽),置高时都被激活。重置迫使INTERRUPT_ENABLE位被置低。
CARRIER_MIX_DISABLE:当置高时,载波混合器都被载波数字控制振荡器输入端的固定的‘+1’电平驱动,所以输入数据不做更改就传送到编码混合器。主重置迫使CARRIER_MIX_DISABLE位被置低。
TEST_CONTROL(写入地址)
TEST_CONTROL寄存器的作用完全是激活各种测试模式。一个主重置(RESET位置低)能把所有位都置低,给出常规的操作。
FE_TEST:当置高,这个测试控制信号强制信道11的SIGN(符号)输入和信道5的MAG(强度)输入置低。这就允许了对前端SIGN(信道5)和MAG(信道11)占空比的评估。要被测试的前端是通过CH5_SATCNTL和CH11_SATCNTL寄存器的SOURCESEL位来选择。要正确地传送SIGN和MAG数至累加器,载波和编码混合器都要被设置成透明的。
表25
载波混合可以通过两种方式禁用(1)把CARRIER_MIX_DISABLE位(SYSTEM_SETUP寄存器的第0位)置高以迫使所有信道载波数字控制振荡器的输入为a+1(2)如果在测试过程中要求后续 位置搜索,通过设置CH5_和CH11_CARRIER_DCO_INCR为全0以给出恒定的电平(频率为0).应该在信道5和11的载波数字控制振荡器被编程至频率为0时,通过把这两个信道简单地设置进重置状态(通过使用RESET_CONTROL寄存器的6和12位)被设置为一个已知的数值,把这个电平设置的到一个已知的数值。这个重置迫使所有的相位为0,所以驱动准时同相混合器为固定的1,1而不是随机从-2,-1,+1,或者-2中选取。
C/A编码混合必须通过把CODE_OFF/ONB位(CH5_和CH11_SATCNTL寄存器中的11位)置高来禁用。然而因为计数器的周期是通过编码发生器的DUMP信号来设置的,编码发生器的数字控制振荡器时钟必须通过对编码数字控制振荡器编程来设置为要求的频率,即使编码输出被禁用。典型的数值是标称编码码率的频率,所以SIGN和MAG的计数要超过毫秒。
监视接收机前端的结果可以用于故障诊断,也可以同于通过设置软件参数对特定前端或者SIGN/MAG占空比进行卫星追踪优化。
信道5被用来寻找SIGN信号的占空比。同相累加器的CH5_I_PROMPT位在置高时会给每个SIGN采样加1,置低时减1,所以如果占空比是正确值50%,累加和总是会接近0,小的误差来自于累加周期开始和结束时采样的不平衡。
占空比可以通过下式计算:
N=累加周期的总采样数
NSIGN1=SIGN为高时的总采样数
NSIGN0=SIGN为低时的总采样数
ACC5=DUMP之后读取的CH5_I_PROMPT累加器的总值
N=NSIGN1+NSIGN0
ACC5=NSIGN1-NSIGN0
SIGN duty cycle=R s=NSIGN1/N=(N+ACC5)/2N
(标称值50%)
信道11被用来寻找MAG信号的占空比。同相累加器的CH11_I_PROMPT位在置高时会给每个MAG采样减3,置低时减1。如果占空比正确(%30),累加和是-1.6(采样数)加上留给累加周期开始和结束时采样的不平衡的富余量。占空比可以通过下式计算:
N =累加周期的总采样数
NMAG3=MAG为高时的总采样数
NMAG1=MAG为低时的总采样数
ACC11=DUMP之后读取的CH11_1_PROMPT累加器的总值
N=NMAG3+NMAG1
ACC11=-3x(NMAG3)-NMAG1
MAG duty cycle,Rm=NMAG3/N=-(N+ACC11)/2N(nominally 30%).
TM_TEST:置高时这个位元把所有的追踪模块设置进入测试模式,这个模式下可以对所有的CHx_CARRIER_CYCLE_COUNTER位和CHx_CODE_PHASE_COUNTER位进行写入操作。
TEST_DATA:这个位元设置当TEST_SOURCE被设置时生成的测试数据的调制符号(正的或是负的)。
RTC_DELAY_HIGH,
RTC_DELAY_LOW(读取地址)
RTC_DELAY_LOW是一个包含无符号整数的16个较低有效位16位寄存器,存储的数值是从一个RTC中断发生到下个TIC之间的时钟周期数。每个计数表示175纳秒。
RTC_DELAY_HIGH是一个包含同上整数的4个较高有效位的4位寄存器。
寄存器内容是无符号数,有效范围是0到TIC/175纳秒。
RTC_DELAY中的误差是±175纳秒。MEAS_STATUS_A寄存器的RTC_TIC_ACK状态位指示是否收到了一个RTC中断。
通过读取RTC_DELAY寄存器或者主重置可以清空RTC_TIC_ACK状态位。
TMARKSI(读取地址)
Bits 31to 3:未使用。
Bits 19to 4:时间标记长度+1,单位是毫秒
Bits 3:时间标记的反向性:0-低到高,1-高到低。
Bits 2to 0:时间标记反馈有效边选择:
000-上升沿MARKFB
001-下降沿MARKFB
x10-上升沿TICO
x11-下降沿TICO
100-上升沿TMARK
100-下降沿TMARK
TMARK_LOAD(写入)
这两个寄存器是用来对时间标记发生器进行编程的。
使用21位无符号整数字进行编程,有效范围是0到1FFFFF(16进制数)。
数值表示时间延迟,该延迟小于25纳秒,从下个TIC到TMARK输出信号,单位是50纳秒。
对TMARK_LOAD写操作的下降沿激活时间标记发生器。当下个TIC发生时,时间标记计数器被加载,然后倒数到零,在这个时候TMARK被输出。
TMARK_HIGH,TMARK_LOW(读取)
TMARK_LOW是一个包含一个无符号整数的16个较低有效位的16位寄存器,数值是从TMARK输出信号产生开始经过的50纳秒间隔数减去1.
TMARK_HIGH是一个包含同上数值的5个较高有效位的5位寄存器。
MEAS_STATUS_A寄存器中的MARK_FB_ACK状态位应该在对TMARK_X寄存器进行读取访问之前就被响应。
外围设备功能寄存器
外围功能寄存器的地址请参照ZVM2060IP寄存器列表。
DATA_BUS_TEST
(读/写地址)
这是一个16位的读/写寄存器,功能是允许对一个16位宽的数据总线进行简单的测试,具体方法是通过写入一个16位数字然后确认读回的数据是否是一样的。同时这个寄存器可以用来存储预设值,这个值可以被检验,以确定是否发生了一个完全的动力丧失(低于数据保持水准)。
卫星捕获的软件序列(Software Sequence ForAcquisition)卫星信号的频谱是扩频调制的黄金码。这个导致了卫星信号在GNSS接收者看来非常微弱,被淹没在了噪声中以至只能通过相关才能被探测到。所以为了对接收到的信号做相关,必须选择一个本地生成的,编码类型,码率和相位都匹配的编码复制品。
然后这个样板就和输入的数据流进行位乘,得到的结果在编码长度上进行积分来恢复这个信号。信号捕获的过程其实就是简单的匹配接收机设置和真实的信号值。但是实际情况要复杂一些,卫星载波信号频率会因为卫星运动产生的多普勒效应而被少量的偏移,用户的时钟会随机地漂移,以及(大多数情况下)一些卫星的的信噪比很不理想。所以就要求软件必须既是“宽频的”以便能找到信号,同时又要是“窄频的”以降低噪声,造成不同应用环境下程序的巨大差异。在所有的追踪信道,信号处理软件需要以下的活动序列:
1.对CHx_SATCNTL寄存器编程以选择想要的GPS黄金码(RPN编号)或者GLONASS码,同时也要为相关器的追踪臂选择编码类型。一般在捕获模式,最好是把追踪臂定在”Dithering”模式(在”Early”和”Late”模式不停切换)立即在两个相位展开搜索,然后一旦找到卫星就切换至追踪模式
2.对CHx_SIGSEL寄存器编程来为相关器选择输入信号和为窄带转换器(如果是GLONASS)选择中心频率
3.对CHx_CARR_INCR_LO寄存器编程编程到这个寄存器的数值是用来为12信道的相关器中的混合操作选择本地振荡器的频率,来把输入的2位元数字化信号从射频前端降频到基带。要被编程的数值等于本地振荡器的标称频率加上多普勒位移的补偿估计值,再加上用户时钟频率漂移的补偿估计值。
4.对CHx_CODE_INCR_LO寄存器编程编程到这个寄存器的数值是C/A编码标称码率(2.046MHz或者1.022MHz)的两倍。如果需要,再加上多普勒位移和用户时钟频率的小量补偿。
5.解除追踪信道的重置借助对RESET_CONTROL寄存器编程写入合适的数值。这个操作会启动相关进程。
6.获取累加数据数据来自对累加数据寄存器的读取。对同一追踪信道的几次连续的读取可以相加以增加相关积分的周期。
7.确定GNSS信号是否已经被找到是通过把相关积分结果和一个阈值相比较。如果确定信号找到那就跳转到信号拉进算法。要注意的是同相的信号和垂直相的信号的累加数据都要被考虑,因为在这个时候本地载波数字控制振荡器还不一定和输入GNSS信号同相。
8.如果GNSS信号没有被找到就需要重新编程以改变载波数字控制振荡器,编码数字控制振荡器频率或者黄金代码来重新尝试。典型的做法是先保持两个数字控制振荡器的频率不变,拨动黄金码的相位直到2046或者1022个可能的位置都被覆盖到,如果信号没找到,那就少量地改变载波数字控制振荡器的频率然后再对黄金码的相位进行扫描。黄金码相位的拨动是通过对CHx_CODE_SLEW寄存器的编程实现的。
9.一旦GNSS信号被找到编码相位对齐,载波相位对齐以及多普勒和用户始终偏差补偿都还很粗糙。编码相位对齐精度之能在半个码位,载波数字控制振荡器信号和输入信号并不同相,而频率的误差也可以达到连续尝试时的步进值。
10.信号处理软件下一步必须采用一个拉进算法以完善这些对齐操作。有很多合适的算法可供选择,比如连续的小量步进直到误差可以忽略不计,像模拟PLL,或者使用更复杂的信号处理来估计误差然后跳转到一个好的多的数据组。然后信号拉进算法会对CHx_CARR_INCR_LOl寄存器编程写入载波数字控制振荡器的更精确的值。对黄金码小于半个码位的修正无法通过对编码发生器中的CHx_CODE_SLEW寄存器的编程来实现,而应该通过设置CHX_CODE_INCR_LO寄存器来引导编码数字控制振荡器慢慢地把黄金码相位调整到正确的数值。
11.信号追踪(Signal Tracking)
12.因为卫星箱对于接收者会有一个不均匀的移动,所以输入的GNSS信号会表现出一个在时间域变化的多普勒位移,同时用户时钟偏移也倾向于在时间域变化。最终结果就是,除非对编码和载波数字控制振荡器进行动态的校正,否则GNSS信号就会丢失。这个导致了两个伺服循环必不可少:一个保持对黄金码相位的锁定,另一个保持对载波的锁定。这个可以通过以下的方法实现。
13.引导这两个伺服循环的原始数据是累加数据,这个数据由追踪信道以每毫秒一次的频率输出一次。追踪臂的累加数据被用在黄金码循环;一些近似方法是用“提前减去滞后”(’early minus late’)黄金码执行一种无引导循环,其他使用一种在半个码位之后和半个码位提前的编码之间交替的抖动编码。在ZVM2060IP中,抖动频率是每路20ms(20编码历元),在重置之后从一个提前代码开始,这种编码是通过CHx_CNTL寄存器选取的。黄金码循环是通过使用CHx_CODE_INCR_LO寄存器有规律地更新编码数字控制振荡器频率来闭合的。
准时臂的累加数据被用于载波相位循环(尽管追踪臂的抖动模式也可能被使用)。一种方法是改变载波数字控制振荡器的相位以保持所有的相关能量都在同相相关器臂而一点都不在垂直相相关器臂。载波相位循环是通过使用CHx_CARR_INCR_LO寄存器有规律地更新载波数字控制振荡器频率来闭合的。
数据解调(Data Demodulation)
C/A编码和空间交通工具(SV)数据在50波特被调制。这种调制方式是对C/A编码和SV数据求异或。这意味着每隔20毫秒(也就是20C/A编码历元),如果新的数据位和之前的不同那C/A编 码的香味就要被翻转(移动180度)。在准时臂,一旦信号被正确地追踪,这样一个数据位传输会改变累加数据的符号。数据解调就通过下面两步实现:
1.定位数据位传输时刻,以辨别出哪个C/A编码历元对应新数据位的开端。这就允许ZVM2060IP的历元计数器初始化(通过CHx_1MS_EPOCH和CHx_20MS_EPOCH寄存器),以从0到19和数据位同相计数编码历元。在每个1ms历元计数器的新循环,20ms历元计数器会增长。
2.在每个20ms的数据位周期在准时臂记录累加数据的符号,通过滤波来降低信号噪声的影响。注意解调过程存在符号模棱两可的情况,因为无法从信号本身判定哪个数据位是0那个是1。这个模棱两可的情况会在下个步骤当完整的导航信息被解析后解决。
伪距测量(Pseudorange Measurement)
测量数据寄存器提供计算伪距所需要的原始数据,这个原始数据是一个采样,在一个20ms或者1ms历元计数器,C/A编码相位计数器和编码数字控制振荡器相位的TIC信号设置的时刻。按照定义,伪距被表示成时间单位,等于卫星到接收者的信号传播延时加上用户时钟偏差。用户时钟偏差首先是被估计出来的(如果是冷启动那多半就是瞎猜,但是要消耗更多的递归时间)然后作为导航结果的副产品被计算出来。伪距等于用户信号的本地太阳时(t1)减去GNSS信号传输的真实时间(t2)。
通过解调的数据,软件就可以访问空间交通工具导航信息(Space VehicleNavigation Message),它包含了传输当前子帧的GNSS系统时间信息。它等于时间t2。
导航信息中的时间信息允许接收机时间在20ms的分辨率下(一个数据位周期)被初始化,但是如果对精度有了解那就可以达到好的多的分辨率,比如小于一个C/A编码的码位-比1ms小一点。因为光从卫星到接收机的传播时间在60-80ms的范围内,所以对本地时间第一次猜测的改良可以降低后面的递归计算时间。
通过使用数据对TIC时刻贴上标签,以及历元计数器数值,编码发生器相位,以及编码时钟相位,测量SV信号在本地太阳时的时间是有可能的。这就给出了伪距测量所需的t1的值,这样伪距就可以通过t1-t2被计算出来。
时间设置中表示的误差是初始的用户始终偏差值和各种计数器相位的限值。一旦一个导航结果被找到,就可以很精确地知道时钟误差,它可以被用在将来的伪距计算上。因为接收机时钟随着时间漂移,时钟偏差随着时间变化,所以它们必须用导航软件来追踪。
控制ZVM2060IP
接下来的小节描述了控制ZVM2060IP的典型方法。它们包括信号捕获和追踪,载波相位测量和时间记号的生成。
搜索操作(Search Operation)
要执行信号捕获,载波频率和编码相位空间需要被搜索直到信号被检测到。载波频移相对它的标称值的最大偏移由最大的载波多普勒位移加上最大的接收机时钟误差决定。最大的编码相位由编码长度(固定的)决定。一般来说,在移动到下个载波频率之前,所有的编码相位方格都会被搜索到,然后才移动频率方格重新搜索编码相位。
载波数字控制振荡器编程
以下的寄存器:
CHx_CARRIER_DCO_INCR
根据被搜索的频率方格依次用相关的数据被编程。载波数字控制振荡器编程在信道被释放(激活)的同时生效。如果信道已经被激活,对CHx_CARRIER_DCO_INCR的写操作马上生效(会发生一个最大175ns的短暂的延时,以允许处理器对芯片的写操作的同步)。
编码数字控制振荡器编程
以下的寄存器
CHx_CODE_DCO_INCR
根据估计的编码频率偏移依次用相关的数据编程。编码数字控制振荡器编程在信道被释放(激活)的同时生效。如果信道已经被激活,对CHx_CODE_DCO_INCR的写操作马上生效(会发生一个最大175ns的短暂的延时,以允许处理器对芯片的写操作的同步)。
编码发生器编程
对每个信道,CHx_SATCNTL寄存器根据如下被编程:
1.设置SOURCESEL位选择输入信号源
2.设置TRACK_SEL位设置追踪臂编码为”提前”或者”落后”(相对于”准时”臂)。
3.设置G2_LOAD位选择要求的PRN编码。
4.根据期望的编码相位偏差对CHx_CODE_SLEW寄存器编程。拨动操作会在CHx_RSTB被释放时生效。第一个DUMP操作会为信道生成累加数据以及设置相关的CHx_NEW_ACCUM_DATA状态位。
5.释放RESET_CONTROL的CHx_RSTB位以激活信道。
当编码时钟被禁用(用来拨动编码相位)“积分”和”丢弃”模块保持重置。只有当拨动操作完成之后才会开始累加相关结果。
多信道搜索一颗卫星可以通过使用MULTI信道地址和适当差异的编码拨动值。
读取累加数据
在每个”丢弃”操作相应的CHx_NEW_ACCUM_DATA状态位会在ACCUM_STATUS_A寄存器中被设置。状态寄存器和所有的累加寄存器(CHx_1_TRACK,CHx_Q_TRACK,CHx_1_PROMPT,CHx_Q_PROMPT)被映射都连续的地址。如果需要,在每个ACCUM_INT中断,这些寄存器数据都可以作为一个连续的区块被读取。或者,状态寄存器可以被轮训。现在累加寄存器是写覆盖保护的,所以当新的数据生效时系统必须很快响应。是否需要在每个DUMP操作都处理累加操作取决于具体的应用。读取这些寄存器数据的顺序是可以选择的,但是理想的是CHx_Q_PROMPT寄存器最后被读取,因为这会重置CHx_NEW_ACCUM_DATA位。
ACCUM_STATUS_B的CHx_MISSED_ACCUM位指示新的累加数据丢失了。这些寄存器位只能通过写入CHx_ACCUM_RESET或者重新激活信道来清除。
搜索其他编码相位
当期望在下个编码相位进行相关,比如之后一整个码位,CODE_SLEW要被编程写入2(单位是半个码位)。拨动操作会在下个DUMP进行。CODE_SLEW的效果和当前的编码相位有关。要重复CODE_SLEW,寄存器要被重新写入,哪怕拨动的大小是一样的。
一旦卫星信号被探测到(达到了相关阈值),编码和载波的追踪循环就可以关闭了。追踪循环的参数必须被整合到软件中以适应具体的应用。
数据位同步
数据位同步算法应该找到数据位传输的时刻。处理器计算当前的一毫秒历元,然后把这个数值写入1MS_EPOCH计数器。理想状态下,历元计数器的访问应该发生在每个DUMP的累加寄存器写入操作之后。
或者,历元计数器可以任由它自行运转,偏差由软件在每次它读取历元寄存器的时候加上去。
注意如果积分操作穿越位元边界,积分结果会很小。
读取测量数据
在每个TIC时刻,测量数据都会被锁存在测量数据寄存器中:
CHx_EPOCH,
CHx_CODE_PHASE,
CHx_CARRIER_DCO_PHASE,
CHx_CARRIER_CYCLE_HIGH,
CHx_CARRIER_CYCLE_LOW,
CHx_CODE_DCO_PHASE.
ACCUM_STATUS_B或者MEAS_STATUS_A寄存器必须在一个大于TIC频率的频率上进行轮询(以查验一个TIC是否已经发生),否则测量数据会丢失。ACCUM_INT或者MEAS_INT事件可以用来启动这个操作。测量数据的读取既可以由中断发动也可以是轮询的。对于中断发动的防范微处理器在每个MEAS_INT中断后读取ACCUM_STATUS_B或者MEAS_STATUS_A寄存器,如果TIC位被设置,跟着就读取测量数据。对于轮询法,ACCUM_STATUS_A寄存器总是在ACCUM_INT中断后被读取。另外ACCUM_STATUS_B寄存器在每个ACCUM_INT中断后被读取以保证没有累加数据被丢失以及检查TIC位(以及几个状态位)。软件检查TIC位来确定新的测量数据已经可以被读取。
预置模式(Preset Mode)
寄存器的PRESET/UPDATEB位置高位,每个信道都可以被编程进入预置模式。
当TIC事件发生,卫星编码,历元数值和拨动数被加载,一个新的相位被编程写入编码数字控制振荡器,这个相位和振荡器中之前的数值无关。在TIC时间之前信道根据它之前的设置运作。
预置模式多载波数字控制振荡器和载波周期计数器没有影响。
一旦预置模式被开动,那它应该被允许运行至结束。要求的运行序列如下:
1.寄存器选择预置模式,同时写入合适的新设置
2.加载编码和载波数字控制振荡器增量数值。注意:这些立即生效所以会影响当前的测量。
3.加载以下的寄存器
CHx_CODE_DCO_PHASE,
CHx_CODE_SLEW_and
CHx_EPOCH_COUNT_LOAD.
CHx_EPOCH_COUNT_LOAD最后加载很重要,因为它会激活下个TIC的预置操作
●中断(Interrupts)
存在一个中断源:INTOUT.默认的INTOUT周期是505.05s。这个周期可以通过PROG_ACCUM_INT寄存器或者通过改变SYSTEM_SETUP寄存器的INTERRUPT_PERIOD位来重新设置。
默认的TIC周期是99.9999ms。它可以通过PROG_TIC_HIGH和PROG_TIC_LOW寄存器重新配置。
●硬件信号处理引入的信号通道延时
当期望从GNSS信号产生一个精确的时钟参考或者给位置定位加上时间标记,接收机的延时必须加以考虑。信号通道延时包括两部分,一个是模拟通道延时,随着温度和组件公差变动,一个数字通道延时,如果振荡器漂移变动可以无视,那它就是常数。
数字延时的估值简单些,它由以下几部分组成:
1.从前端的(SMPCLK)SIGN和MAG位的采样边缘到采样锁存重采样(比从SMPCLK到前端传播延时少175ns)的时间。
2.加上相关器在相同的SIGN和MAG位上的相关操作所需时间(175ns)。
3.加上累加器中用来锁存采样数据的延时。
4.减去相关操作和累加器锁存相位(75ns)之前的TIC时钟相位之间的时间。通过射频接收机的模拟延时被设置为滤波器中的组延时参数,对于C/A编码所用的贷款或在1到2ms的范围内,所以淹没在数字延时中。但是它是可以被测量和修正的。
●积分载波相位测量
相关器追踪信道的硬件允许通过CHx_CARRIER_CYCLE_HIGH/_LOW和CHx_CARRIER_DCO_PHASE寄存器的作为测量数据一部分的测量值在每个TIC时刻被采样。CHx_CARRIER_CYCLE_HIGH/_LOW寄存器包含了20位元的载波数字控制振荡器的正向零相交的数值;这会比过去的整个周期的数值多一(4位在_HIGH,16位在_LOW寄存器)。CHx_CARRIER_DCO_PHASE寄存器包含了周期小数或者相位,以及10位的分辨率来给出2/2046弧度的增量。 要获取几个TIC周期的积分载波相位,所需要做的就是在每个TIC时刻读取CHx_CARRIER_CYCLE_HIGH和_LOW寄存器并且对读取值求和。当载波周期测量是从一个正向零相交到下个正向零相交,这会给出一个比完整的载波周期高1的数值。
最后的载波周期小数必须被加到这个数值上,而开始的载波周期小数必须被减去。两个数值都是从CHx_CARR_DCO_PHASE寄存器被读取。总的相位变化可以如下被计算出来:
积分载波相位=2π*∑Numbers in Carrier Cycle Counter+final Carrier DCO phase-Initial Carrier DCO phase
图1展示了这个等式是如何被推到出来的
这个积分载波相位可以和”delta”距离(到各个卫星的距离变化)联系起来。当和卫星的轨道参数一起使用,”delta”距离会给出一个定位点之间接收机的移动测量值,这个测量值是相对于定位点里的,所以可以用来对它们做平滑。它同时也可以直接给出速度值。”delta”距离是包含噪声的而且大多数数值取决于卫星的运动,所以速度的确定必须使用来自充分分离的TIC的数据。对于位置平滑所有的”delta”距离都会被包含在导航滤波器的输入中。该滤波器会执行一个”delta”距离和距离的动态平均。
●生成时间记号(TMARK)
时间记号(Time Mark)发生器被设计成每一秒提供一个可以和给定的时间基(比如接收机时间基,GPS,GLONASS世界协调时同步单元或者世界协调时)同步的时间记号输出信号。时间记号在某个可编程的和TIC相关的延时后生成。
选择的结构(参见图2)只涉及到时钟在高频驱动的最少的硬件所以给出了比较低的能量消耗。举个例子,为了同步时间记号到世界协调时(UTC),软件可以有以下的操作流程(参见图3):
1.偶尔捕获测量数据(在任一的TIC时刻)用来
2.解算测量时刻的世界协调时(t0)。注意分辨率只能精确到接收机中的硬件传输速度,一般是几个毫秒,除非这些延时被校准过而且世界协调时分辨率根据校准结果被修正。
3.Compute on which 100ms TIC,tm,to take the next sample ofmeasurement data such that:计算在哪个100毫秒TIC时刻对下个测量数据进行采样以满足:
UTCTIMEMARK-tm=δ1+δ2
这里UTC TIME MARK=和一个世界协调时秒同步的期望时间记号
δ1=k x(time between TICs),这里k=INTEGER而且δ1>导航结果计算延时。
δ2=时间记号和100ms TIC标记”tr”之间的时间偏差(拥有50ns的分辨率)
δ2<(TIC时刻之间的时间)
4.在时刻tm捕获测量数据。在时刻tm计算Nav结果。在UTC时刻传输Nav结果。通过已知的振荡器漂移,时间记号生成器单元加上的25ns延时以及校准过的传播延时,计算DOWN COUNT,要编程输入可编程倒数计数器的数值以把时间记号延时δ2。
5.在tr事件发生之前对倒数计数器编程写入DOWN COUNT值。
6.在tr时间之后2000ms内输出ARINC DATA(跟随ARINC743)。
7.定位tm+1然后返回步骤4。
●以下的误差预算都和时间记号(Time Mark)的产生有关系:
总误差=TDOP+时钟分辨率+振荡器漂移残余误差。
+计算引入误差。
+时间记号传输通过器件/线路产生的延时。
+:硬件中的传输延时,从天线到相关器到测量数据采样器。
其中的典型值是:
1.TDOP:当选择可用性(SA)打开,估计值为177ns(2δ数)
2.时钟分辨率:50ns(在21位可编程倒数计数器中)。
3.振荡器漂移残余误差:
(a)来自从上个振荡器漂移计算开始的TCXO上的温度变化:
(i)TCXO最大斜率是±1ppm/℃
(ii)温度最大变化是5℃/minute
(iii)振荡器漂移每秒计算一次所以在世界协调时记号中最多存在一秒钟。
比如:
以1ppm/℃x 5℃/min x 1sec=83ns作为温度步进变化或者41.5ns(取整到50ns)作为线性斜率(b)因为漂移估值中最大的误差是50ns(大致猜测)总的振荡器漂移误差=(a)+(b)>>100ns.
4.计算引入误差:假设为足够多的有用位被保留所以这个误差趋近于0。
5.时间记号传输通过器件/线路产生的延时:这个会根据GPS接收机的输出通过使用倒数计数器的反馈来校正和补偿,会存在残余误差,因为:
(a)时钟分辨率=50ns
(b)反馈延时校正=25ns(估计值)
6.硬件中的传输延时:这些都被估计在几个毫秒的范围内所以是时间记号(Time Mark)同步错误的主要组成部分。当整个硬件设计已经完成,一个估计算法可以被包含在软件中以提高总的精确度。
总误差=177ns+50ns+100ns+0+75ns+硬件延时
总误差=402ns+硬件延时.
相关器部分:
包括多信道相关器,该多信道相关器包括时钟发生器、时间基发生器、寄存器、地址解码器、总线界面、多个追踪模块,其中多个追踪模块经总线并联,并联后的多个追踪模块分别连接时钟发生器、时间基发生器、寄存器,并经总线界面连接地址解码器。
如图所示,本发明为60信道并行相关器,它可以用来捕获和追踪GPS C/A编码或者GPS L2或者GLONASS信号。它包含一个60信道GNSS相关器(GNSS导航系统、高完整性组合接收器、GNSS测地学接收器、GNSS时间基准)。
它拥有32-位元高级外围总线(APB)高级微控制器总线架构-2.0界面,它的每个信道都包含独立的数字频率转换至窄带功能,独立的数字频率降频至基带功能,C/A和GLONASS编码生成,相关功能和累加-丢弃寄存器。其中12个信道具备额外的GPS L2编码生成功能。
它包括以下模块:
时钟发生器(Clock Generator):
时钟发生器模块把主时钟MCLK频率除以7,给出一组多相位的中频时钟信号。
MCLK一般是一个40MHz的时钟信号。SMPCLK管脚给出一个标记占空比位4∶3的输出。
时间基发生器(Timebase Generator):
时间基发生器提供四个重要的计时信号:INTOUT,TICO(管脚),MEAS_INT和TMARK(管脚)。
INTOUT是一个被用来控制相关器中的累加器和微处理器之间的数据传输的中断信号。它可以由INTOUT的平均值或者由读取ACCUM_STATUS_A寄存器(该寄存器的第十五位元是一个表明INTOUT在上次被读取之后又发生变化的标志)得到。
通过读取ACCUM_STATUS_A可以清空INTOUT。开机后这个中断每505.05秒发生一次。中断周期可以通过以下两种方法中的任意一种来改变:更改SYSTEM_SETUP寄存器的INTERRUPT_PERIOD位,或者直接写入PROG_ACCUM_INT寄存器。详细的内容请参照16页的“寄存器详细描述”章节。
TIC是一个内部信号,默认周期是99999.90秒。它被用来同时锁存所有12信道的测量数据(历元计数,编码相位,编码数字控制振荡器相位,载波数字控制振荡器相位,和载波循环计数)。TIC周期可以通过写入RPOG_TIC_HIGH和PROG_TIC_LOW寄存器来设置。
MEAS_INT是一个从TIC计数器得到的信号。通过使用MEAS_STATUS输出或者读取ACCUM_STATUS_B或ACCUM_STATUS_A寄存器,它可以被用作切换软件模式的微处理器中断信号。只要TIC周期大于50ms,MEAS_INT都在每个TIC时间点和每个TIC时间点之前50ms 被激活。如果TIC周期小于50ms,MEAS_INT只在TIC时间点被激活。TIC计数器可以通过读取ACCUM_STATUS_B或者ACCUM_STATUS_A寄存器来清空,具体取决于SYSTEM_SETUP寄存器的MEAS_INT_SOURCE位的状态。
信号的主要目的是给出一个锁定在UTC或者GNSS时间上的每秒一次的脉冲信号。在它之后可能会有来自微处理器的校准时间信号。TMARK信号可以被用作其他导航设备的基准。要同步TMARK到GNSS时间,第一步是在任意的TIC捕获测量数据,然后计算完整的导航信息来给出在这个TIC的时间值。然后通过这个时间值确定下次信号捕获的TIC。在导航信号计算延迟之后,一个更远的延迟将被写入TMARK_HI和_LO寄存器以在下个TIC启动。这样就给出了在所要求的GNSS整秒内的TMARK。这是一个相当长的启动过程。不过一旦第一个正确的TIC选择和递减计数器已经知道,那么这个过程就可以顺利向前继续,延迟计算是基于上一步的导航信息的。
如果要使用UTC而不是GNSS时间的话,只需要读取导航信息,获取整秒差异后把这个差异加到计算好的GPS时间上,或者获取utcsu校准后加到计算好的GLONASS时间上。一种可能的改良是,计算几个测量周期的振荡器漂移,使用这个漂移值来推算一个更精确的延迟计数器的值。可以达到的极限精度是非常理想的,但是要达到这样的效果,一方面晶振要很稳定,另一方面要具备软件补偿的能力;另外,接收器前端的延迟要已知而且被考虑到,而且通过使用MARKFB管脚,输出驱动器和线路的延迟要被考虑到。
输出的主要目的是给客机上的电子系统提供每秒一次的脉冲时钟基准信号,它必须是精确的而且被确定是精确的。
精确度由从TMARK_HI和_LO加载校准补偿来达成,这样的校准补偿来自对GNSS TIC的以50ns为单位的测量。因为TIC码率名义上是比10Hz小1ppm,DOWN_COUNTer的值预计大概是每一秒TMARK增长1ms,数值上是每个脉冲+20。这个数值需要持续地微调以容许稳定或变化的晶振误差。
系统的完整性可以由两种方法保证:第一种是通过读取TMRAK_HI和_LO来检查线路和驱动器延迟,以确认TMARK事件确实发生了,第二种是通过一个握手协议使微处理器能够探测任何可能的硬件错误。握手协议的流程如下:
1.写入TMARK_LO寄存器以启动TMARK发生器。
2.在下个TIC ZVM2060IP启动DOWN_COUNTer。
3.ZVM2060IP会给出一个TMARK脉冲输出信号并启动PROP_DELAY计数器。
4.通过MARKFB输入反馈TMARK来终止PROP_DELAY和设置MEAS_STATUS_A中的MARK_FB_ACK。
5.读取MEAS_STATUS_A,它一般是作为测量数据传输协议的一部分的
6.一旦MARK_FB_ACK被设置(而且被清空)就读取MARK_X,以获取最后一次延迟的稳定值以及清空MARK_FB_ACK位。这也使TMARK发生器为从第一步重新开始做好准备。
这个看起来很复杂,但是每秒只需要执行一次,所以对简单的系统来说这就是全部要求了。对完整精度的系统,和计算所一致的各种寄存器操作必须完全满足ARINC 743规范。
状态寄存器(Status Registers):
有四种状态寄存器(ACCUM_STATUS_A,_B,_C和MEAS_STATUS_A)。这些寄存器存放与12个信道中的累加和测量数据相关的标记。一些系统级的状态位也包含在这些寄存器中。信号选择模块(Signal selection block):
信号选择模块包含了一个多路复用器,这个多路复用器是可编程的,用来选通任意的16个二位数据(混合器模式)或者8个四位数据(二乘二复杂混合器模式),输入至60个信道中的任意一个。
模数转换器输入端支持三种格式的二位元数字信号:无符号二进制数,符号加数值二进制数或者二进制补码。
模数转换多路复用器输入必须被配置成二位元混合器输入(16个输入信道)或者二位元复信号 I&Q(8个输入信道);采样锁存器把来自前端的数据和内部的SMPCLK以及MCLKO同步起来。已经降频的卫星信号在前端的输出被SMPCLK或者MCLKO采样。然后这些信号就被送到追踪模块。
当使用的前端是GP2015或者GP2010,数据表现为中心频率在4.309MHz的带通中频信号。对它在5.714MHz的频率上进行采样把它升频位1.405MHz的中频信号。
对于高频接收器,数据表现为从1MHz到19MHz的带通信号,对它在40MHz进行采样使其升频至21MH到39MHz。
地址解码器(Address Decoder):
地址解码器为相关器执行地址解码。
总线界面(Bus Interface):
总线界面控制高级微处理器总线架构(AMBA)的高级外围总线(APB)和内部32位元总线之间的数据传输。
追踪模块(Tracking Modules):
追踪模块由60个编号从CH1到CH60的完全相同的信号追踪信道组成,每一个都具备Figure 10所示的单元结构。这些单元产生用来追踪卫星信号的数据。这些数据不具备写覆盖保护机制。更多的信息请参见“控制ZVM2060IP”章。
每个追踪信道都是可以被独立编程的,以使他们工作在更新(Update)或者预置(Preset)模式下。更新模式是一般的工作模式。预置模式是一个特殊的模式,在这个模式下对某个寄存器的写操作会被延迟到下个TIC,以达到同步寄存器和预置编码数字控制振荡器相位的目的。具体的信息参照13页的“控制ZVM2060IP”章的“预置模式”小节。
载波数字控制振荡器(Carrier DCO):
载波数字控制振荡器同步于SMPCLK时钟频率,用来同步本地数字振荡器信号,该信号被用来把混合器模块的输入信号降频至基带。它必须可以偏离标称值以容许一定的多普勒偏移和基准频率误差。
当和GP2015/GP2010一起使用的时候,这个信号的标称频率是1·405396825MHz(分辨率是42·57475mHz),通过加载26位元的CHx_CARRIER_DCO_INCR寄存器来设定。这么高的分辨率是为了保证数字控制振荡器能够在一段足够长的时间内和卫星信号保持同相。载波数字控制振荡器的相位无法直接设置,而必须通过改变其频率来间接设置。
载波数字控制振荡器输出是四等八相位的正弦波,它在一个周期内的序列如表2所示。
终点臂 序列
ILO -1+1+2+2+1-1-2-2
QLO +2+2+1-1-2-2-1+1
表2.载波数字控制振荡器输出
因为DCO的时钟一般都要比输出频率低8倍,所以不是所有的相位都会在一个周期生成。如果是典型的5.714MHz的时钟频率和1.405MHz的输出频率,那么每个周期只有大约四个相位。这些相位会随着时间推移而滑行过整个周期以覆盖所有的值。
编码数字控制振荡器(Code DCO):
编码数字控制振荡器和载波数字控制振荡器类似。它也同步于SMPCLK时钟频率,同步相应的晶振使其在两倍于所要求的的码率的频率上驱动编码发生器。标称的输出频率是2·046MHz,给予GPS 1·023MHz或者1·022MHz的码率,给予GLONASS 511MHz的码率。这是通过加载25位元的CHx_CODE_DCO_INCR寄存器设定的。
当和GP2015/GP2010前端一起使用的时候,晶振频率分辨率被设置为85·14949mHz,同样地,这么高的的分辨率是为了保持数字控制振荡器和卫星信号保持同相。在预置模式下,编码数字控制振荡器的相位只能被精确地设置为卫星信号的相位。在更新模式,它只能通过调节自身的频率来和卫星信号保持相位一致。
载波周期计数器(Carrier Cycle Counter):
载波周期计数器具备20位元的长度,用来计算TIC时刻之间的载波数字控制振荡器周期。基本的导航系统是不需要这个的,但是会被用于测量TIC时刻之间和每个卫星距离的变化(delta-change)。“delta-change”可以被用来平滑编码伪距。更具体地说,在每个TIC时刻载波数字控制振荡器相位将被读取,以给出周期数或者“delta-change”的小数部分。GPS C/A,GPS L2and GLONASS编码生成器(Code Generators)C/A编码生成器为GPS卫星(1-32),地面发射器(伪卫星,33-37),INMARSAT-GIC卫星(201-210)或者GLONASS卫星生成选择的黄金码(Gold code)。
黄金码的选择是通过对CHx_SATCNTL寄存器写入“寄存器详细介绍”章列出的特定模式的10个位元,或者通过设置GPS_NGLON为低位选择GLONASS编码。生成两个输出以同时给出一个PROMPT信号和一个TRACKING信号。TRACKING信号可以被设置为四个模式中的一种:EARLY(比PROMPT信号提前一个半码位),LATE(落后一个半码位),FIXEDW(提前525ns)或者FIXEDN(落后525ns).
在每个编码序列(GPS模式是1023位,GLONASS模式是511位)的结尾,一个DUMP信号会被生成,用来锁存信号追踪软件所需的累加数据。每个信道都是独立锁存的,因为卫星信号被接收的时候相互之间不是同相的。
GLONASS的特点是,每个卫星信号都使用相同的PRN黄金码,而在频域上把这些信号区分开来(1598MHz到1616MHz)。Navstar GPS是使用相同频率的载波信号(L1=1575.42MHz),调制以不同的PRN黄金码。特殊的窄带转换器可以把GLONASS信号转换到GPS频段,然后在每个信道构成需要的信号以解调GLONASS信号。因为具备这样的能力,所以GZVM2060IP可以对GLONASS星群信号进行高效的解码。
本发明包含一个C/A编码发生器(通过将CHx_SATCNTL的GPS_NGLON位置零来选取),用来对GLONASS信号进行解码。
本发明中有12个信道(49到60)包含了GPS L2编码发生器(通过设置CHx_SIGSEL寄存器的GPSL2_M和GPSL2_C位来选取),用来对GPS L2信号进行解码。
信号源选择多路复用器(Source Selector Multiplexor):
信号源选择器是一个多路复用器。它决定使用哪个16一组的二位输入信号(参见CHx_SIG_SEL寄存器的格式)。
●载波混合器(Carrier Mixers):
载波混合器把输入信号和本地载波数字控制振荡器产生的信号相乘得到基带信号。I和Q的载波数字控制振荡器相位都被发送到合适的混合器。本地载波数字控制振荡器和输入信号的混合产生在区间+1,-1,+2,-2,+3,-3,+6和-6中取值的基带信号。
●编码混合器(Code Mixers):
编码混合器把来自载波混合器输出的基带I&Q信号和本地复制生成的PROMPT以及TRACKING编码相乘得到四个独立的相关结果。相关结果会被送到”累加和丢弃”模块进行积分。
●累加和丢弃”(Accumulate and Dump):
累加和丢弃”模块编码对混合器的输出在一个编码周期内(标称是1ms)进行积分。每个信道都有四个独立的16位累加器。这些累加器的结果表示了在整个积分过程中I/Q信号和PROMPT以及TRACKING编码的相关性。因为这些寄存器不具备写覆盖保护机制,其中的数据必须在下个‘DUMP’操作之前就被读取。
●编码相位计数器(Code Phase Counter):
编码相位计数器计算所生成编码的半位的个数,然后在每个TIC时刻把这个数值存放到CHx_CODE_PHASE寄存器。
●编码拨动计数器(Code Slew Counter):
编码拨动计数器用来把生成的编码在范围0-2047的范围内以半个码位的单位拨动。在更新模式,拨动发生在下个DUMP操作之后。在预置模式下它发生在下个TIC时刻。所有的波动操作都和当前的编码相位有关。每次需要拨动操作的时候都要多编码拨动计数器进行写入操作。 在拨动过程中相应信道的累加器是被禁用的,以使第一个结果有效。当一个拨动操作被写入时信道被禁用,那么拨动将在信道被启用的同时发生。
●历元计数器(Epoch Counter):
历元计数器持续计算一秒间隔内的编码周期。这个被表达为一个表示以1ms位单位的积分时间(0-19)的5位字,加上一个包含以20ms为单位的计数(0-49)的6位字。历元计数器可以预先被加载以和来自卫星的数据流同步。历元计数器的值在更新模式下会马上被传送到计数器,或者在预置模式下,在下个TIC时刻被传送。
历元计数器的数值在每个TIC时刻被锁存至CHx_EPOCH寄存器。另外它的瞬时值可以从CHx_EPOCH_CHECK寄存器查验到。
外围功能(PERIPHERAL FUNCTIONS):
●实时时钟延时计数器(RTC Delay Counter):
下面的内容请参考Fig.11中的机构图。
假设选取的实时时钟提供一个周期性的中断输出信号,这个信号的周期是100ms或者1s,这个信号同时被送往ZVM2060IP和微处理系统。在ZVM2060IP内部,中断信号被连接到RTC_INT管脚,它的上升沿会启动RTC_DELAY计数器。这个计数器由一个周期位175ns的时钟信号驱动,计数器会一直增计数直至下个TIC时刻。
以确定RTC和系统时钟之间的延时,其次,通过连续的读取,RTC漂移也可以被估计。这两条信息每次被计算出来后都被保存到永久性的RAM中。一旦发生电源毛刺脉冲,100ms_TIC时间基就会使用一个任意的相位重新开始自由运行。然后RTC中断过程想之前描述的那样重新发生,可能可以把新的系统TIC时间和毛刺脉冲发生之前的TIC时间联系起来。理想状态下,这个过程足够精确的话,数据位的同步将不会丢失,所有信道的控制寄存器可以被重新编程赋予合适的值。一旦时间关系已知,那预置模式可以被用来重建信号追踪。
●如果在一个给定的信道无法实现数据位的同步,但是获得了合适的代码和载波锁定,那么软件就应该跳转到数据位同步算法。如果没有获得合适的锁定,那么软件应该跳转到搜索算法。如果给定了保持数据位同步需要的误差项的大小(总计)以及允许的最坏情况下的误差,允许的最长的电源毛刺脉冲长度是可以被计算出来的。
相关器模块是基带通过12个并行硬件相关信道进行卫星信号追踪的硬件模块;本发明采用的是Zoom Correlators技术。相关器的主要技术特点是:
2位I/Q输入(I/Q信号相位相差180度);
12个并行相关信道;
每个信道都有4个Zoom Correlators;
信道可以独立启用或者禁用,以减少能耗;
追踪模式设置很简便,可以很方便地实现信号快速捕获;
混合的独立性和统一的存储器转贮:所有输出信号的采样都是和该信道的编码发生器同步的;一个中断请求总是和指示中断产生信道的中断源寄存器同时生成的;所有的测量数据(载波和编码数以及相位)在所有的信道都是同时采样的;每次只产生一个中断请求;存储器转贮频率可以通过一个计数器进行设置。
管脚描述
表1.管脚描述
Claims (6)
1.一种GPS和GLONASS多信道并行信号追踪方法,其特征是包括A.捕获和追踪卫星信号以给出伪距;B.处理伪距以得出导航信息然后封装为适合用户的格式;其中
A包括下列步骤:
对CHx_SATCNTL寄存器编程以选择想要的GPS黄金码(RPN编号)或者GLONASS码,同时也要为相关器的追踪臂选择编码类型,一般在捕获模式,把追踪臂定在”Dithering”模式(在”Early”和”Late”模式不停切换)立即在两个相位展开搜索,然后一旦找到卫星就切换至追踪模式;
对CHx_SIGSEL寄存器编程来为相关器选择输入信号和为窄带转换器(如果是GLONASS)选择中心频率;
对CHx_CARR_INCR_LO寄存器编程编程到这个寄存器的数值是用来为12信道的相关器中的混合操作选择本地振荡器的频率,来把输入的2位元数字化信号从射频前端降频到基带,要被编程的数值等于本地振荡器的标称频率加上多普勒位移的补偿估计值,再加上用户时钟频率漂移的补偿估计值;
对CHx_CODE_INCR_LO寄存器编程编程到这个寄存器的数值是C/A编码标称码率(2.046MHz或者1.022MHz)的两倍,如果需要,再加上多普勒位移和用户时钟频率的小量补偿;
解除追踪信道的重置借助对RESET_CONTROL寄存器编程写入合适的数值。这个操作会启动相关进程;
获取累加数据数据来自对累加数据寄存器的读取,对同一追踪信道的几次连续的读取可以相加以增加相关积分的周期;
确定GNSS信号是否已经被找到是通过把相关积分结果和一个阈值相比较,如果确定信号找到那就跳转到信号拉进算法。要注意的是同相的信号和垂直相的信号的累加数据都要被考虑,因为在这个时候本地载波数字控制振荡器还不一定和输入GNSS信号同相;
如果GNSS信号没有被找到就需要重新编程以改变载波数字控制振荡器,编码数字控制振荡器频率或者黄金代码来重新尝试。典型的做法是先保持两个数字控制振荡器的频率不变,拨动黄金码的相位直到2046或者1022个可能的位置都被覆盖到,如果信号没找到,那就少量地改变载波数字控制振荡器的频率然后再对黄金码的相位进行扫描,黄金码相位的拨动是通过对CHx_CODE_SLEW寄存器的编程实现的;
一旦GNSS信号被找到编码相位对齐,载波相位对齐以及多普勒和用户始终偏差补偿都还很粗糙,编码相位对齐精度之能在半个码位,载波数字控制振荡器信号和输入信号并不同相,而频率的误差也可以达到连续尝试时的步进值。
2.如权利要求1所述的GPS和GLONASS多信道并行信号追踪方法,其特征是所述方法还包括信号追踪(SIGNAL TRACKING)、数据解调(DATA DEMODULATION)、伪距测量(PSEUDORANGEMEASUREMENT)、控制相关器、搜索操作(SEARCH OPERATION)、载波数字控制振荡器编程、编码数字控制振荡器编程、编码发生器编程、读取累加数据、搜索其他编码相位、数据位同步、读取测量数据、预置模式(PRESET MODE)、中断(INTERRUPTS)、硬件信号处理引入的信号通道延时、积分载波相位测量、生成时间记号(TMARK)、世界协调时(UTC)误差预算、寄存器。
3.如权利要求2所述的GPS和GLONASS多信道并行信号追踪方法,其特征是所述寄存器包括控制寄存器(CONTROL REGISTERS),用来编制器件的功能;状态寄存器(STATUSREGISTERS),用来只是器件内的进程的状态;累加器数据寄存器(ACCUMULATED DATAREGISTERS),每毫秒提供一次C/A编码的累加结果,这是捕获和追踪卫星信号的原始数据;测量数据寄存器(MEASUREMENT DATA REGISTERS),锁存载波数字控制振荡器相位,载波周期计数,编码数字控制振荡器相位,一毫秒内的历元数,还有每9.09或者100毫秒间隔的以20-毫秒为单位的历元数,这是用于计算伪距的原始数据。
4.实现权利要求1的GPS和GLONASS多信道相关器,其特征是包括多信道相关器,该多 信道相关器包括时钟发生器、时间基发生器、寄存器、地址解码器、总线界面、多个追踪模块,其中多个追踪模块经总线并联,并联后的多个追踪模块分别连接时钟发生器、时间基发生器、寄存器,并经总线界面连接地址解码器。
5.如权利要求4所述的GPS和GLONASS多信道相关器,其特征是所述追踪模块包括载波数字控制振荡器、编码数字控制振荡器、载波循环计数器、C/A编码发生器、信号源选择器、载波混合器、编码混合器、累加和丢弃、编码相位计数器、编码拨动计数器、历元计数器;
6.如权利要求4所述的GPS和GLONASS多信道相关器,其特征是所述寄存器包括控制寄存器、状态寄存器、累加器数据寄存器、测量数据寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101881889A CN102788983A (zh) | 2010-05-31 | 2010-05-31 | Gps和glonass多信道并行信号追踪方法及相关器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101881889A CN102788983A (zh) | 2010-05-31 | 2010-05-31 | Gps和glonass多信道并行信号追踪方法及相关器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102788983A true CN102788983A (zh) | 2012-11-21 |
Family
ID=47154434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101881889A Pending CN102788983A (zh) | 2010-05-31 | 2010-05-31 | Gps和glonass多信道并行信号追踪方法及相关器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102788983A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472467A (zh) * | 2013-09-17 | 2013-12-25 | 豪芯微电子科技(上海)有限公司 | 阵列式通道、gnss接收机及其信号处理方法 |
CN107430196A (zh) * | 2015-03-10 | 2017-12-01 | 西门子公司 | 用于位置确定的方法和设备 |
CN109861895A (zh) * | 2019-01-07 | 2019-06-07 | 北京航天晨信科技有限责任公司 | 一体化通信设备 |
CN112532207A (zh) * | 2020-11-19 | 2021-03-19 | 浙江集速合芯科技有限公司 | 一种片上可变滤波器快速调谐的方法 |
CN113253214A (zh) * | 2021-04-23 | 2021-08-13 | 中国电子科技集团公司第二十九研究所 | 一种信道间的相位校正方法 |
CN113630132A (zh) * | 2018-08-03 | 2021-11-09 | 华为技术有限公司 | 多相信号生成 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1270700A (zh) * | 1998-07-20 | 2000-10-18 | 三星电子株式会社 | 用于全球定位系统的多信道数字接收机 |
CN1285980A (zh) * | 1998-11-11 | 2001-02-28 | 三星电子株式会社 | 卫星无线导航系统的伪噪声信号接收机 |
CN201926762U (zh) * | 2010-05-31 | 2011-08-10 | 北京联星科通微电子技术有限公司 | Gps和glonass多信道相关器 |
CN102313892A (zh) * | 2010-05-31 | 2012-01-11 | 北京联星科通微电子技术有限公司 | Gps和glonass多信道并行信号追踪方法及追踪模块 |
-
2010
- 2010-05-31 CN CN2010101881889A patent/CN102788983A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1270700A (zh) * | 1998-07-20 | 2000-10-18 | 三星电子株式会社 | 用于全球定位系统的多信道数字接收机 |
CN1285980A (zh) * | 1998-11-11 | 2001-02-28 | 三星电子株式会社 | 卫星无线导航系统的伪噪声信号接收机 |
CN201926762U (zh) * | 2010-05-31 | 2011-08-10 | 北京联星科通微电子技术有限公司 | Gps和glonass多信道相关器 |
CN102313892A (zh) * | 2010-05-31 | 2012-01-11 | 北京联星科通微电子技术有限公司 | Gps和glonass多信道并行信号追踪方法及追踪模块 |
Non-Patent Citations (1)
Title |
---|
郑铁男: "《多通道数字化扩频信号处理技术》", 《导弹与航天运载技术》, no. 3, 30 June 1993 (1993-06-30), pages 2 - 3 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472467A (zh) * | 2013-09-17 | 2013-12-25 | 豪芯微电子科技(上海)有限公司 | 阵列式通道、gnss接收机及其信号处理方法 |
CN103472467B (zh) * | 2013-09-17 | 2015-06-24 | 豪芯微电子科技(上海)有限公司 | 阵列式通道、gnss接收机及其信号处理方法 |
CN107430196A (zh) * | 2015-03-10 | 2017-12-01 | 西门子公司 | 用于位置确定的方法和设备 |
CN107430196B (zh) * | 2015-03-10 | 2020-11-06 | 西门子交通有限公司 | 用于位置确定的方法和设备 |
CN113630132A (zh) * | 2018-08-03 | 2021-11-09 | 华为技术有限公司 | 多相信号生成 |
CN113630132B (zh) * | 2018-08-03 | 2022-03-29 | 华为技术有限公司 | 多相信号生成 |
US11782475B2 (en) | 2018-08-03 | 2023-10-10 | Huawei Technologies Co., Ltd. | Multi-phase signal generation |
CN109861895A (zh) * | 2019-01-07 | 2019-06-07 | 北京航天晨信科技有限责任公司 | 一体化通信设备 |
CN112532207A (zh) * | 2020-11-19 | 2021-03-19 | 浙江集速合芯科技有限公司 | 一种片上可变滤波器快速调谐的方法 |
CN112532207B (zh) * | 2020-11-19 | 2024-01-26 | 浙江集速合芯科技有限公司 | 一种片上可变滤波器快速调谐的方法 |
CN113253214A (zh) * | 2021-04-23 | 2021-08-13 | 中国电子科技集团公司第二十九研究所 | 一种信道间的相位校正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7577524B2 (en) | Method and system for data detection in a global positioning system satellite receiver | |
US5893044A (en) | Real time clock apparatus for fast acquisition or GPS signals | |
CN102788983A (zh) | Gps和glonass多信道并行信号追踪方法及相关器 | |
US5373531A (en) | Signal acquisition and reception method for a global positioning system signal | |
CN102109604B (zh) | Gps/galileo导航基带处理芯片及导航接收机 | |
CN102809750A (zh) | 利用预测的混合式卫星定位 | |
CN100360953C (zh) | 带有校正多径信号效应装置的射频信号接收机及启动该接收机的方法 | |
CN102313892B (zh) | Gps和glonass多信道并行信号追踪方法及追踪模块 | |
KR20060053188A (ko) | 초기 개략적 위치를 알지 못한 상태에서 라디오-주파수신호 수신기의 위치를 결정하는 방법, 및 상기 방법을구현한 수신기 | |
US6236355B1 (en) | Fast recovery of lock point information for GPS RTK receiver | |
EP2817660B1 (en) | Low power asynchronous gps baseband processor | |
CN211577433U (zh) | 全球导航卫星系统接收器装置 | |
CN103983989B (zh) | 一种用于卫星定位导航接收系统的数字非整数跟踪环路 | |
KR100763067B1 (ko) | 위성 위치 확인 시스템에서의 지원 | |
CN201926761U (zh) | Gps和格洛纳斯多信道追踪模块 | |
CN201926762U (zh) | Gps和glonass多信道相关器 | |
Girau et al. | Efficient software defined radio implementations of GNSS receivers | |
CN201837723U (zh) | Gps和glonass多信道相关器的编码混合器 | |
US8742985B1 (en) | Ultra low power global navigation satellite system (GNSS) receiver operation | |
Baracchi-Frei | Real-time GNSS software receiver optimized for general purpose microprocessors | |
Capua et al. | A GNSS software receiver for governmental applications | |
Ramakrishnan et al. | Design and analysis of reconfigurable embedded GNSS receivers using model-based design tools | |
CN101506680A (zh) | 涉及接收机中的非相干积分的改进过程 | |
CN102262231A (zh) | Gps和glonass多信道并行信号编码混频方法及编码混合器 | |
Chikkabbaiah et al. | Accord's Next Generation High Performance GPS/WAAS Receiver Based on the Soft-Correlator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121121 |