mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'doc/rm_outdated_diagram_v6.0' into 'release/v6.0'
doc: remove outdated diagrams for DAC, I2C, and I2S in documentation (v6.0) See merge request espressif/esp-idf!46589
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 79 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 62 KiB |
@@ -22,27 +22,6 @@ The DAC peripheral supports outputting analog signal in the following ways:
|
||||
|
||||
For other analog output options, see :doc:`Sigma-Delta Modulation <sdm>` and :doc:`LED Control <ledc>`. Both modules produce high-frequency PWM/PDM output, which can be hardware low-pass filtered in order to generate a lower frequency analog output.
|
||||
|
||||
DAC File Structure
|
||||
------------------
|
||||
|
||||
.. figure:: ../../../_static/diagrams/dac/dac_file_structure.png
|
||||
:align: center
|
||||
:alt: DAC file structure
|
||||
|
||||
DAC File Structure
|
||||
|
||||
|
||||
**Public headers that need to be included in the DAC application are listed as follows:**
|
||||
|
||||
- ``dac.h``: The top header file of the legacy DAC driver, which should be only included in the apps which use the legacy driver API.
|
||||
- ``dac_oneshot.h``: The top header file of the new DAC driver, which should be included in the apps which use the new driver API with one-shot mode.
|
||||
- ``dac_cosine.h``: The top header file of the new DAC driver, which should be included in the apps which use the new driver API with cosine mode.
|
||||
- ``dac_continuous.h``: The top header file of the new DAC driver, which should be included in the apps which use the new driver API with continuous mode.
|
||||
|
||||
.. note::
|
||||
|
||||
The legacy driver cannot coexist with the new driver. Include ``dac.h`` to use the legacy driver or ``dac_oneshot.h``, ``dac_cosine.h``, and ``dac_continuous.h`` to use the new driver. The legacy driver might be removed in the future.
|
||||
|
||||
Functional Overview
|
||||
-------------------
|
||||
|
||||
|
||||
@@ -47,38 +47,14 @@ I2C Clock Configuration
|
||||
:SOC_I2C_SUPPORT_APB: - :cpp:enumerator:`i2c_clock_source_t::I2C_CLK_SRC_APB`: APB clock as I2C clock source.
|
||||
:SOC_I2C_SUPPORT_REF_TICK: - :cpp:enumerator:`i2c_clock_source_t::I2C_CLK_SRC_REF_TICK`: 1 MHZ clock.
|
||||
|
||||
I2C File Structure
|
||||
------------------
|
||||
|
||||
.. figure:: ../../../_static/diagrams/i2c/i2c_code_structure.png
|
||||
:align: center
|
||||
:alt: I2C file structure
|
||||
|
||||
I2C file structure
|
||||
|
||||
**Public headers that need to be included in the I2C application**
|
||||
|
||||
- ``i2c.h``: The header file of legacy I2C APIs (for apps using legacy driver).
|
||||
- ``i2c_master.h``: The header file that provides standard communication mode specific APIs (for apps using new driver with master mode).
|
||||
- ``i2c_slave.h``: The header file that provides standard communication mode specific APIs (for apps using new driver with slave mode).
|
||||
|
||||
.. note::
|
||||
|
||||
The legacy driver can't coexist with the new driver. Include ``i2c.h`` to use the legacy driver or the other two headers to use the new driver. Please keep in mind that the legacy driver is now deprecated and will be removed in future.
|
||||
|
||||
**Public headers that have been included in the headers above**
|
||||
|
||||
- ``i2c_types_legacy.h``: The legacy public types that are only used in the legacy driver.
|
||||
- ``i2c_types.h``: The header file that provides public types.
|
||||
|
||||
Functional Overview
|
||||
-------------------
|
||||
|
||||
The I2C driver offers following services:
|
||||
|
||||
- `Resource Allocation <#resource-allocation>`__ - covers how to allocate I2C bus with properly set of configurations. It also covers how to recycle the resources when they finished working.
|
||||
- `I2C Master Controller <#i2c_master_controller>`__ - covers behavior of I2C master controller. Introduce data transmit, data receive, and data transmit and receive.
|
||||
- `I2C Slave Controller <#i2c_slave_controller>`__ - covers behavior of I2C slave controller. Involve data transmit and data receive.
|
||||
- `I2C Master Controller <#i2c-master-controller>`__ - covers behavior of I2C master controller. Introduce data transmit, data receive, and data transmit and receive.
|
||||
- `I2C Slave Controller <#i2c-slave-controller>`__ - covers behavior of I2C slave controller. Involve data transmit and data receive.
|
||||
- `Power Management <#power-management>`__ - describes how different source clock will affect power consumption.
|
||||
- `IRAM Safe <#iram-safe>`__ - describes tips on how to make the I2C interrupt work better along with a disabled cache.
|
||||
- `Thread Safety <#thread-safety>`__ - lists which APIs are guaranteed to be thread safe by the driver.
|
||||
|
||||
@@ -47,34 +47,6 @@ Each I2S controller has the following features that can be configured by the I2S
|
||||
|
||||
Each controller has separate RX and TX channels. That means they are able to work under different clocks and slot configurations with separate GPIO pins. Note that although the internal MCLKs of TX channel and RX channel are separate on a controller, the output MCLK signal can only be attached to one channel. If independent MCLK output is required for each channel, they must be allocated on different I2S controllers.
|
||||
|
||||
I2S File Structure
|
||||
------------------
|
||||
|
||||
.. figure:: ../../../_static/diagrams/i2s/i2s_file_structure.png
|
||||
:align: center
|
||||
:alt: I2S file structure
|
||||
|
||||
I2S File Structure
|
||||
|
||||
**Public headers that need to be included in the I2S application are as follows:**
|
||||
|
||||
.. list::
|
||||
|
||||
- ``i2s.h``: The header file that provides legacy I2S APIs (for apps using legacy driver).
|
||||
- ``i2s_std.h``: The header file that provides standard communication mode specific APIs (for apps using new driver with standard mode).
|
||||
:SOC_I2S_SUPPORTS_PDM: - ``i2s_pdm.h``: The header file that provides PDM communication mode specific APIs (for apps using new driver with PDM mode).
|
||||
:SOC_I2S_SUPPORTS_TDM: - ``i2s_tdm.h``: The header file that provides TDM communication mode specific APIs (for apps using new driver with TDM mode).
|
||||
|
||||
.. note::
|
||||
|
||||
The legacy driver cannot coexist with the new driver. Include ``i2s.h`` to use the legacy driver, or include the other three headers to use the new driver. The legacy driver might be removed in future.
|
||||
|
||||
**Public headers that have been included in the headers above are as follows:**
|
||||
|
||||
- ``i2s_types_legacy.h``: The header file that provides legacy public types that are only used in the legacy driver.
|
||||
- ``i2s_types.h``: The header file that provides public types.
|
||||
- ``i2s_common.h``: The header file that provides common APIs for all communication modes.
|
||||
|
||||
I2S Clock
|
||||
---------
|
||||
|
||||
|
||||
@@ -481,12 +481,6 @@ LCD
|
||||
|
||||
Meanwhile, the old driver's APIs in ``driver/i2s.h`` are still supported for backward compatibility. But there will be warnings if users keep using the old APIs in their projects, these warnings can be suppressed by the Kconfig option ``CONFIG_I2S_SUPPRESS_DEPRECATE_WARN``.
|
||||
|
||||
Here is the general overview of the current I2S files:
|
||||
|
||||
.. figure:: ../../../../_static/diagrams/i2s/i2s_file_structure.png
|
||||
:align: center
|
||||
:alt: I2S File Structure
|
||||
|
||||
Breaking changes in Concepts
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
@@ -22,27 +22,6 @@ DAC 外设支持以下列方式输出模拟信号:
|
||||
|
||||
其他模拟输出选项可参考 :doc:`Sigma-Delta 调制 <sdm>` 和 :doc:`LED PWM 控制器 <ledc>`。这两个模块均输出高频的 PWM/PDM 信号,也可借助硬件低通滤波输出较低频率的模拟信号。
|
||||
|
||||
DAC 文件结构
|
||||
------------
|
||||
|
||||
.. figure:: ../../../_static/diagrams/dac/dac_file_structure.png
|
||||
:align: center
|
||||
:alt: DAC 文件结构
|
||||
|
||||
DAC 文件结构
|
||||
|
||||
|
||||
**需包含在 DAC 应用程序中的公共头文件包括:**
|
||||
|
||||
- ``dac.h``:原有 DAC 驱动的最上层头文件,只包含在使用原有驱动 API 的应用程序中。
|
||||
- ``dac_oneshot.h``:新 DAC 驱动的最上层头文件,应包含在使用新驱动 API(单次模式)的应用程序中。
|
||||
- ``dac_cosine.h``:新 DAC 驱动的最上层头文件,应包含在使用新驱动 API(余弦模式)的应用程序中。
|
||||
- ``dac_continuous.h``:新 DAC 驱动的最上层头文件,应包含在使用新驱动 API(连续模式)的应用程序中。
|
||||
|
||||
.. note::
|
||||
|
||||
原有驱动程序与新驱动程序无法共存。使用原有驱动需包含 ``dac.h``,使用新驱动需包含 ``dac_oneshot.h``、 ``dac_cosine.h`` 和 ``dac_continuous.h``。后续更新或将移除原有驱动程序。
|
||||
|
||||
功能概览
|
||||
--------
|
||||
|
||||
|
||||
@@ -47,38 +47,14 @@ I2C 时钟配置
|
||||
:SOC_I2C_SUPPORT_APB: - :cpp:enumerator:`i2c_clock_source_t::I2C_CLK_SRC_APB`:以 APB 时钟作为 I2C 时钟源。
|
||||
:SOC_I2C_SUPPORT_REF_TICK: - :cpp:enumerator:`i2c_clock_source_t::I2C_CLK_SRC_REF_TICK`:1 MHZ 时钟。
|
||||
|
||||
I2C 文件结构
|
||||
------------
|
||||
|
||||
.. figure:: ../../../_static/diagrams/i2c/i2c_code_structure.png
|
||||
:align: center
|
||||
:alt: I2C 文件结构
|
||||
|
||||
I2C 文件结构
|
||||
|
||||
**需要包含在 I2C 应用程序中的公共头文件**
|
||||
|
||||
- ``i2c.h``:遗留 I2C API 的头文件(用于使用旧驱动程序的应用)。
|
||||
- ``i2c_master.h``:提供标准通信模式下特定 API 的头文件(用于使用主机模式的新驱动程序的应用)。
|
||||
- ``i2c_slave.h``:提供标准通信模式下特定 API 的头文件(用于使从机模式的新驱动程序的应用)。
|
||||
|
||||
.. note::
|
||||
|
||||
旧驱动程序与新驱动程序无法共存。包含 ``i2c.h`` 头文件可使用旧驱动程序,或包含 ``i2c_master.h`` 和 ``i2c_slave.h`` 来使用新驱动程序。请注意,现已弃用旧驱动程序,之后将移除。
|
||||
|
||||
**上述头文件中包含的公共头文件**
|
||||
|
||||
- ``i2c_types_legacy.h``:仅在旧驱动程序中使用的旧公共类型。
|
||||
- ``i2c_types.h``:提供公共类型的头文件。
|
||||
|
||||
功能概述
|
||||
--------
|
||||
|
||||
I2C 驱动程序提供以下服务:
|
||||
|
||||
- `资源分配 <#resource-allocation>`__ - 包括如何使用正确的配置来分配 I2C 总线,以及如何在完成工作后回收资源。
|
||||
- `I2C 主机控制器 <#i2c_master_controller>`__ - 包括 I2C 主机控制器的行为,介绍了数据发送、数据接收和数据的双向传输。
|
||||
- `I2C 从机控制器 <#i2c_slave_controller>`__ - 包括 I2C 从机控制器的行为,涉及数据发送和数据接收。
|
||||
- `I2C 主机控制器 <#i2c-master-controller>`__ - 包括 I2C 主机控制器的行为,介绍了数据发送、数据接收和数据的双向传输。
|
||||
- `I2C 从机控制器 <#i2c-slave-controller>`__ - 包括 I2C 从机控制器的行为,涉及数据发送和数据接收。
|
||||
- `电源管理 <#power-management>`__ - 描述了不同时钟源对功耗的影响。
|
||||
- `IRAM 安全 <#iram-safe>`__ - 描述了如何在 cache 被禁用时正常运行 I2C 中断。
|
||||
- `线程安全 <#thread-safety>`__ - 列出了驱动程序中线程安全的 API。
|
||||
|
||||
@@ -47,34 +47,6 @@ I2S(Inter-IC Sound,集成电路内置音频总线)是一种同步串行通
|
||||
|
||||
每个控制器都有独立的 RX 和 TX 通道,连接到不同 GPIO 管脚,能够在不同的时钟和声道配置下工作。注意,尽管在一个控制器上 TX 通道和 RX 通道的内部 MCLK 相互独立,但输出的 MCLK 信号只能连接到一个通道。如果需要两个互相独立的 MCLK 输出,必须将其分配到不同的 I2S 控制器上。
|
||||
|
||||
I2S 文件结构
|
||||
------------
|
||||
|
||||
.. figure:: ../../../_static/diagrams/i2s/i2s_file_structure.png
|
||||
:align: center
|
||||
:alt: I2S 文件结构
|
||||
|
||||
I2S 文件结构
|
||||
|
||||
**需要包含在 I2S 应用中的公共头文件如下所示:**
|
||||
|
||||
.. list::
|
||||
|
||||
- ``i2s.h``:提供原有 I2S API(用于使用原有驱动的应用)。
|
||||
- ``i2s_std.h``:提供标准通信模式的 API(用于使用标准模式的新驱动程序的应用)。
|
||||
:SOC_I2S_SUPPORTS_PDM: - ``i2s_pdm.h``:提供 PDM 通信模式的 API(用于使用 PDM 模式的新驱动程序的应用)。
|
||||
:SOC_I2S_SUPPORTS_TDM: - ``i2s_tdm.h``:提供 TDM 通信模式的 API(用于使用 TDM 模式的新驱动的应用)。
|
||||
|
||||
.. note::
|
||||
|
||||
原有驱动与新驱动无法共存。包含 ``i2s.h`` 以使用原有驱动,或包含其他三个头文件以使用新驱动。原有驱动未来可能会被删除。
|
||||
|
||||
**已包含在上述头文件中的公共头文件如下所示:**
|
||||
|
||||
- ``i2s_types_legacy.h``:提供只在原有驱动中使用的原有公共类型。
|
||||
- ``i2s_types.h``:提供公共类型。
|
||||
- ``i2s_common.h``:提供所有通信模式通用的 API。
|
||||
|
||||
I2S 时钟
|
||||
--------
|
||||
|
||||
|
||||
@@ -481,12 +481,6 @@ LCD
|
||||
|
||||
为保证前向兼容,旧版驱动的 API 仍然在 ``driver/i2s.h`` 可用。但使用旧版 API 会触发编译警告,该警告可通过配置 Kconfig 选项 ``CONFIG_I2S_SUPPRESS_DEPRECATE_WARN`` 来关闭。
|
||||
|
||||
以下是更新后的 I2S 文件概况。
|
||||
|
||||
.. figure:: ../../../../_static/diagrams/i2s/i2s_file_structure.png
|
||||
:align: center
|
||||
:alt: I2S File Structure
|
||||
|
||||
主要概念更新
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
Reference in New Issue
Block a user