时钟模块培训资料WenshuLiuTableofContents1.基本概念1.1.同步与时钟1.2.如何同步?1.3.时钟拓扑1.4.时钟等级1.5.参考源1.6.时钟环路1.7.SSM1.8.指针调整和再定时1.9.长链应用1.10.同步以太网2.时钟配置2.1.时钟部分总体结构2.2.配置接口说明2.3.一般配置2.4.SSM配置2.5.长链配置2.6.高级配置3.软件模块3.1.层次结构3.2.线程模型3.3.配置管理层3.4.同步接口层3.5.网同步层3.6.同步分配层3.7.硬件适配和驱动层4.关键芯片4.1.晶振4.2.ACS85105.时钟指标测试5.1.仪表介绍和使用5.2.仪表通用设置5.3.频率准确度5.4.牵引入/保持入/牵引出范围5.5.噪声产生5.6.抖动产生5.7.噪声容限5.8.噪声传递特性5.9.相位瞬变和保持性能5.10.相位干扰响应5.11.相位不连续性6.疑难解答7.附录7.1.2Mbit/s的帧结构与SSM8.参考文档1.基本概念在介绍时钟模块的软件设计与实现之前,有必要介绍一些时钟相关的基本概念,诸如为什么需要时钟,怎么做到同步等。这些基本概念对理解时钟软件至关重要。时钟模块做为SDH系统的一个重要子模块,提供了符合建议的功能集和性能集,要理解时钟模块,除了掌握时钟功能外,还需要理解时钟模块所支持的大量性能指标,这些都会在后面的章节中讲述。1.1.同步与时钟SDH的'S'是Synchronous的缩写,我们称之为同步。这反映了SDH网络的一个重要特征,既各个网元之间要有同步的钟,我们称之为时钟的同步,对于多个网元组成的网络,则称之为网络同步,网同步是SDH网络的重要特征。从实现的角度来看,网元间的同步是为了保证数字信号从发送端到接收端时,接收端能在正确的时间位置处提取出正确的数据,这对发收双方的时钟频率就有一个精度的要求,需要控制在一定的范围,具体多大的范围属于时钟的性能指标,不属于我们研究的范围。各种标准规范组织都对时钟性能指标做了明确的定义(在参考文档部分列出了主要的建议和规范),我们只需要实现一个符合这些规范的时钟就可以了。Note一个重要的区别需要了解:时钟和时间。我们所说的时钟并不是提供日历时间(比如几点几分几秒),而是提供频率信息。一个SDH系统需要很多频率,比如用于SDH帧处理的帧频率8K,或者用于接口板的信号处理的时钟频率(可能是19.44M或其它频率),这些都由时钟模块来提供,而时间信息,比如我们软件在记log时需要一个时标(就是记录log时的时间),则由其它机制来提供,这个时标和时钟模块是不相关的。1.2.如何同步?我们的网元是怎么产生符合要求的时钟呢?通常情况下,网元内部有一个晶振,这颗晶振自己就可以产生一个时钟频率。为了实现网络的同步,最简单的做法是我们可以在每个网元上放置一个足够高精度的晶振,这样大家就可以符合同步的要求了,但在实现中,这种做法并不现实。因为难以实现这么高精度的晶振,而且晶振的特性决定了它会随时间老化,老化后各个网元就难以达到同步的要求了。实际的做法是,大多数网元使用一种叫做“跟踪”(Lock)的同步方式,在这种方式下,网元从一个输入信号中提取时钟信息,我们把这个输入信号称为跟踪源,并由此产生本网元所需要的各种时钟信息,在硬件上,这是通过锁相环(PLL)技术实现的,锁相环的输入就是跟踪源,锁相环的输出就可以提供给本网元使用,而网元输出的信号又可以做为下游网元的跟踪源,这样一级一级网元传递下去,就形成了时钟的传递链路,下面一张图表示了这种跟踪关系(NE1将时钟传递给NE2,再传递给NE3):由于锁相环的存在,多个处于跟踪状态的网元之间的时钟频率差异很小,这样就可以满足SDH网络同步的要求,因此SDH网元在通常情况下都是工作于跟踪模式。但对于一个网络来说,总有一个时钟源头,处于源头的网元通常有两种获取自己时钟信息的方法:它可以从一个高等级的专用时钟设备获取定时,常见的情况是从BITS(一种专用的时钟设备),另外一种方法是在一些要求不严格的网络中,源头的网元可以直接采用晶振的输出,也就说不跟踪任何跟踪源,我们把这种工作状态称为自由运行(Freerun),比如上图中的Ne1就可以配置为自由运行状态,这时其它网元通过一级一级的跟踪都保持和Ne1同步,虽然Ne1处于自由运行状态,但这时整个网络仍然维持了同步,所以这时网络的同步性能也是可靠的,但如果有多个网元处于自由运行状态,那么就意味着网络内的同步不一致。在网络发生故障期间,或网元维护期间,网元的跟踪源可能会失效(比如信号丢失或劣化等),这时网元会进入保持(Holdover)模式,这种模式可以在短时间内维持之前跟踪状态下的时钟性能,这比自由运行状态要好一些。总结一下,在SDH网络中,网元可以工作于跟踪、保持、自由运行三种方式之一:跟踪模式:网元跟踪某个参考源,这个参考源可能来自上一级网元,也可能来自其它外部信号。与保持和自由运行模式相比较,此种工作模式时钟的准群度最高。保持模式:当处于跟踪模式的网元的跟踪源丢失后,会进入保持模式,此时时钟模块利用跟踪源信号丢失前所存储的最后频率信息作为基准而工作。此种工作方式能提供较高的时钟精度,但不能持续很久。自由运行模式:网元初次上电或没有配置参考源时,会处于自由运行模式,此时的时钟准确度依赖于内部的晶振,因此准确度较低。1.3.时钟拓扑按照时钟的同步方向,我们可以画出一个网络的时钟拓扑(在我们的网管上就提供了专门的时钟拓扑界面),这便于我们直观的查看网络内同步的情况。最简单的时钟拓扑是链形拓扑,就是每个网元依次跟踪形成的一条链,我们在上一节的例子中已经接触到了,除了链形拓扑外,树形拓扑也比较常见,如下图:我们要注意,这里所说的时钟拓扑只显示了时钟同步的方向,它忽略了多余的物理链路,因为每个网元其跟踪源只能有一个(如果网元处于自由运行或保持方式,则没有跟踪源),因此即时在一些复杂的组网中,时钟拓扑通常也比实际的物理拓扑要简单。1.4.时钟等级ITU-T将各级别时钟进行规范,并给每级时钟都定义了具体的指标要求,下标列出了ITU-T定义的时钟质量级别:缩略语等级规范PRC基准主时钟G.811SSU-A转接局时钟G.812SSU-B端局时钟G.812SECSDH网络单元时钟G.813我们有时会将PRC俗称为一级钟,SSU-A/SSU-B称为二级钟(SSU-A的性能要好于SSU-B),SEC称为三级钟。我们SDH网元内置的钟只要能符合SEC的要求就可以了,这样在自由运行时,我们的网元就是一个符合SEC规范等级的三级钟。而如果网元跟踪一个高等级的信号,比如如果网元跟踪一个SSU-A级别的时钟设备送来的信号,那么只要处在跟踪模式下,这个网元就可以达到SSU-A级别的时钟性能。Note实验室有很多SDH仪表,它们从原理上看,只需要符合三级钟规范就可以了,因此大部分SDH仪表内置的钟只能达到SEC规范。另一个在实验室常见的仪表-铷钟则是典型的二级钟,可以达到SSU-B甚至SSU-A的要求。而在运营商机房常见的BITS设备通常也是二级钟。通常情况下,一个网络,一个运营商,甚至一个国家,其SDH网络的时钟都是按照等级一级一级跟踪下去的,比如过去我们国家的PRC位于北京和武汉,它们构成1+1备份(现在可能有更多的部署),通过若干二级钟传送到各个城市,并可能做为SDH网络的参考来源。当然时钟传递的节点个数是有限制的,这是因为传递过程中会引入噪声,一般对于三级钟来说,最多可以传递20个网元,如果有超出这个长度的链路需要传时钟,那就要考虑引入更多的高级别时钟,或者对长链末端的网元时钟进行补偿。当然,在某些网络边界出,不便于相互跟踪,比如典型的情况是国家与国家之间,所以这时,双方可以都各自独立使用高精度的时钟,这样也可以保证互连互通,这种同步方式一般称之为“伪同步”。1.5.参考源一个处于跟踪状态的网元只能有一个跟踪源,但可以有多个参考源,这很容易理解,因为可以在一个参考源失效后自动切换到另一个源上,对于SDH网元来说,可用的参考源主要有三种类型,按照建议的规定,它们分别被称为T1/T2/T3:SDH信号(T1)PDH信号(T2)外部参考源(T3)SDH和PDH信号SDH和PDH业务信号都可以用来携带时钟信息,这给组网带来了很大的便利,因为我们直接使用SDH网络的业务来同时传送时钟信息,就无需专门为时钟传送建立链路。不论是SDH还是PDH信号,一个网元上都有可能有多个这样的参考源,为了标识,我们使用参考源所在的板位和端口来标记一个参考源,比如3号板1端口的信号,如果作为时钟的参考源来使用的话,我们会将它标识为{3,1},这样的标识在通过我们命令行做时钟配置时常常会遇到。外部参考源除了SDH和PDH信号外,我们的网元还支持外部的参考源,当我们的设备要和非SDH设备对接时钟时,通常不能使用SDH/PDH接口,这时就要依赖这种外部参考源接口了,2MBit/s与2Mhz是两种最常见的外部参考源类型,也是大部分SDH设备都支持的参考源,由于2Mbit/s同时也是PDH接口的速率之一,为了和PDH接口的2Mbit/s相区别,我们有时也称外部参考源为站钟(StationClock)。Note从传送频率信息的角度来看,2Mbit/s和2Mhz两者并没有明显区别,都可以传送符合SDH要求的时钟信息。2Mhz是简单的方波信号,它不能传送额外的信息。但2MBit/s是带有负荷的,可以传送额外的信息,但为了防止负荷中的长0、长1影响时钟恢复,2Mbits/s采用了一种编码方式-HDB3编码,保证即使是负荷有长0或长1的情况下,编码后的比特流仍然维持高低电平的翻转,这样就可以将时钟信息和静负荷同时传送了。那么2MBit/s用于站钟传送时钟时的负荷用来做什么用途呢?简单的说,是用来传递SSM信息(SSM是一种标称时钟质量等级的标签信息,下面的小节会详细讲解)。而严格来讲,2MBits/s的内部帧结构可以非常复杂,它有很多选项,详细的格式定义在ITU-TG.704中给出,我们通过研究建议可以发现,并不是所有的2Mbit/s格式都支持SSM信息的传送,我们会在下面有章节介绍2Mbit/s的几种格式。1.6.时钟环路网络在正常情况下,时钟拓扑应该形成一个无环路的图,也就是可以看成一颗树,但在有些情况下,可能会形成环路,一旦形成时钟跟踪的环路,环路上的时钟质量会急剧劣化。这是我们应该绝对避免的情况。为什么时钟环路会导致时钟性能的劣化?这是因为时钟链路上的每个节点都包括了锁相环,每级锁相环都会引入一定的噪声,在没有时钟环路时,时钟的传递所积累的噪声是可控的,我们只需要控制时钟链路的节点数目就可以了,按照建议的规定,通常我们只需要支持20个网元的时钟链路就可以了。而一旦形成了时钟环,那么这个链路的锁相环个数相当于是无穷大,传递引发的噪声会很快累积起来导致时钟性能劣化。通常的时钟环路都是由于配置不当引发的,比如下面所示的情况就是一种常见的时钟环路:图中,网元1和2相互跟踪,这就形成了一个环路,同样的,下面这种时钟拓扑也形成了时钟环路:对于时钟环路,简单的说,我们可以通过配置来避免。因为SDH网络的SDH/PDH业务连接是不会动态改变的,所以我们在网络规划期间,就规划好时钟的拓扑,只要不出现环路就可以避免时钟环了,比如对于上图中的时钟环,我们只要在配置时,调整NE1和NE3的跟踪方向就可以解决问题了。但是这种通过配置来规避时钟环的方法有一个缺点,就是只能在规划时刻为每个网元确定唯一一个跟踪方向,而实际的网络拓扑中,由于存在各种失效,我们希望网元能有多个时钟参考源做为备份。我们以一个简单的例子来说明这种多参考源的情况:图中,实线表明了时钟跟踪方向,对于NE2,当前跟踪了来自NE1的信号,但我们考虑NE1和NE2间的链路可能会失效,我们希望NE2能够在跟踪源失效的情况下转而跟踪NE3的信号,于是我们给NE2配置了来自NE3的信号也作为一个参考源(图中用虚线画出),当有多个参考源的情况下,我们可以为每个参考源配置不同的优先级,