Part 1
요약·해설
공식 원문 228줄과 property 12행을 전수 대조해 three-part waveform ratio·single GPIO semantics·WS2812/WS2811 frequency 제약을 보존했습니다.
worldsemi,ws2812-rpi_pico-pio
Worldsemi Co., Limited
12 rows
RP2040 PIO T0/T1/T2 waveform + child strip
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
22AF1013A2D28882508A4098135026F447B0DE9C910AE0C556B0BFB66CE5EB09
:orphan:
.. raw:: html
<!--
FIXME: do not limit page width until content uses another representation
format other than tables
-->
<style>.wy-nav-content { max-width: none; !important }</style>
.. dtcompatible:: worldsemi,ws2812-rpi_pico-pio
.. _dtbinding_worldsemi_ws2812_rpi_pico_pio:
worldsemi,ws2812-rpi_pico-pio
#############################
Vendor: :ref:`Worldsemi Co., Limited <dt_vendor_worldsemi>`
Description
***********
.. code-block:: none
The pio node configured for ws2812.
Properties
**********
Top level properties
====================
These property descriptions apply to "worldsemi,ws2812-rpi_pico-pio"
nodes themselves. This page also describes child node
properties in the following sections.
.. tabs::
.. group-tab:: Node specific properties
Properties not inherited from the base binding file.
.. list-table::
:widths: 1 1 4
:header-rows: 1
* - Name
- Type
- Details
* - ``pinctrl-0``
- ``phandles``
- .. code-block:: none
Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.
* - ``pinctrl-1``
- ``phandles``
- .. code-block:: none
Pin configuration/s for the second state. See pinctrl-0.
* - ``pinctrl-2``
- ``phandles``
- .. code-block:: none
Pin configuration/s for the third state. See pinctrl-0.
* - ``pinctrl-3``
- ``phandles``
- .. code-block:: none
Pin configuration/s for the fourth state. See pinctrl-0.
* - ``pinctrl-4``
- ``phandles``
- .. code-block:: none
Pin configuration/s for the fifth state. See pinctrl-0.
* - ``pinctrl-names``
- ``string-array``
- .. code-block:: none
Names for the provided states. The number of names needs to match the
number of states.
* - ``bit-waveform``
- ``array``
- .. code-block:: none
This property defines the waveform for sending 1-bit data.
The program uses the first three elements of the array.
The T0 is equal to T0H in the datasheet.
The T2 is equal to T1L in the datasheet.
The T1 is equal to (T1H-T0H) or (T0L-T1L) in the datasheet.
Code-0
+------+ +---
| | |
| T0 | T1+T2 |
| | |
---+ +-----------------+
Code-1
+---------------+ +---
| | |
| T0+T1 | T2 |
| | |
---+ +--------+
The frequency determines the wave period.
The T0~T2 means ratio in one period.
For example, T0=3, T1=3, T2=4 and the frequency is 800kHz case,
T0H is
(1 / 800kHz) * (3/10) = 375ns
T0L is
(1 / 800kHz) * ((4+3)/10) = 875ns
.. group-tab:: Deprecated node specific properties
Deprecated properties not inherited from the base binding file.
(None)
.. group-tab:: Base properties
Properties inherited from the base binding file, which defines
common properties that may be set on many nodes. Not all of these
may apply to the "worldsemi,ws2812-rpi_pico-pio" compatible.
(None)
Child node properties
=====================
.. list-table::
:widths: 1 1 4
:header-rows: 1
* - Name
- Type
- Details
* - ``chain-length``
- ``int``
- .. code-block:: none
The number of devices in the daisy-chain.
This property is **required**.
* - ``color-mapping``
- ``array``
- .. code-block:: none
Channel to color mapping (or pixel order).
For example a GRB channel to color mapping would be
color-mapping = <LED_COLOR_ID_GREEN
LED_COLOR_ID_RED
LED_COLOR_ID_BLUE>;
This property is **required**.
* - ``reset-delay``
- ``int``
- .. code-block:: none
Minimum delay to wait (in microseconds) to make sure that the strip has
latched the signal. If omitted, a default value of 8 microseconds is used.
This default is good for the WS2812 controllers. Note that despite the
WS2812 datasheet states that a 50 microseconds delay is required, it seems
6 microseconds is enough. The default is set to 8 microseconds just to be
safe.
Default value: ``8``
* - ``gpios``
- ``phandle-array``
- .. code-block:: none
Inherited from ws2812-gpio.yaml.
Note: This driver does not configure the output pin.
You need to configure the pin with pinctrl that is in the parent node configuration
for use by PIO. This property only uses the GPIO pin number and ignores flags.
This property is **required**.
* - ``frequency``
- ``int``
- .. code-block:: none
Specify the number of times a waveform representing 1 bit is
transmitted per second. It is same meaning as bit-per-seconds.
WS2812 works with 800000. Set the value 400000 if use with WS2811.
Part 3
한국어 전문 번역
worldsemi,ws2812-rpi_pico-pio
Vendor: Worldsemi Co., Limited
공식 설명
The pio node configured for ws2812.PIO instruction timing을 T0·T1·T2로 표현
bit-waveform의 첫 세 element를 사용합니다. T0=T0H, T2=T1L, T1=(T1H-T0H) 또는 (T0L-T1L)이며 frequency가 한 bit period를 정합니다.
High: T0
Low: T1+T2
High: T0+T1
Low: T2
T0=3 · T1=3 · T2=4
T0H=375ns · T0L=875ns
Child의 chain-length, color-mapping, gpios가 필수입니다. GPIO flags는 무시되고 pin number만 사용하므로 parent PIO node의 pinctrl에서 output pin을 구성해야 합니다. frequency는 선택이며 WS2812는 800000, WS2811은 400000을 사용합니다.
속성 전체 번역
공식 top-level 7개와 child 5개 property를 모두 번역했습니다. Base property 표는 없습니다.
노드 전용 속성 · 7개
| 이름 | 형식 | 설명과 제약 |
|---|---|---|
pinctrl-0 | phandles | 첫 번째 상태에서 사용할 핀 설정입니다. 구체적인 내용은 선택한 핀 컨트롤러 드라이버에 따라 달라집니다. |
pinctrl-1 | phandles | 두 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다. |
pinctrl-2 | phandles | 세 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다. |
pinctrl-3 | phandles | 네 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다. |
pinctrl-4 | phandles | 다섯 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다. |
pinctrl-names | string-array | 핀 설정 상태의 이름입니다. 이름 수는 정의한 상태 수와 같아야 합니다. |
bit-waveform | array | 첫 세 array element를 T0·T1·T2 ratio로 사용하는 1-bit waveform입니다. T0=T0H, T2=T1L, T1=(T1H-T0H) 또는 (T0L-T1L)입니다. |
하위 노드 속성 · 5개
각 하위 노드에 적용되는 속성입니다.
| 이름 | 형식 | 설명과 제약 |
|---|---|---|
chain-length | int | Daisy chain에 연결된 LED pixel 수입니다. 필수 |
color-mapping | array | Pixel data의 channel 순서를 색상 ID에 대응시키는 배열입니다. 예를 들어 GRB는 green, red, blue 순서입니다. 필수 |
reset-delay | int | Strip이 signal을 latch하도록 기다리는 최소 microsecond입니다. 기본값은 8입니다. 기본값: 8 |
gpios | phandle-array | ws2812-gpio에서 상속한 pin입니다. Driver는 flags를 무시하고 GPIO pin number만 사용하며 pin output 설정은 parent pinctrl이 담당합니다. 필수 |
frequency | int | 1-bit waveform의 초당 전송 횟수입니다. WS2812는 800000, WS2811은 400000을 사용합니다. |
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.