Part 1
요약·해설
Stable controller API와 제한적으로 지원되는 experimental target API를 설명합니다.
initiates · clocks · stable
responds · experimental
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
96ABC8CF7781F1E932DFE467C5FFFA42A223C6BB41A12769EF604656772F8243
.. _i2c_api:
Inter-Integrated Circuit (I2C) Bus
##################################
Overview
********
.. note::
The terminology used in Zephyr I2C APIs follows that of the
`NXP I2C Bus Specification Rev 7.0 <i2c-specification_>`_. These changed
from previous revisions as of its release October 1, 2021.
`I2C`_ (Inter-Integrated Circuit, pronounced "eye
squared see") is a commonly-used two-signal shared peripheral interface
bus. Many system-on-chip solutions provide controllers that communicate
on an I2C bus. Devices on the bus can operate in two roles: as a
"controller" that initiates transactions and controls the clock, or as a
"target" that responds to transaction commands. A I2C controller on a
given SoC will generally support the controller role, and some will also
support the target mode. Zephyr has API for both roles.
.. _i2c-controller-api:
I2C Controller API
==================
Zephyr's I2C controller API is used when an I2C peripheral controls the bus,
in particularly the start and stop conditions and the clock. This is
the most common mode, used to interact with I2C devices like sensors and
serial memory.
This API is supported in all in-tree I2C peripheral drivers and is
considered stable.
.. _i2c-target-api:
I2C Target API
==============
Zephyr's I2C target API is used when an I2C peripheral responds to
transactions initiated by a different controller on the bus. It might
be used for a Zephyr application with transducer roles that are
controlled by another device such as a host processor.
This API is supported in very few in-tree I2C peripheral drivers. The
API is considered experimental, as it is not compatible with the
capabilities of all I2C peripherals supported in controller mode.
Configuration Options
*********************
Related configuration options:
* :kconfig:option:`CONFIG_I2C`
API Reference
*************
.. doxygengroup:: i2c_interface
.. _i2c-specification:
https://www.nxp.com/docs/en/user-guide/UM10204.pdf
.. _I2C: i2c-specification_
Part 3
한국어 전문 번역
개요
Zephyr I2C API 용어는 NXP I2C Bus Specification Rev 7.0을 따릅니다. 이 용어는 2021년 10월 1일 release부터 이전 revision과 달라졌습니다.
I2C(Inter-Integrated Circuit, ‘eye squared see’)는 널리 쓰이는 2-signal shared peripheral interface bus입니다. 많은 SoC가 I2C bus에서 통신하는 controller를 제공합니다.
Bus의 device는 transaction을 시작하고 clock을 제어하는 controller, 또는 transaction command에 응답하는 target 역할을 할 수 있습니다. SoC의 I2C controller는 보통 controller 역할을 지원하고 일부는 target mode도 지원하며, Zephyr는 두 역할 모두에 API를 제공합니다.
I2C controller API
I2C peripheral이 bus의 start·stop condition과 clock을 제어할 때 Zephyr I2C controller API를 사용합니다. Sensor, serial memory 같은 I2C device와 통신하는 가장 일반적인 mode입니다.
Tree 안의 모든 I2C peripheral driver가 이 API를 지원하며 stable로 간주됩니다.
I2C target API
다른 controller가 bus에서 시작한 transaction에 I2C peripheral이 응답할 때 Zephyr I2C target API를 사용합니다. Host processor 같은 다른 device가 제어하는 transducer 역할의 Zephyr application에 사용할 수 있습니다.
Tree 안에서 이 API를 지원하는 I2C peripheral driver는 매우 적습니다. Controller mode를 지원하는 모든 I2C peripheral capability와 호환되지 않으므로 experimental로 간주됩니다.
설정 option
관련 설정 option은 CONFIG_I2C입니다.
API reference
i2c_interface Doxygen group이 I2C controller·target interface의 공식 API reference를 제공합니다.
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.