本应用笔记介绍如何对Maxim的DS314xx时钟同步IC进行现场升级,使其接受并锁定至1Hz输入时钟信号。文章探讨了少数情况下对1Hz时钟监测功能及系统软件支持的需求。基于这些考虑,系统利用DS314xx器件构建标准的时钟同步功能,能够支持1Hz及更高频率的输入时钟。
Maxim的DS314xx系列时钟同步IC是功能强大、设计灵活的同步时钟方案,理想用于电信系统。这些器件最初设计用于锁定至2kHz至750MHz的输入时钟频率,该频率范围满足大多数电信系统的需要。然而,电信系统偶尔还要求与1Hz或1PPS(每秒一个脉冲)输入时钟信号同步。这样的定时信号可能来自GPS接收机或IEEE?1588等从设备。
为了满足这一应用需求,Maxim为DS314xx系列产品开发了1Hz初始化升级方案,该方案支持在系统软件升级。利用该配置,DS314xx器件中的DPLL可直接锁定至1Hz信号,并且能够在1Hz时钟和更高频率时钟之间进行无缝切换。Maxim已经在实验室对DS31400升级系统进行验证,确认其满足ITU-TG.813选项1和2、ITU-TG.8262选项1和2、TelcordiaGR-1244-COREstratum3等对时钟同步的要求,并满足TelcordiaGR-253-CORE的同步要求。用户可申请相应的测试报告。
本应用笔记包含以下内容:
●DS314xx工作在1Hz输入时钟下的设置要求
●DS314xx锁定至1Hz输入时钟时,对几个相关寄存器字段的重新定义
●1Hz输入时钟的外部监测需求
●系统软件对标准兼容性的支持需求
本应用笔记假设读者已经具备电信系统中时钟同步的相关知识,且至少了解一款Maxim的DS314xx时钟同步IC。
设置要求
振荡器
对1Hz输入没有特殊要求。使用没有1Hz输入时钟设计中的相同TCXO或OCXO。Maxim的兼容性测试采用TCXO。
1Hz初始化脚本
必须对DPLL进行修改,使其能够工作在1Hz输入时钟。须执行初始化文件DS314xx_1Hz.mfg中列出的写操作,配置DPLL工作于1Hz输入时钟。该脚本可从DS31400网页下载(技术文档标签页,软件/模型栏的下方)。该脚本适用于任何DS314xx器件。
输入时钟锁定频率
对于1Hz输入,设置ICCR1.LKFREQ=0xE。
1Hz初始化脚本将之前未使用的0xE译码为1Hz。
禁用1Hz输入时钟监测
DS314xx输入时钟监测逻辑不是为1Hz输入时钟设计的。因此,必须对每个1Hz输入时钟禁用以下功能:
频率监测硬件限制(ICCR2.HARDEN=0)
总体频率监测(ICCR2.FREN=0)
采用“漏桶累加器”进行活动监测(ICLBS=0)
DS314xx器件可监测kHz和MHz量级的输入时钟。
DPLL设置
为了满足ITU-TG.813SEC、ITU-TG.8262EEC或TelcordiaGR-1244stratum3时钟同步要求,必须对DPLL进行以下设置:
DPLLCR6.AUTOBW=0
DPLLCR6.LIMINT=1(复位默认值)
DPLLCR1.UFSW=1
DPLLCR4.LBW=00111(将带宽设置为0.06Hz或更低)
DPLLCR6.PBOEN=1(复位默认值)
DPLLCR5.FLEN=0
此外,建议进行如下设置:
HRDLIM[15:0]=421Eh,DPLL频率限制为±9.5ppm
DPLLCR5.FLLOL=1(复位默认值),达到HARDLIM时导致DPLL失锁
DPLLCR2.HOMODE=10,MINIHO=10,指定使用5.8min保持平均
DS314xx_1Hz.mfg初始化脚本对DS314xxIC的DPLL1进行配置,满足上述必要设置和推荐配置。
锁定至1Hz输入时钟时重新定义寄存器字段
PHASE字段
DPLL锁定至1Hz输入时钟时,PHASE字段被重新定义,单位为纳秒,分辨率为1ns。DPLL锁定至kHz或MHz量级的输入时钟时,PHASE寄存器说明请参考数据资料。
FINELIM和COARSELIM字段
DPLL锁定至1Hz输入时钟时,FINELIM字段没有任何意义,必须将其忽略。COARSELIM字段规定DPLL的相位限制。此外,COARSELIM被重新定义,所以DPLL的相位门限为2COARSELIM×32ns。一旦PHASE字段的数值超过该相位门限,PLL1SR或PLL2SR中的PALARM状态置位。DPLL状态机则立即转换至失锁状态。DPLL锁定至kHz或MHz输入时钟时,FINELIM和COARSELIM字段说明请参考数据资料。
1Hz信号的外部监测要求
外部监测
DS314xx输入时钟监测逻辑不能监测1Hz输入时钟。此外,DS314xxDPLL不能因为缺少有效的1Hz输入时钟(即没有时钟沿)或频偏而失效。如果需要监测1Hz输入时钟的有效信号和/或频率,则必须在DS314xx器件外部增加监测功能。
对于来自系统或子系统(GPS接收机或IEEE1588等从设备)的1Hz信号,系统可能已经对1Hz信号源进行了必要监测。这种情况下,系统软件可从信号源接收时钟的状态信息,并且利用相应的VALCR位控制1Hz时钟的有效工作或禁止。
如果系统没有对1Hz信号源进行必要监测,则可在FPGA逻辑电路中构建监测电路。将来自DS314xx的高速时钟信号(例如50MHz或100MHz)连接至FPGA。FPGA内部逻辑电路可在每个1Hz时钟周期内对高速时钟信号进行计数。如果使用100MHz时钟信号时,以这种方式测量频率时,分辨率可以达到0.01ppm。如果发现测得的频率过高或过低,FPGA的监测逻辑电路可以指示频率超出技术指标。随后,系统软件即可利用DS314xx器件中的VALCR位禁止1Hz时钟操作。
工作在1Hz时钟时,如果将VALCR位清零,DPLL将自动锁定到下一优先级的有效输入时钟;如果没有其它时钟,则可切换到保持状态。其它输入可以是1Hz或更高频率的任意时钟。
1Hz输入时钟无效时,DS314xxDPLL的工作状况
DPLL锁定到一个停止翻转(例如电缆断开)的1Hz输入时钟时,DPLL不能快速识别时钟没有翻转。这是因为信号出现时,DPLL每秒只能接收到一个相位更新。DPLL在数秒内才能退出锁存状态,并且可能在Prelocked/Prelocked2、锁存、失锁状态之间切换状态,不会进入保持状态。
当DPLL退出锁存状态(如果使能,会在DS314xxINTREQ引脚产生中断请求),系统软件应该有所反应,判断1Hz信号故障,然后清除VALCR位。此时,允许DPLL切换到下一个有效输入,或在没有其它输入时钟的情况下进入保持状态。
如果系统软件没有禁止失效的1Hz时钟,DPLL在1Hz信号恢复时仍然尝试锁存到1Hz信号,DPLL锁存将非常缓慢。特别是,DPLL频率可能在最终锁定到1Hz输入时钟之前,一直移动在HRDLIM字段设定的正、负门限。该锁定过程可能花费数十或数百秒。如果系统软件检测到DPLL频率偏离标称值过多,可通过清零然后再置位输入时钟的VALCR位进行干预。从而允许DPLL使用其相位扩充程序在数秒内锁定。
进入、退出保持状态所需要的额外步骤
配置工作在1Hz时,DS314xxDPLL只有从DS314xx输入时钟模块接收到“新选定的参考时钟”信号时,才能退出保持状态。为确保从1Hz时钟产生该信号,系统软件必须能够执行以下操作:
无效的1Hz输入时钟必须标记为无效。通过清除相应的VALCR位或将输入时钟的优先级设置为0实现。
有效的1Hz输入时钟必须标记为有效。通过置位相应的VALCR位或将输入时钟的优先级设置为非零值实现。
如果将DPLL强制为保持状态,系统软件必须利用DPLLCR2.STATE字段执行额外的几个步骤。当STATE字段返回到自动状态转换时,如果输入时钟保持有效,则不产生“新选定的参考时钟”信号,DPLL不会退出保持状态。为了避免这种现象,系统软件应将DPLLSTATE字段切回到自动状态,然后执行以下步骤:
如果DPLLCR1.REVERT=0,则将其置1。
清除然后再置位最高优先级、有效输入时钟对应的VALCR位。
将REVERT位恢复到其原始值。
以上步骤使输入时钟模块产生“新选定的参考时钟”信号,它允许DPLL退出保持状态并锁定至最高优先级的有效输入时钟。
增大ppm调整以满足Stratum3标准所需的软件支持
对于频率≤0.06Hz,每秒钟只有一次相位更新时,锁定在1Hz输入时钟的DS314xxDPLL的频率变化非常缓慢。例如,在锁存状态下,改变9.2ppm的频率可能需要10分钟以上的时间。为了满足stratum3标准,系统需要在100s内锁定至新的输入时钟。如果输入时钟的频率与DPLL的当前频率相差高达9.2ppm,如果DPLL采用常规的锁存机制,显然不能满足100s的要求。
幸运的是,系统软件可利用以下步骤大大加速这一过程:
从DS31400外部的时钟监测器获得新的1Hz输入时钟的频率。
(如果信号发生频率跃变,这也可能是当前1Hz时钟信号的新频率。)
计算新频率与FREQ寄存器字段读取的当前DPLL频率之差。
将DPLL当前频率写入手动保持频率字段HOFREQ。
将DPLLCR2.HOMODE和MINHO设置为01,将DPLL配置为手动保持。
通过设置DPLLCR2.STATE=010,强制DPLL进入保持状态。
调整HOFREQ字段的手动保持频率,将其更改到新的频率。为达到GR-1244stratum3标准要求,变化率应小于2.9ppm/s。
通过设置DPLLCR2.STATE=000,允许DPLL进行自动状态转换。
清除然后置位相应的VALCR位,允许DPLL退出保持状态。
将DPLLCR2.HOMODE和MINHO设置为10。
DPLL将快速锁定至1Hz输入时钟。
输出、输入之间的相位差不为零
DS314xxDPLL开始跟踪1Hz输入时钟时,它将输入时钟的当前相位设置为其相位目标,该目标相位通常为0°。DPLL锁定时,DPLL的PHASE寄存器字段中的零值或接近于零的数值表示DPLL已经锁定到选定的目标相位。该DPLL的输出时钟信号与DPLL的目标相位对齐,因此与1Hz输入时钟之间存在一个固定的相位关系,通常是一个不为零的数值。
对于要求输出必须与1Hz输入同相的应用,或者输出与输入相位必须存在受系统控制的相位关系时,Maxim提供的DS31408和DS31415两款器件能够满足这一需求,这些器件包含另外一个称为时间引擎的模块。该时间引擎使得器件能够锁定至1Hz输入时钟,并产生相位精确的输出时钟。
总结
Maxim的DS314xx时钟同步IC可以进行现场升级,使其锁定至1Hz(1PPS)输入时钟信号。利用外部1Hz信号监测电路,并借助本文介绍的系统软件提供少量支持,即可将DS314xx器件构建成符合标准的时钟同步系统,能够工作在1Hz和更高频率的任意输入时钟。