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.

[参考译文] AFE4404:LED 的电流电平调节

Guru**** 2572045 points
Other Parts Discussed in Thread: AFE4404

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/639842/afe4404-current-level-adjustments-for-leds

器件型号:AFE4404

您好!

我们设计了一个具有4个 AFE 的数据采集系统、尤其是用于 PPG 信号采集的 AFE4404。 这个连接到 MCU、LED 由3.7V 3500mAh 锂聚合物电池驱动。 在使用 SMU 而不是3500mAh 电池进行电源分析时、我们注意到系统消耗的电流非常低。

如果我错了、请纠正我的问题。 AFE 配置为900Hz 和10%占空比。 我从 GUI 获取设置并将其添加到代码中。

  1. 使用的 LED 配置为80mA 和20mA、理想情况下、我期望的电流范围为~80mA、但在 SMU 中、它显示的最大电流为35mA。 这是预期的吗?
  2. 2个 LED 之间存在交叉通道干扰、有什么方法可以避免这种情况? 如果我使 LED 保持在接近状态、我可以看到 ADC 代码中的尖峰
  3. 当环境含量较高时、当我们读取原始环境寄存器时、该值变为负值并导致42 lakhs 中的值、这将损坏我的数据、因此我更改为原始数据、这种方法是否正常?
  4. 为了检查 TIA 增益调整是否有影响、我尝试将 TIA 增益从5k 更改为100k、但从 AFE 读取的 ADC 代码没有任何差异、当我尝试使用 PD 断开位0时、来自4xAFE 的原始读数提供了大约650-65000的 ADC 值。 为了消除这种情况、我应该对 DAC 失调电流电平做些什么?

我将根据我的配置附加寄存器设置。

 afe4404_enable_register_write (afe4404);                   //启用 AFE4404寄存器修改
 afe4404_register_write (AFE4404_LED2STC、0x000050、afe4404);        //LED2STC
 afe4404_register_write (AFE4404_LED2ENDC、0x0001BB、afe4404);       //LED2ENDC
 afe4404_register_write (AFE4404_LED1LEDSTC、0x000378、afe4404);    //LED1LEDSTC
 afe4404_register_write (AFE4404_LED1LEDENDC、0x000533、afe4404);    //LED1LEDENDC
 afe4404_register_write (AFE4404_ALED2STC、0x00020C、afe4404);      //ALED2STC
 afe4404_register_write (AFE4404_ALED2ENDC、0x000377、afe4404);     //ALED2ENDC
 afe4404_register_write (AFE4404_LED1STC、0x0003C8、afe4404);       //LED1STC
 afe4404_register_write (AFE4404_LED1ENDC、0x000533、afe4404);      //LED1ENDC
 afe4404_register_write (AFE4404_LED2LEDSTC、0x000000、afe4404);    //LED2LEDSTC
 afe4404_register_write (AFE4404_LED2LEDENDC、0x0001BB、afe4404);   //LED2LEDENDC
 afe4404_register_write (AFE4404_ALED1STC、0x000585、afe4404);      //ALED1STC
 afe4404_register_write (AFE4404_ALED1ENDC、0x0006F0、afe4404);    //ALED1ENDC
 afe4404_register_write (AFE4404_LED2CONVST、0x0001C4、afe4404);   //LED2CONVST
 afe4404_register_write (AFE4404_LED2CONVEND、0x0005E7、afe4404);  //LED2CONVEND
 afe4404_register_write (AFE4404_ALED2CONVST、0x0005F0、afe4404);  //ALED2CONVST
 afe4404_register_write (AFE4404_ALED2CONVEND、0x000A13、afe4404); //ALED2CONVEND
 afe4404_register_write (AFE4404_LED1CONVST、0x000A1C、afe4404);   //LED1CONVST
 afe4404_register_write (AFE4404_LED1CONVEND、0x000E3F、afe4404);  //LED1CONVEND
 afe4404_register_write (AFE4404_ALED1CONVST、0x000E48、afe4404);  //ALED1CONVST
 afe4404_register_write (AFE4404_ALED1CONVEND、0x00126B、afe4404); //ALED1CONVEND
 afe4404_register_write (AFE4404_ADCRSTCT0、0x0001BD、afe4404);  //ADCRSTCT0
 afe4404_register_write (AFE4404_ADCRSTENDCT0、0x0001C3、afe4404);  //ADCRSTENDCT0
 afe4404_register_write (AFE4404_ADCRSTCT1、0x0005E9、afe4404);  //ADCRSTCT1
 afe4404_register_write (AFE4404_ADCRSTENDCT1、0x0005EF、afe4404); //ADCRSTENDCT1
 afe4404_register_write (AFE4404_ADCRSTCT2、0x000A15、afe4404);  //ADCRSTCT2
 afe4404_register_write (AFE4404_ADCRSTENDCT2、0x000A1B、afe4404); //ADCRSTENDCT2
 afe4404_register_write (AFE4404_ADCRSTCT3、0x000E41、afe4404);  //ADCRSTCT3
 afe4404_register_write (AFE4404_ADCRSTENDCT3、0x000E47、afe4404); //ADCRSTENDCT3
 afe4404_register_write (AFE4404_PRPCT、0x00115B、afe4404);        //PRPCT
 afe4404_register_write (AFE4404_control1、0x020103、afe4404);     //control1
 afe4404_register_write (AFE4404_TIA_GAIN、0x00800B、afe4404);     //TIA_GAIN
 afe4404_register_write (AFE4404_TIA_AMB_GAIN、0x00000B、afe4404); //TIA_AMB_GAIN
 afe4404_register_write (AFE4404_LEDCTRL、0x000332、afe4404);      //LEDCTRL  
 afe4404_register_write (AFE4404_Control2、0x124218、afe4404);     //Control2
 afe4404_register_write (AFE4404_CLKDIV1、0x000000、afe4404);      //CLKDIV1
 afe4404_register_write (AFE4404_Control3、0x000000、afe4404);     //Control3
 afe4404_register_write (AFE4404_PDNCYCLESTC、0x00252B、afe4404);  //PDNCYCLESTC
 afe4404_register_write (AFE4404_PDNCYCLEENDC、0x000E3A、afe4404); //PDNCYCLEENDC
 afe4404_register_write (AFE4404_PROG_TG_STC、0x000000、afe4404);  //PROG_TG_STC
 afe4404_register_write (AFE4404_PROG_TG_ENDC、0x000000、afe4404); //PROG_TG_ENDC
 afe4404_register_write (AFE4404_LED3LEDSTC、0x0001BC、afe4404);   //LED3LEDSTC  
 afe4404_register_write (AFE4404_LED3LEDENDC、0x000377、afe4404);  //LED3LEDENDC
 afe4404_register_write (AFE4404_CLKDIV2、0x000000、afe4404);      //CLKDIV2
 afe4404_register_write (AFE4404_OFFDAC、0x000000、afe4404);       //OFFDAC

