您好!
在设计的定制板上使用 ADS1256时、我遇到了一个问题。 尽管我在电路板上发现的值要小得多、但 ADC 读取的值大约为180mv、并且无法将通道输入上的电压降至最低。 我可以共享原理图和电路板光绘文件进行审阅。
我已附上 reference.e2e.ti.com/.../ADS1256_5F00_Readings.xlsx 的读数
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、Bryan、
配置
下面是我正在执行的 ADS1256 Init()序列
void ADS1256_Init (void) { NVIC_DisableIRQ (EXTI0_IRQn); ADS1256_PWR_ON; HAL_DELAY (15); ADS1256_ResetCommand (); HAL_DELAY (50); ADS1256_ReadRegisters (ADS1256_STATUS、5); //ADS1256_SetInputBufferSeting (SET); //ADS1256_SetAutoCalSetting (SET); ADS1256_ReadRegisters (ADS1256_STATUS、 1); NVIC_EnableIRQ (EXTI0_IRQn); //ADS1256_CalibrateSelf (); //ADS1256_CalibrateSystem_Offset (); ADS1256_CalibrateSystem_GAIN (); ADS1256_SetDataRate (ADS1256_SPS_60); //进入同步状态*/ ADS1256_Sync (); //ADS1256_Standby (); ////////*等待 ADC 信号完成* while (reset = ADS1256_DRDY_Flag) {}ADS1256_DRDY_Debug (%print_gb );%printing Buffer (%0856.n_Debug);%print_gapor.h)
校准读数位于 attachment.e2e.ti.com/.../4812.ADS1256_5F00_Readings.xlsx 中
大家好、Kongara、
您如何执行校准? 我不清楚您在 Excel 文档中发送了哪些数据。 对于 SELFCAL、您不必像文档中所述那样将通道2接地短路。 ADC 会在内部自动将输入短接在一起以进行偏移校准、并应用来自您应用于增益校准的基准电压的满量程信号。 我不清楚值表表示的是什么、例如"Reset -1"、"Reset -2"等
当您执行 SYSOCAL / SYSGCAL 时、是否分别将外部输入短接并应用满量程信号? 否则、您得到的值将不准确、并会导致不良结果。
您是否为这些测量启用了缓冲器?
您可以单击我的姓名并选择"请求友谊"。 这将允许您通过私人消息将原理图发送给我、以便其他人看不到它。
布莱恩
大家好、Kongara、
我相信我必须接受您朋友的请求、然后您才能向我发送消息、我刚才已经这样做了。 因此、请尽快离线将原理图发送给我。
是否可以发送您正在使用的配置设置? 以下哪一项是您要写入寄存器以配置器件的示例十六进制/二进制值?
这里似乎有问题、因为您报告的 FSC 寄存器值(FFFFFFh)基本上为0、此时它们应该约为400000h。
此外、您在发送的表中显示的内容是什么? 每列数据显示不同的偏移和增益值、然后是下面的值列表。 这些值似乎比漂移更高、从而达到相对稳定的状态-该数据应该显示什么? 校准完成后、我希望值非常类似、因此该信息毫无意义。
布莱恩
您好、Bryan、
读数不一致是由于 SPI 接口的工作频率所致。 它设置为3Mbit/s、我已将其更改为1.5Mbit/s 现在、我能够正确读取寄存器。
下面是我正在使用的 ADC 配置。
[ADS1256]寄存器0状态:0x31
[ADS1256]寄存器1 MUX:0x18
[ADS1256]寄存器2 ADCON:0x20
[ADS1256]寄存器3 DRATE:0xF0
[ADS1256]寄存器4 IO:0xE1
[ADS1256]寄存器5 OFC0:0xD3
[ADS1256]寄存器6 OFC1:0xB6
[ADS1256]寄存器7 OFC2:0xFD
[ADS1256]寄存器8 FSC0:0x5F
[ADS1256]寄存器9 FSC1:0x49
[ADS1256]寄存器10 FSC2:0x40
在上述配置下、我获取了满量程读数、但偏移仍然存在。 我将尝试对 ADC 进行 SELFCAL 并发布读数。
此外、有关原理图的一些注释(我只查看了第3页):
您好、Bryan、
根据所需通道选择多路复用器后、我正在执行 SELFCAL、并且我在固件中进行了一些滤波以跳过采样超出范围。 因此、我达到了很高的精度要求。 我们的硬件团队正在努力找出校准后观察到的偏移的根本原因。
原理图观察结果
校准和滤波后的读数为 attached.e2e.ti.com/.../2047.ADS1256_5F00_SELFCAL_5F00_readings.xlsx