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.

[参考译文] AFE4300:AFE4300校准例程

Guru**** 1959305 points
Other Parts Discussed in Thread: AFE4300
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/703700/afe4300-afe4300-calibration-routine

器件型号:AFE4300

大家好、

AFE4300的校准仍有问题。 将在 FWR 模式下测量阻抗、我的原理图中有2个参考电阻器、99.7欧姆和997欧姆。

当我的 afe4300启动时、我准备寄存器来校准电路板

WRITE_register (ADC_CONTROL_REGISTER1、0x4120);//差分测量模式、32SPS
WRITE_register (MISC_REGISTER1、0x0000);
WRITE_register (MISC_REGISTER2、0xFFFF);
WRITE_register (DEVICE_CONTROL1、0x6006); //为 BCM 信号链

WRITE_REGISTER (VSENSE_MUX、0x0201);// VSENSERN0 - VSENSERP1
WRITE_REGTER (VSENSE_MUX、0x0202);// VSENSERN1 - VSENSERP1

WRITE_register (ISW_MUX、0x0408);// VSENSE_REP0000 (0x0020_REW_REW_RETP_REW_REW_REW_REW/
REW_REW_REW_REW_REW/ REW_REWN





)寄存器(0x63_REW_REW_REW_REW_REW_REW_REW_REW_REW_REW_REW_REW_REW_REW_REW_REWN);//(0x0000_MODE_REW_REW_REW_REW_REW_REW_REW_REWIT_ //ADC 选择 BCM-I 输出
WRITE_register 的输出(MISC_REGISTER3、0x0030); 

如何获取每个基准电阻器的 ADC 代码?

我想我需要 读取_register (ADC_DATA_RESULT)两次、但我必须将其放在哪里? 在第1个 ISW_MUX 和第2个 ISW_MUX 之后?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ivan、

    下面是一个伪代码示例。 您可以将其实现为状态机。

    /*状态1 - AFE 配置*/
    WRITE_REGISTER1、0x4120);//差分测量模式、32SPS
    WRITE_REGISTER1、0x0000);
    WRITE_REGISTER2、0xFFFF);
    WRITE_REGISTER3、0x0030);
    WRITE_REGISTER (IQ_MODE_ENABLE、0x0000);
    WRITE_register (weight_scale_control、0x0000);
    WRITE_REGISTER (BCM_DAC_FREQ、0x0020);/0x0040
    WRITE_REGISTER (DEVICE_CONTROL2、0x0000);
    WRITE_REGISTER2、0x0063);/ADC 选择 BCM-I 输出的输出
    WRITE_REGISTER (DEVICE_CONTROL1、0x6006);//为 BCM 信号链加电

    /*状态2 -基准电阻1测量*/
    WRITE_REGISTER (VSENSE_MUX、0x0201);//VSENSERN0 - VSENSERP1
    WRITE_REGTER (ISW_MUX、0x0201);
    //插入等待时间以使信号稳定
    //使用中断信号从 AFE 捕获数据点(读取 ADC_DATA_RESULT 寄存器)
    //取所收集数据点的平均值

    /*状态3 -基准电阻2测量*/
    WRITE_REGISTER (VSENSE_MUX、0x0202);//VSENSERN1 - VSENSERP1
    WRITE_REGISW_MUX、0x0202);
    //插入等待时间以使信号稳定
    //使用中断信号从 AFE 捕获数据点(读取 ADC_DATA_RESULT 寄存器)
    //取所收集数据点的平均值

    //计算基准电阻器的增益和偏移

    /*状态4 -未知阻抗测量*/
    WRITE_REGISTER (VSENSE_MUX、0x0408);//VSENSEP0 - VSEN1
    WRITE_REGISW_MUX、0x0408);//IOUTP0 - IOUTN1
    //插入等待时间以使信号稳定
    //使用中断信号从 AFE 捕获数据点(读取 ADC_DATA_RESULT 寄存器)
    //取所收集数据点的平均值

    //使用校准后的增益和偏移计算阻抗。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Praveen、感谢您的回复。
    当我使用 DRDY 中断时、引脚(DRDY)的变化速度非常快、我是否应停止某些操作? 例如、TI 的另一个 IC (ads12xx)有一个特殊的寄存器停止、当 DRDY 被改变且数据就绪时、必须写入该停止。

    在没有中断的情况下、我得到的斜率约为0.062354、偏移非常大~110、我的电阻器为99.7欧姆和997欧姆。
    此外、我对 RC 网络(556欧姆和0.1 μ F)的测量结果显示了不同的误差百分比、我执行5测量、结果在范围(5、100)%(是的、我使用斜率和偏移)内

    如果我想使用 IOUT0和 IOUT1进行电流注入、并使用 VSENSE0和 VSENSE1接收电流、应该将0x0408写入 VSENSE_MUX 和 ISW_MUX?

    根据数据表、它将信号从 VSENSEP0路由到 VSEN1 (IOUTP0至 IOUTN1)、它是否正确? 为什么选择 N1而不是 N0?   因为使用了2对电极、它们连接到通道0和1

    UPD:为了确保芯片工作正常、我编写了0x0065以启用体重秤模式、并获得了1.7V 的 VLDO 引脚(似乎是这样)、如何精确输出数据、以获得更少的误差(如 本文档中所述、误差小于1%)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为反馈链添加了另外2个电阻器,因此现在我有4个反馈电阻器(每个电阻器为10M):RP0-RN1、RP0-RN0、RP1-RN1、RP1-RN0。
    但它没有帮助、50kHz 时的误差约为10%。 我还需要改进哪些方面才能将误差降至1%以下?
x 出现错误。请重试或与管理员联系。