我正在查看电流电平>30mA 的15-18laks 的 ADC 代码。 如果我在配置中缺少某些内容、请更正我的问题

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

    您有两个 LED、每个 LED 具有10%的占空比、因此每个 AFE 将消耗80mA 的10%和20mA 的10%=~10mA。 因此、4 AFE 将消耗~40mA (与 SMU 的35mA 电流匹配)。
    您能否详细说明通道干扰问题? 这是否意味着当您具有 LED2、AMB2、LED1和 AMB1时、您会看到从 LED1/LED2到另一个 LED 的一些信号?
    应使用 LED-AMB 数据、因为它会消除由于 AMB 而导致的偏移和调制。 您可以在 LED 或/和 AMB 阶段使用偏移 DAC 将 LED-AMB 接近0V。
    更改 TIA 增益肯定会更改 ADC 代码。 但变化/增量取决于信号电平。 您能不能尝试看到 LED-AMB 阶段的变化。

    此致、
    Prabin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我们正在尝试使用 AFE4404从手腕和其他测量部位获取 PPG 信号。 我们增加了电流、以查看是否还可以针对更低的灌注水平采集 PPG。 数据表中写入的最大电流电平为100mA 是多少?
    我们期望 ADC 读数在15-20 laks 范围内、这只是我尝试增加 TIA 增益。 在不改变 CF 的情况下增加 TIA 增益是可以的?
    关于通道干扰问题、我们设计了用于容纳 LED 和 PD 的定制探针。 如果我们使探针彼此靠近、则会导致 LED 通道读数出现尖峰。
    我们最初使用的是 LED_AMB 数据、但由于 ADC 读数较高、会破坏信号、因此我们恢复为 LED 通道读数。 在 DAC 偏移消除中、将尝试在 LED AMB 相位中添加电流、并使用-极性进行检查。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Alex:

    AFE4404支持的最大 LED 电流为100mA。
    在更改 TIA_GAIN 时,您还必须更改 CF,RF 和 CF 设置 TIA 的带宽,这些带宽应确保 RF*CF 为采样宽度的五分之一。 有关更多详细信息、请参阅"8.3.1.3 TIA 带宽设置"部分。

    ~20 lakhs 的 ADC 代码几乎满足要求、因此我们不建议在该区域运行。
    由于20个 PPG 信号拉克(ADC 代码)中、大多数都是直流分量、很少有交流分量。 您最终可以使用偏移 DAC 来抵消直流电、并使用较高的 TIA 增益。 这将提高信号质量并将 AFE 置于非饱和区域。

    我想接近饱和会导致信号中的尖峰。


    此致、
    Prabin