connectivity/networking/api/gptp.html · connectivity/networking/api/gptp.rst 공식 원문 ↗

Zephyr 3.7.0 · Connectivity · Networking API

generic Precision Time Protocol (gPTP)

Timestamping 가능한 Ethernet link에서 time-sensitive node의 clock을 맞춥니다.

Official pathconnectivity/networking/api/gptp.html
Source fileconnectivity/networking/api/gptp.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

IEEE 802.1AS-2011 지원 범위, timestamping 조건, 지원 board, 두 application interface와 시험 도구를 설명합니다.

Standard

IEEE 802.1AS-2011

Hardware

Frame timestamping

Config

CONFIG_NET_GPTP

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 E4DDACC93CD958B94DB1FC54AB5464F80AE91C6F274C518D940FC60C31F4F78D
.. _gptp_interface:

generic Precision Time Protocol (gPTP)
######################################

.. contents::
    :local:
    :depth: 2

Overview
********

This gPTP stack supports the protocol and procedures as defined in
the `IEEE 802.1AS-2011 standard`_ (Timing and Synchronization for
Time-Sensitive Applications in Bridged Local Area Networks).

Supported features
*******************

The stack handles communications and state machines defined in the
`IEEE 802.1AS-2011 standard`_. Mandatory requirements for a full-duplex
point-to-point link endpoint, as defined in Annex A of the standard,
are supported.

The stack is in principle capable of handling communications on multiple network
interfaces (also defined as "ports" in the standard) and thus act as
a 802.1AS bridge. However, this mode of operation has not been validated on
the Zephyr OS.

Supported hardware
******************

Although the stack itself is hardware independent, Ethernet frame timestamping
support must be enabled in ethernet drivers.

Boards supported:

- :ref:`frdm_k64f`
- :ref:`nucleo_h743zi_board`
- :ref:`nucleo_h745zi_q_board`
- :ref:`nucleo_f767zi_board`
- :ref:`sam_e70_xplained`
- :ref:`native_sim` (only usable for simple testing, limited capabilities
  due to lack of hardware clock)
- :ref:`qemu_x86` (emulated, limited capabilities due to lack of hardware clock)

Enabling the stack
******************

The following configuration option must me enabled in :file:`prj.conf` file.

- :kconfig:option:`CONFIG_NET_GPTP`

Application interfaces
**********************

Only two Application Interfaces as defined in section 9 of the standard
are available:

- ``ClockTargetPhaseDiscontinuity`` interface (:c:func:`gptp_register_phase_dis_cb`)
- ``ClockTargetEventCapture`` interface  (:c:func:`gptp_event_capture`)

Testing
*******

The stack has been informally tested using the
`OpenAVnu gPTP <https://github.com/AVnu/gptp>`_ and
`Linux ptp4l <http://linuxptp.sourceforge.net/>`_ daemons.
The :zephyr:code-sample:`gPTP sample application <gptp>` from the Zephyr
source distribution can be used for testing.

.. _IEEE 802.1AS-2011 standard:
   https://standards.ieee.org/findstds/standard/802.1AS-2011.html

API Reference
*************

.. doxygengroup:: gptp

Part 3

한국어 전문 번역

generic Precision Time Protocol (gPTP)

Overview

이 gPTP stack은 bridged LAN의 time-sensitive application을 위한 timing과 synchronization을 규정한 IEEE 802.1AS-2011 protocol과 procedure를 지원합니다.

Supported features

Stack은 IEEE 802.1AS-2011에서 정의한 communication과 state machine을 처리합니다. 표준 Annex A가 규정한 full-duplex point-to-point link endpoint의 mandatory requirement를 지원합니다.

원칙적으로 여러 network interface를 처리할 수 있습니다. 표준에서는 각 interface를 port라고 부르며, 이 구성을 사용하면 Zephyr가 802.1AS bridge로 동작할 수 있습니다. 다만 이 동작 mode는 Zephyr OS에서 검증되지 않았습니다.

Supported hardware

Stack 자체는 hardware에 독립적이지만 Ethernet driver에서 Ethernet frame timestamping 지원을 활성화해야 합니다.

지원 board는 다음과 같습니다.

  • frdm_k64f
  • nucleo_h743zi
  • nucleo_h745zi_q
  • nucleo_f767zi
  • sam_e70_xplained
  • native_sim: hardware clock이 없어 capability가 제한되며 간단한 test에만 사용할 수 있습니다.
  • qemu_x86: emulation 환경이며 hardware clock이 없어 capability가 제한됩니다.

Enabling the stack

prj.conf에서 CONFIG_NET_GPTP configuration option을 활성화해야 합니다.

Application interfaces

표준 section 9가 정의한 Application Interface 가운데 다음 두 개만 사용할 수 있습니다.

  • ClockTargetPhaseDiscontinuity interface: gptp_register_phase_dis_cb()
  • ClockTargetEventCapture interface: gptp_event_capture()

Testing

Stack은 OpenAVnu gPTP와 Linux ptp4l daemon을 사용해 비공식적으로 시험했습니다. Zephyr source distribution의 gPTP sample application도 test에 사용할 수 있습니다.

API Reference

Doxygen group gptp가 API reference를 제공합니다.

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.