CN103051310B - 一种用于星载高速调制器编码fpga中的dcm自动复位方法 - Google Patents
一种用于星载高速调制器编码fpga中的dcm自动复位方法 Download PDFInfo
- Publication number
- CN103051310B CN103051310B CN201210264451.7A CN201210264451A CN103051310B CN 103051310 B CN103051310 B CN 103051310B CN 201210264451 A CN201210264451 A CN 201210264451A CN 103051310 B CN103051310 B CN 103051310B
- Authority
- CN
- China
- Prior art keywords
- count
- dcm
- frequency
- clkin
- test
- 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.)
- Active
Links
Landscapes
- Manipulation Of Pulses (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种用于星载高速调制器编码FPGA中的DCM自动复位方法,(1)使用DCM模块的输入时钟clkin产生主计数器count,计数范围从0到T,count受到clkin的触发进行循环;(2)在count=0的时刻,使用DCM模块的输入时钟clkin产生时钟判读计数器count_test,并在count=0的时候对count_test进行清0,同时将复位信号rst置为0;(3)主计数器count从1开始计数至t1,利用输入时钟clkin信号对倍频输出时钟信号clkout的频率进行判读;(4)在count=t1+1时刻,当count_test>MAX,或者count_test<MIN,或者DCM锁定标志为低时,则表明DCM模块失锁,置复位信号rst=1,反之rst=0;(5)count=t1+2至t2时刻,复位信号rst保持;(6)count=t2+1至T时刻,复位信号rst=0。
Description
技术领域
本发明涉及一种用于星载高速调制器编码FPGA中的DCM自动复位设计技术。
背景技术
目前,星载高速调制器中的信道编码功能大多使用Xilinx公司FPGA来实现,其中时钟频率合成功能由FPGA中数字时钟管理模块(DCM)完成。
考虑到卫星产品对可靠性的苛刻要求,在应用前需要确定DCM模块工作的稳定性。通过查阅Xilinx公司VertexII系列器件用户手册《Virtex-II Platform FPGA User Guide》(UG002),当FPGA器件发生重配置、输入时钟抖动较大、或改变输入时钟频率等情况发生时,可能导致DCM失锁。而星载高速调制器在实际应用中,有工作速率切换的模式,即输入时钟频率发生变化,且变化值较大。
根据手册要求,此时需要对DCM模块进行手动恢复。器件重新加电可以达到这一效果,但影响范围太大,手册中强烈推荐使用DCM复位信号“RST”对DCM进行复位来确保达到可靠的锁定状态。
因此在星载高速调制器编码FPGA中,“RST”复位信号的应用对DCM模块是必要的。
目前的设计方法有两种:
第一种通过总体设计保证调制器开机时输入时钟已稳定,设计保证在输入时钟频率切换后,发送复位信号确保锁定状态。这种思路属于被动模式,需要星载调制器的前级数据处理器、配电控制器共同配合来完成,以往的型号研制采用了这一方案。该方案的缺点是实现复杂,同时复位指令时按照事先约束好的时序发送,发送完毕是否有效复位无法判断,如出现异常则可能影响任务执 行。
第二种方法原理如下,如果DCM工作异常,则输出时钟异常,调制器输出调制谱将不能被地面正确解调,当判断地面调制器的锁定异常时,上注复位指令给星上,对调制器进行复位。这种思路属于主动模式,可以在DCM输出错误时做出识别,并主动复位,直到达到正常的状态。该方案的缺点是需要地面和星上共同配合,操作过程延迟大,同时由于需要上下行共同配合,提高了星务软件的复杂度。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种用于星载高速调制器编码FPGA中的DCM自动复位方法,该方法实时性、可实现性及可靠性强。
本发明的技术解决方案是:一种用于星载高速调制器编码FPGA中的DCM自动复位方法,步骤如下:
(1)使用DCM模块的输入时钟clkin产生主计数器count,计数范围从0到T,count受到clkin的触发进行循环;
(2)在主计数器count=0的时刻,使用DCM模块的输入时钟clkin产生时钟判读计数器count_test,并在count=0的时候对count_test进行清0,同时将复位信号rst置为0;
(3)主计数器count从1开始计数至count=t1,利用输入时钟clkin信号对倍频输出时钟信号clkout的频率进行判读;具体如下:
(3.1)将clkout进行N分频后进行M倍频,得到用于检测频率的分频时钟count_clk;M≤32;
(3.2)输入时钟clkin对分频时钟count_clk进行判断,当分频时钟count_clk上升沿时,时钟判读计数器count_test加1,复位信号rst=0;
设n=t1/(N/M),n要求为两位数;
(4)在count=t1+1时刻,当count_test>MAX,或者count_test<MIN, 或者DCM锁定标志为低时,则表明DCM模块失锁,置复位信号rst=1,反之rst=0;MAX=n+2,MIN=n-2;
(5)count=t1+2至t2时刻,复位信号rst保持步骤(3)的设置;t2-t1>4;
(6)count=t2+1至T时刻,复位信号rst=0,下一循环从步骤(2)开始。
所述的clkin判断count_clk上升沿出现的方法如下:用clkin对count_clk进行2次延迟采样,当两次采样得到的值分别为1和0时,即为count_clk上升沿出现的时刻。
本发明与现有技术相比有益效果为:
(1)本发明提出是在调制器编码FPGA内部定时、自动对DCM输出时钟的正确性进行判决,并根据需要发送复位指令进行复位。本思路也属于主动模式,不同之处是DCM工作状态的监测和复位指令的发送都在调制器编码FPGA内部完成,对前级设备没有特殊要求,实现方式可以在调制器编码FPGA内部增加一个VHDL预研描述的子程序模块,实时性、可实现性及可靠性三方面均有优势,而且产品通用性和可移植性更好。
(2)本发明在增加了复位指令主动性的同时,并未给设备本身及***带来过多的开销,只需要在FPGA自身的程序中增加一个模块,进行简单的参数设置即可满足不同应用条件,这使的星载高速调制器复杂的编码算法中不同频率的时钟变换更加可靠、方便。
附图说明
图1为DCM模块接口图;
图2为本发明自动复位流程图。
具体实施方式
下面结合附图对本发明做详细说明。
首先介绍本发明的原理:本发明的关键是确定识别出DCM失锁的关键因素,以及合理有效的发出复位信号。从DCM模块的接口图中可以看出,它有一个名为“LOCKED”的输出信号,Xilinx用户手册《Virtex-II Platform FPGA User Guide》(UG002)该信号的定义为“当激活的所有DCM电路锁定时变为高”(见图1)。
而在实际应用中我们发现,DCM模块的锁定信号并不能可靠的反应DCM的输出状态,在某些情况下可能出现锁定信号为高,而DCM模块工作不正常的情况。也就是说,不能单独依赖“LOCKED”信号来判断DCM的锁定状态。从实际角度出发,最直接的判断DCM锁定正确性的方法即判断出输出信号的频率,这就需要一个参考时钟,在不增加产品复杂度的情况下,最好的办法就是使用输入时钟作为参考信号,原因如下:
只有输入时钟正常或最终处于正常状态的情况下,我们所做的这些工作才是有意义的,因此假定输入时钟是正常的;
输入时钟和输出时钟的关系是确定的(倍频次数确定),因此当切换输入时钟速率时,复位机制电路不需要再做适应性修改;
鉴于输出频率和输入频率可能非常接近,而且往往高于输入频率,因此在判决前需要按照事先设定的因子先对输出时钟进行分频,得到一个比较低的频率再进行计数判决。
使用输入时钟产生的计数器对DCM倍频模块的锁定标志位和倍频输出信号的频率进行监控,如果发现锁定标志变低或输出时钟频率超出范围则产生复位脉冲对DCM模块复位。复位信号为高电平有效。
根据以上设计原理,以M倍频为例(M最高为32,可以是任意两个小于32的自然数组成的分数),自复位信号rst的产生方法如图2所示。
在图2的流程图中,定义DCM模块的输入时钟信号为clkin,倍频输出时钟信号为clkout,复位信号rst,锁定标志信号LOCKED。
整个自动复位过程可以分为6个步骤:
●步骤1
使用输入时钟clkin产生主计数器count,范围从0到T,受到clkin的触发进行循环。针对背景应用中超过几十兆频率的时钟信号,建议T可以选择 100000。
●步骤2
步骤2的执行时间为主计数器count=0的时刻。
使用输入时钟clkin产生时钟判读计数器count_test,并在count=0的时候对count_test进行清0,同时将复位信号rst置为0。
●步骤3
步骤3的执行时间为主计数器count=1~t1的时刻。步骤3中使用clkin信号对倍频输出时钟信号clkout的频率进行判读。
首先将clkout进行N分频,得到一个相对于clkin较低的频率,假定倍频次数M为2,则可以选择N为1024,此时得到用于检测频率的分频时钟count_clk=clkout/1024=clkin*2/1024=clkin/512。
接下来对count_clk信号的频率进行判读。步骤3的执行时间为count=1~t1的时刻,如果clkout频率正确,则这段时间中count_clk共有t1/(N/M)=t1/512个周期,而每当count_clk出现一个上升沿时,时钟判读计数器count_test加1,这里可以取t1=8192,则步骤3结束时,count_test将停留在8192/512=16。
步骤3的参数选择主要是考虑不同时钟之间的比例关系,参数选取的原则就是count_clk应当是clkin的几百分之一(1000分之一至500分之一),而最终应保证count_test在步骤3结束时至少是2位数。
使用clkin判断count_clk上升沿出现的方法如下:用clkin对count_clk进行2次延迟采样,当两次采样得到的值分别为1和0时,即为count_clk上升沿出现的时刻。
●步骤4
步骤4的执行时间为主计数器count=t1+1的时刻。
步骤4中,将根据前面分析的结论,从LOCKED信号的电平和clkout的频率两个因素对DCM模块的工作状态进行判断。当LOCKED信号变低或count_test信号未停留在正确位置,则认为DCM工作异常。因此步骤4的重 点就是要识别出以上两种情况,并决定是否发送复位信号。
对于count_test信号,这里需要给出MAX和MIN两个容错边界,这是因为clkin对court_clk的异步采样可能出现误差。以上面步骤中选取的参数为例,count_test在此时应当停留在16,我们选取MAX和MIN分别为18和14,则当count_test高于18或小于14时,我们认为输出频率错误。
当count_test大于MAX或小于MIN,或DCM锁定标志为低,则DCM失锁,复位信号rst置’1’,反之rst置’0’。
●步骤5
步骤5的执行时间为主计数器count=t1+2~t2的时刻。
步骤5中,将rst信号(在t1+1时刻的值)在t1+2~t2的范围内进行了保持,以得到足够的复位脉冲宽度。复位信号脉冲宽度要求大于3个时钟周期,这里选择一个较大的值,例如t2选50000,保证足够的余量。
●步骤6
步骤6的执行时间为主计数器count=t2+1~T的时刻。
步骤6中,rst置’0’,一直到计数器count计到T,作为复位动作的执行等待时间。Xilinx公司手册中对DCM复位后到锁定状态所需时间的描述,要求数千个时钟周期,这里选择一个较大的值,例如50000,保证足够的余量。
综上,DCM复位机制一个判断周期共为T个时钟(clkin)周期,以50MHz的输入时钟为例,假定T选取100000,一个判断周期仅需要2ms,复位延迟非常小。
程序设计中提取出M,MAX,MIN三个可变自选参数,作为模块的调节因子,通过适当取值即可适应不同频率的需求,在编码程序中直接调用该模块即可。
本发明未详细说明部分属于本领域技术人员公知常识。
Claims (2)
1.一种用于星载高速调制器编码FPGA中的DCM自动复位方法,其特征在于步骤如下:
(1)使用DCM模块的输入时钟clkin产生主计数器count,计数范围从0到T,count受到clkin的触发进行循环;
(2)在主计数器count=0的时刻,使用DCM模块的输入时钟clkin产生时钟判读计数器count_test,并在count=0的时候对count_test进行清0,同时将复位信号rst置为0;
(3)主计数器count从1开始计数至count=t1,利用输入时钟clkin信号对倍频输出时钟信号clkout的频率进行判读;具体如下:
(3.1)将clkout进行N分频后进行M倍频,得到用于检测频率的分频时钟count_clk;M≤32;
(3.2)输入时钟clkin对分频时钟count_clk进行判断,当分频时钟count_clk上升沿时,时钟判读计数器count_test加1,复位信号rst=0;
设n=t1/(N/M),n要求为两位数;
(4)在count=t1+1时刻,当count_test>MAX,或者count_test<MIN,或者DCM锁定标志为低时,则表明DCM模块失锁,置复位信号rst=1,反之rst=0;MAX=n+2,MIN=n-2;
(5)count=t1+2至t2时刻,复位信号rst保持步骤(3)的设置;t2-t1>4;
(6)count=t2+1至T时刻,复位信号rst=0,下一循环从步骤(2)开始。
2.根据权利要求1所述的一种用于星载高速调制器编码FPGA中的DCM自动复位方法,其特征在于:所述的clkin判断count_clk上升沿出现的方法如下:用clkin对count_clk进行2次延迟采样,当两次采样得到的值分别为1和0时,即为count_clk上升沿出现的时刻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210264451.7A CN103051310B (zh) | 2012-07-27 | 2012-07-27 | 一种用于星载高速调制器编码fpga中的dcm自动复位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210264451.7A CN103051310B (zh) | 2012-07-27 | 2012-07-27 | 一种用于星载高速调制器编码fpga中的dcm自动复位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103051310A CN103051310A (zh) | 2013-04-17 |
CN103051310B true CN103051310B (zh) | 2015-07-08 |
Family
ID=48063832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210264451.7A Active CN103051310B (zh) | 2012-07-27 | 2012-07-27 | 一种用于星载高速调制器编码fpga中的dcm自动复位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051310B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835005B (zh) * | 2017-10-24 | 2021-07-13 | 西安空间无线电技术研究所 | 一种xilinx fpga dcm复位信号设计方法及*** |
CN108169619B (zh) * | 2017-11-29 | 2020-10-02 | 杭州柯林电气股份有限公司 | 应用于电缆监测***的卫星秒脉冲输出装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481075A (zh) * | 2002-07-18 | 2004-03-10 | 三星电子株式会社 | 开电复位电路和方法 |
CN1581715A (zh) * | 2003-08-01 | 2005-02-16 | 华为技术有限公司 | 对同步数字体系设备主备时钟相位进行控制的方法 |
CN101917188A (zh) * | 2010-07-29 | 2010-12-15 | 西安空间无线电技术研究所 | 一种解调器自恢复锁定的方法 |
US7928791B1 (en) * | 2009-11-23 | 2011-04-19 | Texas Memory Systems, Inc. | Method and apparatus for clock calibration in a clocked digital device |
US7990173B1 (en) * | 2010-03-16 | 2011-08-02 | Xilinx, Inc. | Single event upset mitigation |
CN102291130A (zh) * | 2011-04-02 | 2011-12-21 | 长沙景嘉微电子有限公司 | 一种锁定精度和锁定频率均可编程的锁定检测电路 |
-
2012
- 2012-07-27 CN CN201210264451.7A patent/CN103051310B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481075A (zh) * | 2002-07-18 | 2004-03-10 | 三星电子株式会社 | 开电复位电路和方法 |
CN1581715A (zh) * | 2003-08-01 | 2005-02-16 | 华为技术有限公司 | 对同步数字体系设备主备时钟相位进行控制的方法 |
US7928791B1 (en) * | 2009-11-23 | 2011-04-19 | Texas Memory Systems, Inc. | Method and apparatus for clock calibration in a clocked digital device |
US7990173B1 (en) * | 2010-03-16 | 2011-08-02 | Xilinx, Inc. | Single event upset mitigation |
CN101917188A (zh) * | 2010-07-29 | 2010-12-15 | 西安空间无线电技术研究所 | 一种解调器自恢复锁定的方法 |
CN102291130A (zh) * | 2011-04-02 | 2011-12-21 | 长沙景嘉微电子有限公司 | 一种锁定精度和锁定频率均可编程的锁定检测电路 |
Also Published As
Publication number | Publication date |
---|---|
CN103051310A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10461920B2 (en) | Digital oversampling clock and data recovery circuit | |
US9632486B2 (en) | Masking circuit and time-to-digital converter comprising the same | |
CN103490775B (zh) | 基于双环结构的时钟数据恢复控制器 | |
CN102754348B (zh) | 时钟合成***、电路和方法 | |
CN104485947A (zh) | 一种用于gps驯服晶振的数字鉴相器 | |
CN103269220A (zh) | 基于数字琐相环的nfc有源负载调制的时钟恢复电路 | |
CN101878594A (zh) | 基于分数输入和输出相位而操作的数字锁相环 | |
WO2012160105A1 (en) | Apparatus for synchronizing a data handover between a first clock domain and a second clock domain | |
CN103051310B (zh) | 一种用于星载高速调制器编码fpga中的dcm自动复位方法 | |
CN103563249A (zh) | Pll双边沿锁定检测器 | |
CN104579455B (zh) | 一种星载数传发射机的多数据通道自主选择处理装置 | |
CN208353312U (zh) | 时钟同步电路和异步数据同步电路 | |
US8354866B2 (en) | PLL start-up circuit | |
CN108023846A (zh) | 检测fsk调制信号的方法、电路、设备及计算机程序产品 | |
CN103051340A (zh) | 时间数字转换***与频率合成器 | |
CN105162458B (zh) | 一种整星单粒子软错误时频故障地面模拟*** | |
US20120166859A1 (en) | Method and apparatus for generating a system clock signal | |
CN103051336A (zh) | 频率合成器与频率合成方法 | |
CN103986460B (zh) | 一种使用无锁定指示锁相环的SoC片内时钟生成电路 | |
CN102857222A (zh) | 一种***时钟的动态调整方法和电路 | |
CN103812505B (zh) | 位同步锁定检测器 | |
CN205039800U (zh) | 具有迟滞功能的时间数字转换电路 | |
Elmiligi et al. | Design and implementation of BPSK MODEM for IEEE 802.15. 4/ZigBee devices | |
CN107294531A (zh) | 锁相回路和分频器 | |
CN103051335A (zh) | 频率合成器与频率合成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |