TI技术支持团队,您好!
在 本论坛上我上一篇文章的帮助和建议下 ,我设计了一个带有两个TI ADS8699 18位100kHz ADC的电路板,它将用于测量0到5V之间的模拟电压。 在写入任何要注册的内容之前,我使用默认范围设置(双极3*Vref)对主板进行了测试,方法是对ADC输入应用3.3V电压,并成功地使其工作。 测试输入为3.27V,相应的ADC测量值非常接近它(关于3.255。 )。 测量差异很小,因为我的输入电压不精确,而且我使用电缆进行连接。 我使用了以下设置。
将csADC设为低电平
字节firstByte = SPI.transfer (B0万);
字节辅助字节= SPI.transfer (B0万);
字节第三字节= SPI.transfer (B0万);
字节4字节= SPI.transfer (B0万);
将csADC设为高
为了获得电压结果,我使用了前18位,并使用 了附加的Excel文件进行二进制电压计算,我在本论坛的另一篇文章中找到了与ADS8699 ADC相关的信息。 成功读数后,我试图写入range_sel_reg,以使ADC输入范围0-5.12V,但我失败了。
我有以下问题。
1.我尝试使用以下命令写入range_sel_reg,以便将ADC输入范围调整为0-5.12V。 然后,通过再次应用~3.3V测试输入,我测量了ADC输出(约17.0235万十进制)。 使用Excel文件并将Excel中的range参数设置为1.25 ,我得到0.76V。 我认为我使用Excel文件的方式有误,或者我不是写在范围内,请正确选择"注册"。 我的寄存器配置命令是:
将csADC设 为低电平
SPI.transfer (0xD4);//1101.01万
SPI.transfer (0x14);// 1.01万
SPI.transfer (0x00);
SPI.transfer (0xB);// 1011
将csADC设为高
请问我的错在哪里?
2.我有连接到ADC复位引脚的复位引脚。 我正在使用它们在通电时进行重置。 以下命令是否足以使ADC复位,是否需要额外的命令?
使ADC复位引脚 处于低位
等待20毫秒
使ADC复位引脚高
3.在将1011写入range_sel_reg后,无法获得预期的电压结果,我尝试使用以下命令读取range_sel_reg,以查看我是否能够写入寄存器。
将csADC设为低电平
SPI.transfer (0xC8);//1100.1万
SPI.transfer (0x14); // 1.01万
SPI.transfer (B0万);
byte reading=spI.transfer(B0万);//我希望读取字节中有1011
将csADC设为高
延迟1秒后,我尝试连续读取range_sel_reg。 每次通电时我都会读取预期结果(1011),但之后我总是得到0。 这是预期行为吗?
感谢您的帮助,
Ahmet
e2e.ti.com/.../3302.ADS869x_5F00_FormatConversion_5F00_DL-_2800_2_2900_.xlsx</s>2800 2900