← Documents Documentation/iio/ad3552r.rst GitHub 원문 ↗

Linux 6.18.37 · IIO

AD3552R driver

AD35XXR DAC의 일반 SPI·고속 axi-dac 드라이버 변형, 배선과 debugfs 데이터 소스 선택을 설명합니다.

Source pathDocumentation/iio/ad3552r.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

ad3552r.rst:1-73

`ad3552r` 모듈은 classic SPI용 일반 변형과 DMA·D/QSPI를 쓰는 axi-dac 고속 변형을 제공합니다. 고속 변형은 debugfs의 `data_source`로 normal 또는 시험 패턴 소스를 선택할 수 있습니다.

문서 개요
항목
SourceDocumentation/iio/ad3552r.rst
분량73 source lines
지원 DAC4
드라이버 변형generic spi, hs

원문 분량과 핵심 검토 대상을 요약합니다.

핵심 흐름
컨트롤러에 맞는 변형 선택SPI 또는 고속 신호 배선드라이버 로드debugfs에서 data source 선택출력 데이터 경로 검증

문서의 주요 구현·사용 순서를 압축합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0-only
2
3 ==============
4 AD3552R driver
5 ==============
6
7 Device driver for Analog Devices Inc. AD35XXR series of DACs. The module name
8 is ``ad3552r``.
9 With the same module name, two different driver variants are available, the
10 ``generic spi`` variant, to be used with any classic SPI controllers, and the
11 ``hs`` (high speed) variant, for an ADI ``axi-dac`` (IP core) based controller
12 that allows to reach the maximum sample rate supported from the DACs, using the
13 DMA transfer and all the SPI lines available (D/QDSPI)..
14 The high speed driver variant is intended to be used with the ``adi-axi-dac``
15 backend support enabled, that is enabled by default when the driver is selected.
16
17 Supported devices
18 =================
19
20 * `AD3541R <https://www.analog.com/en/products/ad3541r.html>`_
21 * `AD3542R <https://www.analog.com/en/products/ad3542r.html>`_
22 * `AD3551R <https://www.analog.com/en/products/ad3551r.html>`_
23 * `AD3552R <https://www.analog.com/en/products/ad3552r.html>`_
24
25 Wiring connections
26 ==================
27
28 Generic SPI
29 -----------
30 Use the classic SPI S_CLK/CS/SDO/SDI connection.
31
32 High speed (using axi-dac backend)
33 ----------------------------------
34
35 ::
36
37 .-----------------. .-------.
38 | |--- D/QSPI -----| |
39 | DAC IP CORE |--- SPI S_CLK --| DAC |
40 | |--- SPI CS -----| |
41 | |--- LDAC -------| |
42 | |--- RESET ------| |
43 |_________________| |_______|
44
45
46 High speed features
47 ===================
48
49 Device attributes
50 -----------------
51
52 The following table shows the ad35xxr related device debug files, found in the
53 specific debugfs path ``/sys/kernel/debug/iio/iio:deviceX``.
54
55 +-----------------------+------------------------------------------------------+
56 | Debugfs device files | Description |
57 +-----------------------+------------------------------------------------------+
58 | data_source | The used data source, as |
59 | | ``normal``, ``ramp-16bit``, etc. |
60 +-----------------------+------------------------------------------------------+
61 | data_source_available | The available data sources. |
62 +-----------------------+------------------------------------------------------+
63
64 Usage examples
65 --------------
66
67 .. code-block:: bash
68
69 root:/sys/bus/iio/devices/iio:device0# cat data_source
70 normal
71 root:/sys/bus/iio/devices/iio:device0# echo -n ramp-16bit > data_source
72 root:/sys/bus/iio/devices/iio:device0# cat data_source
73 ramp-16bit
74

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

AD35XXR DAC 드라이버 변형과 지원 장치

1-24

이 문서는 Analog Devices Inc. AD35XXR 계열 DAC의 장치 드라이버를 설명합니다. 모듈 이름은 `ad3552r`입니다.

같은 모듈 이름으로 두 드라이버 변형을 제공합니다. `generic spi`는 일반적인 classic SPI 컨트롤러에서 사용하고, `hs`(high speed)는 ADI `axi-dac` IP core 기반 컨트롤러에서 사용합니다.

고속 변형은 DMA 전송과 사용할 수 있는 모든 SPI 선(D/QDSPI)을 활용해 DAC가 지원하는 최대 샘플 속도에 도달합니다. 이 변형은 드라이버 선택 시 기본으로 활성화되는 `adi-axi-dac` 백엔드 지원과 함께 사용하도록 설계됐습니다.

지원 장치는 AD3541R, AD3542R, AD3551R, AD3552R 네 모델입니다.

AD3552R 드라이버 변형
변형컨트롤러전송목적
`generic spi`classic SPI controllerS_CLK/CS/SDO/SDI일반 호환성
`hs`ADI `axi-dac` IP coreDMA + D/QDSPIDAC 최대 샘플 속도

컨트롤러와 데이터 경로에 따라 변형을 선택합니다.

