(window.webpackJsonp=window.webpackJsonp||[]).push([[564],{876:function(v,_,t){"use strict";t.r(_);var s=t(10),a=Object(s.a)({},(function(){var v=this,_=v._self._c;return _("ContentSlotsDistributor",{attrs:{"slot-key":v.$parent.slotKey}},[_("h1",{attrs:{id:"时间与同步"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#时间与同步"}},[v._v("#")]),v._v(" 时间与同步")]),v._v(" "),_("p",[v._v("当在具有连续通信/记录时间戳数据的不同设备的系统中工作时,设备时钟的同步对于能够整合数据至关重要。")]),v._v(" "),_("p",[v._v("在本文中,我们将首先确定 FDI INS 中的不同计算延迟,然后了解 FDI INS 如何将自己的时钟与 GNSS 时间同步,然后我们将重点介绍可用于在多个设备之间同步时钟的工具。")]),v._v(" "),_("h2",{attrs:{id:"ins-输出延迟"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#ins-输出延迟"}},[v._v("#")]),v._v(" INS 输出延迟")]),v._v(" "),_("p",[v._v("输出延迟是实时控制应用中的一个重要方面,较高的输出延迟可能会降低控制环路的性能。FDI INS嵌入式软件旨在最大限度地减少输出延迟:一旦对传感器数据进行采样,扩展卡尔曼滤波器(EKF)在生成输出之前执行小的恒定时间计算。")]),v._v(" "),_("p",[v._v("通常,观察到的输出延迟小于1毫秒。")]),v._v(" "),_("p",[v._v("请注意,在所有串行输出之后可能会收到CAN日志,因为CAN协议无法保证CAN总线上流量的输出延迟。")]),v._v(" "),_("fdi-img",{attrs:{alt:"MEMS",src:"/knowledge-base/05/050401.png"}}),v._v(" "),_("cite-panel",{attrs:{title:"Good to know"}},[_("p",[v._v("如果要获得总延迟,则应将处理延迟添加到数据传输延迟中。此传输延迟因接口而异。")]),v._v(" "),_("p",[v._v("例如,在UART接口上以115200bps发送的50字节消息将需要4ms才能完成传输。考虑更高的波特率以最大程度地减少输出延迟。")])]),v._v(" "),_("h2",{attrs:{id:"事件events"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#事件events"}},[v._v("#")]),v._v(" 事件Events")]),v._v(" "),_("h3",{attrs:{id:"事件输入"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#事件输入"}},[v._v("#")]),v._v(" 事件输入")]),v._v(" "),_("p",[v._v("惯性传感器可以包括多达 5 个同步输入,可用于不同的目的:")]),v._v(" "),_("ul",[_("li",[_("strong",[v._v("事件触发日志")]),v._v(":接收的所有脉冲都会生成可以生成特定日志输出的事件。任何输出日志都可以由事件脉冲触发。")]),v._v(" "),_("li",[_("strong",[v._v("事件标记")]),v._v(":每次接收脉冲时都可以发送事件标记日志,以便对每个事件进行时间标记。")]),v._v(" "),_("li",[_("strong",[v._v("PPS 输入")]),v._v(":当连接到外部 GNSS 系统时,PPS 信号用于重新对齐内部时钟并将其同步到 GPS 时钟。")]),v._v(" "),_("li",[_("strong",[v._v("其他辅助输入时间戳:")]),v._v(" 如果特定的辅助传感器生成的脉冲会标记以下输出,则相应的事件输入可用于数据同步。")])]),v._v(" "),_("h4",{attrs:{id:"事件触发日志"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#事件触发日志"}},[v._v("#")]),v._v(" 事件触发日志")]),v._v(" "),_("p",[v._v("在这种工作模式下,惯性器件在自己的时钟上运行,以对传感器数据进行采样并计算输入。")]),v._v(" "),_("p",[v._v("一旦准备好发送新输出,系统将简单地检查在上次处理循环期间是否收到事件输入,并相应地发送输出消息。")]),v._v(" "),_("p",[v._v("由于内部时钟和主机时钟同步,这种工作模式可能会产生长达 5ms 的输出抖动。")]),v._v(" "),_("p",[v._v("警告")]),v._v(" "),_("p",[v._v("FDISYSTEMS传感器可处理高达"),_("strong",[v._v("200Hz")]),v._v("的输入。对于频率较高的事件,消息触发器将仅考虑最后收到的事件。")]),v._v(" "),_("h4",{attrs:{id:"事件标记处理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#事件标记处理"}},[v._v("#")]),v._v(" 事件标记处理")]),v._v(" "),_("p",[v._v("事件标记允许您精确测量事件的时间,例如相机快门时间,精度可达微秒级。收到后,事件输入将精确地加盖时间戳并堆叠在系统中,并且在下一个消息输出窗口期间将发送标记输出消息。 此日志将包括上一个循环期间接收的所有事件。")]),v._v(" "),_("fdi-img",{attrs:{alt:"MEMS",src:"/knowledge-base/05/050402.png"}}),v._v(" "),_("cite-panel",{attrs:{title:"Warning"}},[_("p",[v._v("FDISYSTEMS传感器可处理高达1kHz的事件标记输入。发送超过 "),_("strong",[v._v("1KHz")]),v._v(" 的事件可能会使内部 CPU 过载。")])]),v._v(" "),_("h3",{attrs:{id:"事件输出"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#事件输出"}},[v._v("#")]),v._v(" 事件输出")]),v._v(" "),_("p",[v._v("INS可用于通过在同步输出引脚上产生脉冲来同步其他器件。")]),v._v(" "),_("p",[v._v("这些脉冲可以根据以下模式生成:")]),v._v(" "),_("ul",[_("li",[_("strong",[v._v("主环路分频器:")]),v._v(" 在 INS 环路开始时(在传感器采样时间)发送事件。可以配置分频器以降低其频率。例如,如果分频器设置为4,则脉冲输出频率将为200Hz / 4 = 50Hz。")]),v._v(" "),_("li",[_("strong",[v._v("PPS")]),v._v(" 在 INS 环路开始时(在传感器采样时间)以 1Hz 频率发送事件。如果系统与 UTC 输入时间同步,则此输出在 UTC 时间的每个秒顶部提供。")]),v._v(" "),_("li",[v._v("**虚拟里程表:**每次行驶可配置的距离时都会生成一个事件(我们的高性能产品,如 EPSILON 提供的功能)。")])]),v._v(" "),_("h2",{attrs:{id:"时间同步-time-synchronization"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#时间同步-time-synchronization"}},[v._v("#")]),v._v(" 时间同步 Time synchronization")]),v._v(" "),_("h3",{attrs:{id:"内部时钟和时间"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#内部时钟和时间"}},[v._v("#")]),v._v(" 内部时钟和时间")]),v._v(" "),_("h4",{attrs:{id:"pps-的时钟偏差和增益估计"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#pps-的时钟偏差和增益估计"}},[v._v("#")]),v._v(" PPS 的时钟偏差和增益估计")]),v._v(" "),_("p",[v._v("FDISYSTEMS传感器能够通过使用来自GNSS接收器的PPS信号或高精度时钟源来提高其内部晶体精度。")]),v._v(" "),_("p",[v._v("不同的时钟模式列在下面")]),v._v(" "),_("ul",[_("li",[_("strong",[v._v("自由运行模式")]),v._v(" : 在此模式下,时钟自由运行,仅基于内部晶体")]),v._v(" "),_("li",[_("strong",[v._v("时钟转向模式")]),v._v(":一旦时钟参考可用,例如 GNSS PPS,第一步用于将主环路重新对齐到参考时钟。内部循环将快速转向,将处理循环对齐到一秒的顶部。在此阶段,两个数据样本之间的增量时间可能不是恒定的。一旦时钟偏置稳定,时钟增益也将得到估计。")]),v._v(" "),_("li",[_("strong",[v._v("时钟有效")]),v._v(" :在此模式下,时钟已正确对齐到 GNSS PPS 时钟。可提供相对于外部时钟的恒定和精确定时。")])]),v._v(" "),_("cite-panel",{attrs:{title:"Note"}},[_("p",[v._v("所有具有内部 GNSS 的 FDISYSTEMS都会自动将其时钟与 GNSS PPS 同步。所以,如果使用外部接收器,则连接PPS信号与通信线路"),_("strong",[v._v("非常重要")]),v._v("。")])]),v._v(" "),_("h4",{attrs:{id:"内部时间-vs-utc时间"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#内部时间-vs-utc时间"}},[v._v("#")]),v._v(" 内部时间 vs UTC时间")]),v._v(" "),_("p",[v._v("上电时,内部时钟从 0 开始,UTC 时间标记为无效。")]),v._v(" "),_("p",[v._v("一旦内部或外部 GNSS 接收器具有位置定位,并且接收到一致的 PPS 信号,UTC 时间将生效,并实现与其他设备的精确同步。")]),v._v(" "),_("cite-panel",{attrs:{title:"Note"}},[_("p",[v._v("在 GNSS 定位可用之前,在某些产品线中,UTC 时间可能从配置的无效日期和时间开始。 当 GNSS 可用时,将提供 UTC 的第一个值(基于 GNSS 时间),但它可能与实际 UTC 时间相差几秒钟,当“闰秒”信息可用时,可以观察到跳跃以重新对齐实际 UTC 时间的输出。")])]),v._v(" "),_("p",[v._v("一组标志通知用户 UTC 时间有效性。")]),v._v(" "),_("h3",{attrs:{id:"与外部设备同步"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#与外部设备同步"}},[v._v("#")]),v._v(" 与外部设备同步")]),v._v(" "),_("p",[v._v("与外部设备同步有三种主要解决方案。")]),v._v(" "),_("ul",[_("li",[_("strong",[v._v("PPS + 时间消息输出。"),_("strong",[v._v("此模式与常见的 GNSS 接收器操作非常相似,可实现")]),v._v("小于1μs的精度")]),v._v("。 请参阅本文档的事件输出部分。")]),v._v(" "),_("li",[v._v("网络时间协议 ("),_("strong",[v._v("NTP")]),v._v(") 允许在本地网络上以"),_("strong",[v._v("1 ms精度")]),v._v("进行同步。")]),v._v(" "),_("li",[v._v("精确时间协议 ("),_("strong",[v._v("PTP")]),v._v(") 允许以"),_("strong",[v._v("150ns至 1μs的精度")]),v._v("进行同步。但是,它需要特定的硬件,因此并不总是可用。")])]),v._v(" "),_("h3",{attrs:{id:"网络时间协议-ntp"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#网络时间协议-ntp"}},[v._v("#")]),v._v(" 网络时间协议 (NTP)")]),v._v(" "),_("p",[v._v("NTP 是一种分布式服务,它基于 TCP/IP 网络将设备的时钟同步到协调的世界时 UTC。")]),v._v(" "),_("p",[v._v("该协议使用时间源的分层(主从拓扑),每个级别称为层。最高级别(第0层)是原子钟,例如GNSS卫星中的原子钟。可以添加其他层以同步特定网络上的设备。")]),v._v(" "),_("p",[v._v("NTP 仅在第 1 层中实现,以将时间分配给其他设备。在内部 UTC 时间可用之前,时间将标记为未同步。")]),v._v(" "),_("p",[v._v("NTP 在端口号 123 上使用 UDP 协议。")]),v._v(" "),_("h3",{attrs:{id:"网络时间协议-ptp"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#网络时间协议-ptp"}},[v._v("#")]),v._v(" 网络时间协议 (PTP)")]),v._v(" "),_("p",[v._v("与NTP一样,PTP是一种用于在整个TCP / IP网络中同步时钟的协议。但是,它旨在提供比NTP更好的精度。")]),v._v(" "),_("p",[v._v("为了达到此精度级别,该协议具有"),_("strong",[v._v("硬件依赖性")]),v._v(",因此不适用于所有设备。所有具有以太网连接的FDI惯性器件都支持PTP时间服务器,测量的平均时间精度为150ns。")]),v._v(" "),_("p",[v._v("PTP 实现会生成一个标记为错误的时钟,以防 UTC 时间在内部不可用。")]),v._v(" "),_("p",[v._v("一旦UTC时间可用,我们的PTP系统就可以作为主时钟运行(如果网络上有更高精度的时间参考,则可以作为被动模式运行)。")]),v._v(" "),_("p",[v._v("PTP 在端口号 319 和 320 上使用 UDP 网络协议进行操作。")])],1)}),[],!1,null,null,null);_.default=a.exports}}]);