Other Parts Discussed in Thread: ADS1256, ADS1261
器件型号: ADS1256
主题中讨论的其他器件: ADS1261
您好专家、
我正在使用 ADS1256 设计多通道数据采集系统。 该应用需要频繁切换输入多路复用器、PGA 设置和数据速率。
SELFCAL在 MUX/PGA 配置每次更改后运行硬件自校准 () 都会引入显著的延迟(高达~1s、具体取决于 DRATE)、这对于我的目标系统吞吐量来说是不可接受的。
为了在保持高精度的同时保持高吞吐量、我计划实施软件校准 策略。 希望您提供有关此方法是否有效的反馈意见。
以下是工作流程:
-
表征:MCU 循环使用所有必要的 MUX/PGA/DRATE 组合。 对于每个配置
SELFCAL、它会运行、读取生成的 OFC 和 FSC 寄存器值、并将它们存储在 MCU RAM 中的查找表中。 -
采集:在正常运行期间、I 将“理想“值写入 ADC 寄存器(数据表表表 18 中的 OFC = 0 且 FSC =理想 FSC)。 这允许立即切换 MUX/PGA、无需等待校准。 ADC 输出“未校准数据“。
-
补偿:MCU 使用存储的 OFC/FSC 值对未校准数据进行线性校正。
根据 ADS1256 架构(数据表的图 23 和公式 3)、我推导出以下要由 MCU 计算的补偿公式:
Final_Output = FSC/IDEAL_FSC*(Raw_Output - OFC/ALPHA*IDEAL_FSC*beta)
其中:
-
FSC和OFC:存储的实际校准值。 -
Ideal_FSC,AlphaBeta:数据表中的系数表 18.
以下是我的问题:
- 对于 ADS1256 内部 ALU 处理路径、该数学模型是否正确?
- 在从外部处理校准校正时、使用固定的“理想“校准寄存器驱动 ADS1256 是否存在任何隐藏的缺陷?
提前感谢您的支持。
Alessandro