《[精选]IEEE_1588协议基础ppt版.pptx》由会员分享,可在线阅读,更多相关《[精选]IEEE_1588协议基础ppt版.pptx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、IEEE 1588协议基础篇Contents一、时钟同步模型二、消息字段三、数据集四、数据类型一、时钟同步模型IEEE 1588 又叫网络化测量及控制系统的精确时钟同步协议,PTP精确时钟协议,使用硬件和软件配合,不需要额外的时钟线,仍然使用原来以太网的数据线传送时钟信号,使组网连接简化和降低成本。1.1 PTP消息类型分为两类:事件消息、普通消息。事件消息是在发送和接收端都要打精确的时间戳,普通消息不需要打时间戳。1事件消息:SYNC、Delay_Req、Pdelay_Req、Pd l R1.2 消息时间戳的产生当发送和接收任何事件消息时,都会产生时间戳。当消息的时间戳点经过节点与网络的边界
2、时,时间戳事件发生,时间戳产生模型如以下图所示:上图中A B C为打时间戳的点 这个点越靠近1.3 两种同步机制延时请求响应机制Delay Request-Response Mechanism对等延时机制Peer Delay Mechanism1延时请求响应机制使用Sync、Delay_Req、Follow_Up,Delay_Resp消息进行消息同步,测量一对PTP端口的,模型为t2 t1=Delay+Offsett4 t3 =Delay OffsetDelay=t2 t1+t4 t3 2Offset=t2 t1 t4 t3 2在算法校正过程中,对从时钟的校正是通过校正offset实现的,De
3、lay通常影响Offset的值,因此要通过测量这个延迟值来修正Offset。2对等延时机制对等延时机制用来测量端到端传输时间,如支持对等延时机制的通信端口的链路延时。用Pdelay_Req,Pdelay_Resp,Pdelay_Resp_Follow_Up消息进行同步。对于普通和边界时钟,对等延时机制与端口是master还是slave没有关系。=t2 t1+t4 t3 21.4 设备类型有5中基本的设备类型1普通时钟Oridinary clock2边界时钟Boundary clock3端到端透明时钟End-to-end transparentclock4对等透明时钟Peer-to-Peer t
4、ransparentclock5管理节点Management node普通和边界时钟的端口,两种机制都可以使用,端到端透明时钟与这两个机制无关,对等透明时钟使用对等延时机制。1普通时钟通过以一个物理端口为媒介的两个逻辑接口和网络通信,事件接口用来发送和接收事件消息,包括两类数据集,分别是时钟数据集和端口数据集。端口数据集包含端口属性,包括PTP状态。Protocol engine:1发送和接收PTP消息2维护数据集3执行与端口相关的状态机4如果端口在slave状态,基于接收到的PTP定时消息和产生的时间戳,计算Master的时间。Local clock:当普通时钟端口在slave状态时,本地时
5、钟的控制环路调节时钟,使它的时钟与它的主一致。如果端口在master状态,本地时钟在freerun状态2边界时钟边界时钟模型如下图,有多个物理端口,每个端口和一个普通时钟的端口类似,但有一些例外:1时钟数据集对边界时钟的所有端口共用;2local clock也对边界时钟的所有端口共用;3每一个协议引擎需要附加功能,它需要处理所有端口的状态,决定利用哪个端口提供的时间信号来同步本地时钟。与同步、建立主从层次和信令相关的信息终止在一个边界时钟的协议引擎,不再向前转发,管理消息由边界时钟的其它端口转发,服从限制一个系统的消息传输时间的约束3End-to-End透明时钟设备模型如下图,像一个网桥、路由
6、器和转发器一样,端到端透明时钟发送所有的消息。对于PTP事件消息,驻留时间桥测量PTP事件消息的驻留时间。驻留时间在一个特殊的域correctionField累积。这些校正是当事件消息进入和离开透明时钟产生的时间戳的不同。校正值计算如下图所示注意 用来计算驻留时间的时间戳是基于本地时间产aRCRate Control利用延时请求响应机制校正本地时钟频率等于master的时钟频率。这个方法的关键是它的操作是一个闭环,这意味着在一个节点的本地振荡器调节会影响下面的节点。b RERate Estimation不控制本地振荡器,让其自由运行,用本地时间计算的驻留时间加到Sync或者Follow_Up消
7、息中,比较接收到的sync和Follow_Up的驻留时间,计算本地自由运行时钟与上一级时钟之比。当驻留时间相对于时钟比值的足够大,一连串透明时钟的最差相位误差累4Peer_to_Peer 透明时钟设备模型如下图,与End_to_End透明时钟不同在于:它校正和处理PTP定时消息的方式上。对等透明时钟有一个block,这个block用来计算每个端口与其它端口的链路延时。通过交换Pdelay_Req,Pdelay_Resp和Pdelay_Resp_Follow_Up消息来计算。对等透明时钟和链路延时的校正模型如以下图所示。5管理节点管理节点的设备特征是:a可以有一个或者多个物理连接连接到网络中;b
8、PTP管理消息的手动或可编程接口。c能结合所有的时钟类型。1.5 同步在协议的执行过程中又来那个阶段:1建立主从层次;2同步时钟1.5.1 建立主从层次PTP的状态有:Master、Slave和Passive。利用最正确主时钟算法来找最好的时钟,包含两个独立算法:1数据集比较算法2状态决策算法数据集比较算法以以下这些优先属性比较算法:1priority1:用户可配置的指定,指这个时钟是否是固定的可选时钟;2clockClass:详细说明时钟的TAI可跟踪性属性;3clockAccuracy:定义一个时钟精度的属性;4offsetScaledLogVariance:定义时钟稳定性属性;5Prio
9、rity2:是否是备选的主时钟;6clockIdentity:基于独特标志符的附加表示规则。最正确主时钟算法清楚地选择两个时钟中的一个更优。简单的主从层次如以下图所示:只有普通和边界时钟维持这种状态形式,同时也只有边界时钟能在主从层次中建立分支点。二、消息字段PTP协议根据发送和接收到的消息来计算时间偏差和延迟,每个消息都由一个消息头header,消息体body和消息后缀suffix组成。2.1 消息头2.1.1 transportSpecificNibble根据传输的媒介有不同的说明。2.1.2 MessageTypeEnumeration42.1.3 versionPTPUInteger4
10、是发送消息节点的数据集portDS.versionNumber的值。2.1.5 domainNumberUInteger8此消息的发出节点不同,domainNumber的值不同。2.1.6 flagFieldOcet2一些标志位,表示的意义如下表2.1.7 correctionFieldInteger64它的值是ns数诚意216,如2.5ns表示成0 x28000,它的值依赖于消息类型2.1.8 sourcePortIdentityPortIdentitysourcePortIdentiy的值是发送消息端口数据集的portDS.portIdentity的值。2.1.9 sequenceIdUI
11、nteger16除了Follow_Up、Delay_Resp、Pdelay_Resp、Pdelay_Resp_Follow_Up、management消息外,所有的消息都有sequenceId序列池,对于从同一个时钟的同一个端口发出同一个消息,后一个消息的sequenceId是前一个的值1,采用循环计数的方式。2.1.10 controlFieldUInteger8主要是为兼容V1版本而设置的一组值,接收方不使用这组消息。2.1.11 logMessageIntervalInteger8的值决定于消息类型 如2.2 Announce消息域如表:2.2.1 originTimestampTime
12、stamp当Announce消息发送时,这个的值置为0或者是与发送节点的本地时间相差在1s之内。2.2.2 currentUtcOffset2.2.3 grandmasterPriority1UInteger8发送节点数据集成员的parentDS.grandmasterPriority1的值。2.3.4 grandmasterClockQualityClockQuality发送节点数据集成员的parentDS.grandmasterClockQuality的值。2.3.5 grandmasterPriority2UInteger8发送节点数据集成员的parentDS.grandmasterPr
13、iority2的值。2.3.6 grandmasterIdentityClockIdentity数据集成员的parentDS.grandmasterIdentity的值。2.3.7 stepsRemovedUInteger16发送消息的时钟数据集的currentDS.stepsRemoved的值。2.3 Sync和Delay_Req消息2.3.1 originTimestampTimestamp对于Sync消息,当为One-step时钟时,OriginTimestamp的值应该是Sync的,不包括小数ns,Sync消息correctionField的值和originTimestamp的值应该是
14、真实的。当为Two-step时钟时,originTimestamp的值还是,不包括小数ns,但是correctionField的值是0,由对应的Follow_Up消息来表示2.4 Follow_Up消息2.4.1 preciseOriginTimestampTimestampFollow_Up消息的preciseOriginTimestamp是与对应的Sync消息的,Follow_Up消息和Sync消息的correctionField的和与preciseOriginTimestamp相加,就是同步消息发送的精确时间。2.5 Delay_Resp消息2.6 Pdelay_Req消息注意:这里的r
15、eserved域是为了使得Pdelay_Req消息的长度等于Pdelay_Resp消息的长度,因为在一些网络或者网桥中,长度不同的消息有不同的传输时间,这样会引来不对称误差。2.7 Pdelay_Resp消息2.9 管理消息2.9.1 domainNumber of the headerdomainNumber应该是目标domain2.9.2 sequenceId of the header如果是一个响应management消息,sequenceId是接收到的管理消息的sequenceId,否者也有一个序列池。012345FGETSETRESPONSE MONDACKNOWLEDGEReser
16、ved2.9.4 startingBoundaryHopsUInteger8对于非响应的管理消息,startingBoundaryHops是依情况变化的。对于响应的管理消息,它的值是startingBoundaryHopsboundaryHops。2.9.5 boundaryHopsUInteger8指管理消息在边界时钟的剩下需连续转发数量。2.9.6 actionFiledEnumeration4hexValue Action三、数据集普通和边界时钟应该维护的数据集有:1defaultDS2currentDS3parentDS4timePropertiesDS5portDS透明时钟应该维护的
17、数据集:1transparentClockDefaultDS2transparentClockPortDS数据集有三种属性:分别为staticdynamic3.1 defaultDS数据集成员说明defaultDS数据集是描述时钟本身的属性。成员有-defaultDS.twostepFlag-defaultDS.clockIdentity-defaultDS.numberPorts-defaultDS.clockQuality-defaultDS.priority1-defaultDS.priority2-defaultDS.domainNumber-defaultDS.slaveOnly前三
18、个是静态数据成员defaultDS.clockQuality是动态成员,包括:1defaultDS.clockQuality.clockClass2defaultDS.clockQuality.ClockAccuracy3defaultDS.clockQuality.offsetScaledLogVariance这三个数据成员都是时钟自己的属性。3.2 currentDS数据集成员说明数据成员都是动态的,包括的成员有:1currentDS.stepsRemoved指的是在本地时钟和grandmaster时钟之间通信路径的数量。2currentDS.offsetFromMaster=3curre
19、ntDS.meanPathDelay按照两种机制算出来的路径延迟。3.3 parentDS数据集说明parentDS数据集的初始化应该在defaultDS数据集初始化之后,它的所有成员都是动态的。数据集成员有:1parentDS.parentPortIdentity指的是发送Sync消息的Master的PortIdentity,初始化值应该遵循:aparentDS.parentPortIdentity.clockIdentity的值是defaultDS.clockIdentity的值。bparentDS.portNumber的值初始化为0。2parentDS.parentStats如果时钟有一
20、个端口是Slave状态,并且统计地计算出了parentDS.observedParentOffsetScaledLogVariance和parentDS observedParentClockPhaseChangeRate的值时4 parentDS.observedParentClockPhaseChangeRate以从时钟来观察的parent时钟的相位变化率估计,正值表示parent时钟的相位变化率大于slave时钟的相位变化率。初始化值为7FFFFFFF。注:这个值依赖于测量时间间隔,如果这个值对一个应用来说确实有用,时间间隔应该在PTP协议中说明。5parentDS.grandmaste
21、rIdentity它是grandmaster时钟的clockIdentity。初始化值为defaultDS.clockIdentity。6parentDS.grandmasterClockQuality7parentDS.grandmasterPriority18parentDS.grandmasterPriority25 678都是grandmaster的对应的值初始化时都初始化成3.4 timePropertiesDS数据集成员说明timePropertiesDS数据集成员有:1timeProtertiesDS.currentUtcOffset2timeProtertiesDS.curre
22、ntUtcOffsetValid3timeProtertiesDS.leap594timeProtertiesDS.leap615timeProtertiesDS.timeTraceable6timeProtertiesDS.frequencyTraceable7timeProtertiesDS.ptpTimescale8timeProtertiesDS.timeSourcecurrentDS数据集的所有成员都是动态的。timeProtertiesDS.ptpTimescale的值应该在其它数据集成员初始化之前进行初始化。3.5 portDS数据集成员说明对普通时钟的端口和边界时钟的每个端口,
23、应该维护端口数据集来给协议决策和提供消息域的值作为基础。数据集的数量应该是defaultDS.numberPorts的值。静态成员有:1portDS.portIdentity这个值就是本地端口的PortIdentity属性。动态成员有:1portDS.portState:值与状态的对应关系如下表所示2portDS.logMinDelayReqInterval指的是Delay_Req消息最小允许的平均时间间隔,这个值是slave发个master,这个的值视master时钟能处理的Delay_Req消息的能力来确定。3portDS.peerMeanPathDelay如果时钟是peer-to-pee
24、r时钟,这个的值硬挨链路上的当前单路传输延迟的估计。可配置成员有:1portDS.logAnnounceInterval这个值说明Annouce消息发送的时间间隔。2portDS.announceReceiptTimeoutportDS.announceReceiptTimeout的值指发出ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES时,没有收到Announce消息的个数。3portDS.logSyncInterval指的是Sync消息的时间间隔四、数据类型数据类型有源数据类型和衍生数据类型,衍生数据类型都是由源数据类型构成的。4.1 源数据类型4.2 衍生数据类型1时间间
25、隔类型描述TimeIntervalstruct TimeIntervalInterger64 scaledNanoseconds;/单位是2-16ns。2时间戳类型描述Timestampstruct TimestampUInteger48 seconds;UInteger32 nanoseconds;3 ClockIdentitytypedef Octet8 ClockIdentity;4PortIdentitystruct PortIdentityClockIdentity clockIdentity;5PortAddress 表示PTP端口协议地址Struct PortAddressEnu
26、meration16 networkProtocol;UInteger16 addressLength;OctetaddressLength addressField;6时钟质量struct ClockQualityUInteger8 clockClass;Enumeration8 clockAccuraccy;Integer16 offsetScalelogVariance;7TLV扩展struct TLV8PTP Text 用来表示PTP消息的文本材料Struct PTPText UInteger8 lengthField;OctetlengthField textField;9Fault
27、Record 用来组成错误纪录UInteger16 faultRecordLength;Timestamp faultTime;Enumeration8 severityCode;PTPText faultName;PTPText faultValue;PTPText faultDescription;BackBackBackBackBack9、静夜四无邻,荒居旧业贫。11月-2311月-23Sunday,November 26,202310、雨中黄叶树,灯下白头人。04:11:0104:11:0104:1111/26/2023 4:11:01 AM11、以我独沈久,愧君相见频。11月-230
28、4:11:0104:11Nov-2326-Nov-2312、故人江海别,几度隔山川。04:11:0104:11:0104:11Sunday,November 26,202313、乍见翻疑梦,相悲各问年。11月-2311月-2304:11:0104:11:01November 26,202314、他乡生白发,旧国见青山。26 十一月 20234:11:01 上午04:11:0111月-2315、比不了得就不比,得不到的就不要。十一月 234:11 上午11月-2304:11November 26,202316、行动出成果,工作出财富。2023/11/26 4:11:0104:11:0126 No
29、vember 202317、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。4:11:02 上午4:11 上午04:11:0211月-239、没有失败,只有暂时停止成功!。11月-2311月-23Sunday,November 26,202310、很多事情努力了未必有结果,但是不努力却什么改变也没有。04:11:0204:11:0204:1111/26/2023 4:11:02 AM11、成功就是日复一日那一点点小小努力的积累。11月-2304:11:0204:11Nov-2326-Nov-2312、世间成事,不求其绝对圆满,留一份缺乏,可得无限完美。04:11:0204:1
30、1:0204:11Sunday,November 26,202313、不知香积寺,数里入云峰。11月-2311月-2304:11:0204:11:02November 26,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。26 十一月 20234:11:02 上午04:11:0211月-2315、楚塞三湘接,荆门九派通。十一月 234:11 上午11月-2304:11November 26,202316、少年十五二十时,步行夺得胡马骑。2023/11/26 4:11:0204:11:0226 November 202317、空山新雨后,天气晚来秋。4:11:02 上午4:11 上
31、午04:11:0211月-239、杨柳散和风,青山澹吾虑。11月-2311月-23Sunday,November 26,202310、阅读一切好书如同和过去最杰出的人谈话。04:11:0204:11:0204:1111/26/2023 4:11:02 AM11、越是没有本领的就越加自命非凡。11月-2304:11:0204:11Nov-2326-Nov-2312、越是无能的人,越喜欢挑剔别人的错儿。04:11:0204:11:0204:11Sunday,November 26,202313、知人者智,自知者明。胜人者有力,自胜者强。11月-2311月-2304:11:0204:11:02Nov
32、ember 26,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。26 十一月 20234:11:02 上午04:11:0211月-2315、最具挑战性的挑战莫过于提升自我。十一月 234:11 上午11月-2304:11November 26,202316、业余生活要有意义,不要越轨。2023/11/26 4:11:0204:11:0226 November 202317、一个人即使已登上顶峰,也仍要自强不息。4:11:02 上午4:11 上午04:11:0211月-23MOMODA POWERPOINTLorem ipsum dolor sit amet,consectetur adipiscing elit.Fusce id urna blandit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis ut cursus.感感 谢谢 您您 的的 下下 载载 观观 看看专家告诉