AD7380 驱动程序

用于 Analog Devices Inc. AD7380 和类似设备的 ADC 驱动程序。模块名称为 ad7380

支持的设备

此驱动程序支持以下芯片

支持的功能

SPI 接线模式

ad738x ADC 可以在多个 SDO 线(1/2/4)上输出数据。该驱动程序当前仅支持 1 个 SDO 线。

参考电压

ad7380-4

ad7380-4 仅支持外部参考电压(2.5V 至 3.3V)。它必须在设备树中声明为 refin-supply

ADAQ 设备

adaq4370-4 和 adaq4380-4 没有外部参考电压,但使用从其电源之一(refin-supply)导出的 3.3V 内部参考电压。

ad738x 系列中的所有其他设备

ad738x 中的所有其他设备都支持 2 个可能的参考电压源

  • 内部参考电压 (2.5V)

  • 外部参考电压 (2.5V 至 3.3V)

源由设备树确定。如果存在 refio-supply,则将其用作外部参考电压,否则使用内部参考电压。

过采样和分辨率提升

此系列支持 2 种类型的过采样:正常平均值和滚动平均值。驱动程序仅支持正常平均值,因为滚动平均值可以通过处理捕获的数据缓冲区来实现。可用的比率为:1(禁用过采样)/2/4/8/16/32。

当启用片上过采样功能时,ADC 的性能可以超过默认分辨率。为了适应可实现的性能提升,可以启用额外的两位分辨率。由于只有在启用过采样时才能启用分辨率提升功能,并且没有分辨率提升的过采样不是很有用,因此只有在启用过采样时,驱动程序才会自动启用分辨率提升。

由于分辨率提升功能导致 16 位芯片现在具有 18 位数据,这意味着 storagebits 必须从 16 位更改为 32 位,因此我们使用新的 ext_scan_type 功能来允许在运行时更改 scan_type。不幸的是,libiio 不支持它。因此,当启用或禁用过采样时,用户必须使用以下命令重新启动 iiod

root:~# systemctl restart iiod

通道选择和序列器(仅限单端芯片)

此系列的单端芯片 (ad7386/7/8(-4)) 在每个 ADC 前面都有一个 2:1 多路复用器。它们还包括额外的配置寄存器,允许手动选择或自动切换(序列器模式)多路复用器输入。

从 IIO 的角度来看,导出所有输入,即 ad7386/7/8 导出 4 个通道,ad7386-4/7-4/8-4 导出 8 个通道。

多路复用器的输入 AinX0 对应于 IIO 通道的前半部分(即 0-1 或 0-3),输入 AinX1 对应于后半部分(即 2-3 或 4-7)。AD7386/7/8(2 通道部件)的示例

   IIO   | AD7386/7/8
         |         +----------------------------
         |         |     _____        ______
         |         |    |     |      |      |
voltage0 | AinA0 --|--->|     |      |      |
         |         |    | mux |----->| ADCA |---
voltage2 | AinA1 --|--->|     |      |      |
         |         |    |_____|      |_____ |
         |         |     _____        ______
         |         |    |     |      |      |
voltage1 | AinB0 --|--->|     |      |      |
         |         |    | mux |----->| ADCB |---
voltage3 | AinB1 --|--->|     |      |      |
         |         |    |_____|      |______|
         |         |
         |         +----------------------------

当启用序列器模式时,有效采样率除以 2。

增益(仅限 ADAQ 设备)

ADAQ 设备在每个 ADC 前面都有一个引脚可选择的增益。可以使用设备树中的 adi,gain-milli 属性选择适当的增益。有关引脚接线,请参阅数据手册的典型连接图部分。

未实现的功能

  • 2/4 SDO 线

  • 滚动平均过采样

  • 断电模式

  • CRC 指示

  • 警报

设备缓冲区

此驱动程序支持 IIO 触发的缓冲区。

有关详细信息,请参阅 工业 IIO 设备缓冲区