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 系列裝置的典型電壓通道屬性
電壓通道屬性 |
描述 |
|---|---|
|
原始 ADC 輸出碼。 |
|
將原始值轉換為 mV 的偏移量。 |
|
將原始值轉換為 mV 的比例因子。 |
|
切換輸入跨度壓縮 |
差分 ADC¶
差分 AD4000 系列裝置的典型電壓通道屬性
電壓通道屬性 |
描述 |
|---|---|
|
原始 ADC 輸出碼。 |
|
將原始值轉換為 mV 的比例因子。 |
|
切換輸入跨度壓縮 |
SPI 解除安裝支援¶
為了能夠實現最大采樣率,可以將驅動程式與 SPI 解除安裝引擎一起使用,例如通常存在於 AXI SPI Engine 中的 SPI 解除安裝引擎,以提供 SPI 解除安裝支援。
為了跟上 SPI 解除安裝的傳輸速度,ADC 必須以 3 線 turbo 模式或 3 線無 busy 指示器模式連線,並且 SPI 控制器 CS 線連線到 CNV 引腳。
當設定為 SPI 解除安裝支援時,IIO 裝置將提供不同的介面。
提供
in_voltage0_sampling_frequency或in_voltage0-voltage1_sampling_frequency檔案以允許設定取樣率。不提供 IIO 觸發裝置(沒有
trigger目錄)。不提供
timestamp通道。
此外,由於當裝置以“3 線”模式接線時,ADC 輸出具有一個樣本的延遲(延遲),並且在使用 SPI 解除安裝時每個樣本僅完成一次傳輸,因此緩衝區中的第一個資料樣本無效,因為它包含較早轉換結果的輸出。