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 设备缓冲区。