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

时间:2016-11-13 18:58:50

标签: microcontroller spi adc

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

  1. 重置芯片
  2. 将CONVST线路低至600ns,然后将其拉高。
  3. 对于通道寄存器内的已启用通道(我已启用最后3个chans),开始计时包含2个字节的数据。
  4. 所以我带CONVST线1ms然后上升并等待1 ms并通过启用CS然后计时16字节然后启动CS来开始计时数据。 在那些时钟输出的16位中,我应该进入前3位通道ID,我得到它但只有第一位。其他2帧没有通道ID,这假设某些东西变坏了。

    启动CONVST并输出数据后芯片会自动增加ADC结果或以某种方式输出ADC通道结果吗?

    在做CONVST后,有人可以提示如何从ADC中恢复数据吗?

1 个答案:

答案 0 :(得分:1)

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

  • 切换CONVST
  • 将CS连接为低电平,在SDI上写入通道寄存器,忽略SDO,将CS连接高电平

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

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