AD4030 驱动程序

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

支持的设备

此驱动程序支持以下芯片

IIO 通道

数据表中描述的每个“硬件”通道都分为 2 个 IIO 通道

  • 一个通道用于差分数据

  • 一个通道用于公共字节。

根据“硬件”通道的数量,可能的 IIO 通道是

1 通道 ADC

2 通道 ADC

  • voltage0-voltage1(差分)

  • voltage2(共模)

  • voltage0-voltage1(差分)

  • voltage2-voltage3(差分)

  • voltage4(共模)

  • voltage5(共模)

标签

为了便于使用,IIO 通道提供标签。 对于差分通道,标签为 differentialN,其中 N 是“硬件”通道 ID。 对于共模通道,标签为 common-modeN,其中 N 是“硬件”通道 ID。

可能的标签是

1 通道 ADC

2 通道 ADC

  • differential0

  • common-mode0

  • differential0

  • differential1

  • common-mode0

  • common-mode1

支持的功能

SPI 布线模式

该驱动程序当前支持以下 SPI 布线配置

单通道模式

在此模式下,每个通道都有自己的 SDO 线来发送转换结果。 目前,此模式只能在具有一个通道的 AD4030 上使用,因此仅使用一条 SDO 线。

+-------------+         +-------------+
|     ADC     |         |     HOST    |
|             |         |             |
|         CNV |<--------| CNV         |
|          CS |<--------| CS          |
|         SDI |<--------| SDO         |
|        SDO0 |-------->| SDI         |
|        SCLK |<--------| SCLK        |
+-------------+         +-------------+

交错模式

在此模式下,两个通道的转换结果在一个 SDO 线上进行位交错。 因此,布线与 单通道模式 相同。

SPI 时钟模式

仅支持 SPI 时钟模式。

输出模式

暴露的 IIO 通道比设备数据表中描述的通道更多。 这是因为 差分数据 + 共模 在一次转换结果中对 2 种类型的信息进行编码。 因此,“设备”通道提供 2 个 IIO 通道,一个用于差分数据,一个用于公共字节。

差分数据

在以下情况下选择此模式

  • 在缓冲读取中仅启用差分通道

  • 过采样属性设置为 1

差分数据 + 共模

在以下情况下选择此模式

  • 在缓冲读取中启用差分通道和共模通道

  • 过采样属性设置为 1

对于 24 位芯片,此模式也适用于 16 位差分数据,但尚未可选择。

平均差分数据

在以下情况下选择此模式

  • 在缓冲读取中仅选择启用差分通道

  • 过采样属性大于 1

数字增益和偏移

每个差分数据通道都应用了 16 位无符号可配置硬件增益。 默认情况下,它等于 1。 请注意,应用增益可能会导致数值饱和。

每个差分数据通道都有一个带符号的可配置硬件偏移。 对于以 -24 结尾的 ADC,增益以 24 位编码。 同样,以 -16 结尾的 ADC 具有以 16 位编码的增益。 请注意,应用偏移可能会导致数值饱和。

ADC 返回的最终差分数据首先通过应用增益,然后应用偏移来计算。

增益由 calibscale IIO 属性控制,而偏移由 calibbias 属性控制。

参考电压

该芯片支持通过 REF 输入的外部参考电压或通过 REFIN 输入的内部缓冲参考电压。 驱动程序查看设备树以确定正在使用哪个。 如果存在 ref-supply,则使用外部参考电压并禁用内部缓冲器。 如果存在 refin-supply,则使用内部缓冲参考电压。

复位

支持硬件和软件复位。 驱动程序首先查看设备树,以查看是否填充了 reset-gpio。 如果不存在,驱动程序将回退到通过连接到设备寄存器的软件复位。

未实现的功能

  • BUSY 指示

  • 其他布线模式

  • 其他时钟模式

  • 差分数据 16 位 + 共模,适用于 24 位芯片

  • 过量程事件

  • 测试模式