지원 AD35XXR 장치
모델제조사
AD3541RAnalog Devices Inc.
AD3542RAnalog Devices Inc.
AD3551RAnalog Devices Inc.
AD3552RAnalog Devices Inc.

동일 `ad3552r` 모듈이 지원하는 DAC입니다.

.. SPDX-License-Identifier: GPL-2.0-only

==============
AD3552R driver
==============

Device driver for Analog Devices Inc. AD35XXR series of DACs. The module name
is ``ad3552r``.
With the same module name, two different driver variants are available, the
``generic spi`` variant, to be used with any classic SPI controllers, and the
``hs`` (high speed) variant, for an ADI ``axi-dac`` (IP core) based controller
that allows to reach the maximum sample rate supported from the DACs, using the
DMA transfer and all the SPI lines available (D/QDSPI)..
The high speed driver variant is intended to be used with the ``adi-axi-dac``
backend support enabled, that is enabled by default when the driver is selected.

Supported devices
=================

* `AD3541R <https://www.analog.com/en/products/ad3541r.html>`_
* `AD3542R <https://www.analog.com/en/products/ad3542r.html>`_
* `AD3551R <https://www.analog.com/en/products/ad3551r.html>`_
* `AD3552R <https://www.analog.com/en/products/ad3552r.html>`_

일반 SPI와 고속 axi-dac 배선

25-45

일반 SPI 변형은 전통적인 SPI의 `S_CLK`, `CS`, `SDO`, `SDI` 연결을 사용합니다.

고속 변형에서는 DAC IP core와 DAC 사이를 D/QSPI 데이터 선, SPI `S_CLK`, SPI `CS`, `LDAC`, `RESET`으로 연결합니다.

AD3552R 고속 배선
송신 측신호수신 측역할
DAC IP CORED/QSPIDAC다중 데이터 선
DAC IP CORESPI S_CLKDAC직렬 클록
DAC IP CORESPI CSDAC칩 선택
DAC IP CORELDACDAC출력 갱신 제어
DAC IP CORERESETDAC장치 초기화

원문의 ASCII 연결도를 동일한 IP core·DAC 신호 관계로 재구성합니다.

고속 데이터 경로
사용자 샘플 버퍼 준비DMA가 DAC IP core로 데이터 전달IP core가 D/QSPI와 S_CLK로 DAC에 전송LDAC로 출력 갱신

axi-dac 백엔드에서 DAC 출력까지의 흐름입니다.

Wiring connections
==================

Generic SPI
-----------
Use the classic SPI S_CLK/CS/SDO/SDI connection.

High speed (using axi-dac backend)
----------------------------------

::

    .-----------------.                .-------.
    |                 |--- D/QSPI -----|       |
    |   DAC IP CORE   |--- SPI S_CLK --|  DAC  |
    |                 |--- SPI CS -----|       |
    |                 |--- LDAC -------|       |
    |                 |--- RESET ------|       |
    |_________________|                |_______|

고속 변형의 데이터 소스 debugfs

46-73

AD35XXR 관련 장치 디버그 파일은 각 장치의 debugfs 경로 `/sys/kernel/debug/iio/iio:deviceX`에서 찾을 수 있습니다.

`data_source`는 현재 사용하는 데이터 소스를 나타내며 `normal`, `ramp-16bit` 같은 값을 가집니다. `data_source_available`은 선택 가능한 데이터 소스 목록을 제공합니다.

AD35XXR debugfs 파일
파일설명
`data_source`현재 데이터 소스, 예: `normal`, `ramp-16bit`
`data_source_available`사용 가능한 데이터 소스 목록

고속 기능의 데이터 소스 선택 인터페이스입니다.

사용 예에서는 처음 `data_source`를 읽어 `normal`을 확인합니다. 이어서 `echo -n ramp-16bit > data_source`로 램프 패턴을 선택하고 다시 읽으면 `ramp-16bit`가 반환됩니다.

root:/sys/bus/iio/devices/iio:device0# cat data_source
normal
root:/sys/bus/iio/devices/iio:device0# echo -n ramp-16bit > data_source
root:/sys/bus/iio/devices/iio:device0# cat data_source
ramp-16bit
debug 데이터 소스 전환
`data_source` 읽기현재 값 `normal` 확인`ramp-16bit` 기록다시 읽어 변경 확인

현재 소스를 확인하고 16비트 램프로 바꿉니다.

High speed features
===================

Device attributes
-----------------

The following table shows the ad35xxr related device debug files, found in the
specific debugfs path ``/sys/kernel/debug/iio/iio:deviceX``.

+-----------------------+------------------------------------------------------+
| Debugfs device files  | Description                                          |
+-----------------------+------------------------------------------------------+
| data_source           | The used data source, as                             |
|                       | ``normal``, ``ramp-16bit``, etc.                     |
+-----------------------+------------------------------------------------------+
| data_source_available | The available data sources.                          |
+-----------------------+------------------------------------------------------+

Usage examples
--------------

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0# cat data_source
        normal
        root:/sys/bus/iio/devices/iio:device0# echo -n ramp-16bit > data_source
        root:/sys/bus/iio/devices/iio:device0# cat data_source
        ramp-16bit