在 SPI 上使用 AD7091 进行模拟数字转换

Analog digital conversion with AD7091 on SPI

我正在尝试将 AD7091R-8 ADC 芯片与 SPI 一起使用。 数据表中描述了获取转换值的过程并说:

  1. 重置芯片
  2. 将 CONVST 线拉低 600ns,然后拉高。
  3. 对于 Channels 寄存器中启用的通道(我启用了最后 3 个通道)开始计时 2 个字节中包含的数据。

所以我将 CONVST 线调高 1 毫秒,然后等待 1 毫秒,然后通过启用 CS 开始计时输出数据,然后计时 16 字节,然后调高 CS。 在时钟输出的那些 16 位中,我应该进入第一个 3 位通道 ID,我得到了它,但只有第一个。其他 2 帧没有通道 id,这假设出现了问题。

芯片在启动 CONVST 和时钟输出数据后是否应自动递增 ADC 结果或以某种方式处理 ADC 通道结果?

有人可以提示在执行 CONVST 后如何从该 ADC 检索数据吗?

如果您查看数据表(通道音序器)第 36 页上的图表,您会找到答案。 您需要执行以下顺序:

  • 切换 CONVST
  • 将CS拉低,写入SDI上的通道寄存器,忽略SDO,将CS拉高

然后对于您要阅读的每个频道:

  • 切换 CONVST
  • 将 CS 拉低,读取 SDI 上 NOP 寄存器的操作,SDO 上的下一个通道,将 CS 拉高