AD4000 驅動程式

Analog Devices Inc. AD4000 系列 ADC 和類似裝置的裝置驅動程式。

支援的裝置

接線連線

AD4000 系列裝置可以通過幾種不同的模式連線到 SPI 主機控制器。

CS 模式,3 線 turbo 模式

資料手冊中的“3 線”模式最類似於標準的 SPI 連線,對於這些裝置而言,包括將控制器 CS 線連線到裝置 CNV 引腳,以及像往常一樣連線其他 SPI 線。 這種配置在資料手冊中(具有誤導性地)稱為“CS 模式,3 線 Turbo 模式”連線。注意:AD4000 系列的 3 線模式的資料手冊定義與標準 spi-3wire 模式不同。 這是唯一允許配置暫存器訪問的連線模式,但它要求 SPI 控制器支援 SPI_MOSI_IDLE_HIGH 功能。

在裝置樹中省略 adi,sdi-pin 屬性以選擇此模式。

                                    +-------------+
+ ----------------------------------| SDO         |
|                                   |             |
|               +-------------------| CS          |
|               v                   |             |
|    +--------------------+         |     HOST    |
|    |        CNV         |         |             |
+--->| SDI   AD4000   SDO |-------->| SDI         |
     |        SCK         |         |             |
     +--------------------+         |             |
               ^                    |             |
               +--------------------| SCLK        |
                                    +-------------+

CS 模式,3 線,無 busy 指示器

另一種支援的接線配置稱為“3 線”模式,它將 SDI 引腳硬連線到數字輸入/輸出介面電源 (VIO)。 在這種設定中,控制器不需要支援 SPI_MOSI_IDLE_HIGH,但無法進行暫存器訪問。 這種連線模式節省了一根導線,並且可以與任何 SPI 控制器一起使用。

adi,sdi-pin 裝置樹屬性設定為 "high" 以選擇此模式。

                                     +-------------+
                +--------------------| CS          |
                v                    |             |
VIO   +--------------------+         |     HOST    |
 |    |        CNV         |         |             |
 +--->| SDI   AD4000   SDO |-------->| SDI         |
      |        SCK         |         |             |
      +--------------------+         |             |
                ^                    |             |
                +--------------------| SCLK        |
                                     +-------------+

或者,可以將 GPIO 連線到裝置 CNV 引腳。 這與之前的接線配置類似,但節省了 CS 線的使用。

                                     +-------------+
                +--------------------| GPIO        |
                v                    |             |
VIO   +--------------------+         |     HOST    |
 |    |        CNV         |         |             |
 +--->| SDI   AD4000   SDO |-------->| SDI         |
      |        SCK         |         |             |
      +--------------------+         |             |
                ^                    |             |
                +--------------------| SCLK        |
                                     +-------------+

CS 模式,4 線,無 busy 指示器

在資料手冊中的“4 線”模式中,控制器 CS 線連線到 ADC SDI 引腳,GPIO 連線到 ADC CNV 引腳。 這種連線模式可能更適合多個 ADC 可以共享一個 CNV 觸發器的場景。

adi,sdi-pin 設定為 "cs" 以選擇此模式。

                                    +-------------+
+ ----------------------------------| CS          |
|                                   |             |
|               +-------------------| GPIO        |
|               v                   |             |
|    +--------------------+         |     HOST    |
|    |        CNV         |         |             |
+--->| SDI   AD4000   SDO |-------->| SDI         |
     |        SCK         |         |             |
     +--------------------+         |             |
               ^                    |             |
               +--------------------| SCLK        |
                                    +-------------+

IIO 裝置特性

AD4000 系列驅動程式支援差分和偽差分 ADC。

AD4000 系列裝置中提供的跨度壓縮功能可以透過更改電壓通道的 _scale_available 屬性來啟用/停用。 請注意,跨度壓縮配置需要寫入 AD4000 配置暫存器,這隻有在 ADC 以 3 線 turbo 模式接線,且 SPI 控制器支援 SPI_MOSI_IDLE_HIGH 時才有可能。 如果不滿足這些條件,則不提供 _scale_available 屬性。

除此之外,差分和偽差分電壓通道呈現略有不同的 sysfs 介面。

偽差分 ADC

偽差分 AD4000 系列裝置的典型電壓通道屬性

電壓通道屬性

描述

in_voltage0_raw

原始 ADC 輸出碼。

in_voltage0_offset

將原始值轉換為 mV 的偏移量。

in_voltage0_scale

將原始值轉換為 mV 的比例因子。

in_voltage0_scale_available

切換輸入跨度壓縮

差分 ADC

差分 AD4000 系列裝置的典型電壓通道屬性

電壓通道屬性

描述

in_voltage0-voltage1_raw

原始 ADC 輸出碼。

in_voltage0-voltage1_scale

將原始值轉換為 mV 的比例因子。

in_voltage0-voltage1_scale_available

切換輸入跨度壓縮

SPI 解除安裝支援

為了能夠實現最大采樣率,可以將驅動程式與 SPI 解除安裝引擎一起使用,例如通常存在於 AXI SPI Engine 中的 SPI 解除安裝引擎,以提供 SPI 解除安裝支援。

為了跟上 SPI 解除安裝的傳輸速度,ADC 必須以 3 線 turbo 模式或 3 線無 busy 指示器模式連線,並且 SPI 控制器 CS 線連線到 CNV 引腳。

當設定為 SPI 解除安裝支援時,IIO 裝置將提供不同的介面。

  • 提供 in_voltage0_sampling_frequencyin_voltage0-voltage1_sampling_frequency 檔案以允許設定取樣率。

  • 不提供 IIO 觸發裝置(沒有 trigger 目錄)。

  • 不提供 timestamp 通道。

此外,由於當裝置以“3 線”模式接線時,ADC 輸出具有一個樣本的延遲(延遲),並且在使用 SPI 解除安裝時每個樣本僅完成一次傳輸,因此緩衝區中的第一個資料樣本無效,因為它包含較早轉換結果的輸出。