Post Go back to editing

AD7980读取数值和范围的问题

测量条件:

  • VDD:2.5V,
  • REF:3.0V,
  • SDI=VIO:3.3V,

遇到的问题:

  • 当接入IN+为恒定3.0V或者更高,读取的数值为57343,为什么不是2^16=65536呢?
  • 当接入IN+为0.49V或更低,读取的数值为0,这是最低的测量范围吗?

 使用的ESP32 Arduino开发环境,一下为测试代码:

int _res;
byte _highByte;
byte _lowByte;

// 将 CNV 高电平,转换开始
digitalWrite(pinCNV, HIGH);
delayMicroseconds(1);

// 将 CNV 低电平,并等待1us,数据移到SDO,可以采集
digitalWrite(pinCNV, LOW);
delayMicroseconds(1);

// 开始采集数据
_highByte = hspi->transfer(0xff);
_lowByte = hspi->transfer(0xff);
_res = (_highByte << 8) | _lowByte;

用示波器查看应该没什么问题,SDO(黄色)正常输出,SCK是紫色的

谢谢



上传了图片
[编辑人: Jun1988 编辑时间: 4 Aug 2021 10:57 AM (GMT -4)]