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:AFE4404从生物传感器获取不正确的数据

Guru**** 2618835 points

Other Parts Discussed in Thread: AFE4404

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/677797/afe4404-afe4404-gets-incorrect-data-from-biosensor

器件型号:AFE4404

您好!

有一块板,带有 AFE4404传感器、STM32L151微控制器和 SFH7060生物传感器。 连接方案 AFE4404和生物传感器连接如下。

通过 I2C 与微控制器进行 I2C 通信正常。  我使用绿色 LED (LED1)进行测量、但从 AFE 接收到的数据看起来也不正确。 我使用了 LED 电流、TI_GAIN 和 TIA_CF 寄存器、但数据仍然相同。

0xFFFE00     

0xFFFE09

0xFFFE31

0xFFFE28

(笑声) 转换 后的 ETC:~-1.16279816.-1.16279899。 值位于 ADC 下限附近、在 ADC 刻度上不会变化。

获取不正确数据的问题可能是什么?



下面是 AFE4404寄存器的初始化


void AFE4404_Reg_Init (void)
{
AFE4404_Reg_Write (0、0);//写入启用

//* Receive-TRANCEIVE 时序配置*//
跨段 | REG_NAME | OPTIM_VALUE |
AFE4404_Reg_Write (9、0); //AFE_LED2LEDSTC 0.0
AFE4404_Reg_Write (10、399);//AFE_LED2LEDENDC 0.398
///接收 LED
AFE4404_Reg_Write (1、100);//AFE_LED2STC 0.100
AFE4404_Reg_Write (2、399);//AFE_LED2ENDC 0.398
///接收环境
AFE4404_Reg_Write (5、501);//AFE_ALED2STC 0.500
AFE4404_Reg_Write (6、800);//AFE_ALED2ENDC

AFE4404_Reg_Write (3、802);//AFE_LED1LEDSTC 上为.798 //SO 0.800
AFE4404_Reg_Write (4、1201);//AFE_LED1LEDENDC 0.1198
AFE4404_Reg_Write (7、902);//AFE_LED1STC .900
AFE4404_Reg_Write (8、1201);//AFE_LED1ENDC 0.1198
AFE4404_Reg_Write (11、1303);//AFE_ALED1STC .1300
AFE4404_Reg_Write (12、1602);//AFE_ALED1ENDC 0.1598

AFE4404_Reg_Write (54、401);//AFE_LED3LEDSTC 0.400
AFE4404_Reg_Write (55、800);//AFE_LED3LEDENDC .798

/*转换时序配置*/
AFE4404_Reg_Write (13、409);//AFE_LED2CONVST 0.5608
AFE4404_Reg_Write (14、1468);//AFE_LED2CONVEND 0.6067
AFE4404_Reg_Write (15、1478);//AFE_ALED2CONVST 0.6077
AFE4404_Reg_Write (16、2537);//AFE_ALED2CONVEND 0.6536
AFE4404_Reg_Write (17、2547);//AFE_LED1CONVST 0.6546
AFE4404_Reg_Write (18、3606);//AFE_LED1CONVEND 0.7006
AFE4404_Reg_Write (19、3616);//AFE_ALED1CONVST 0.7016
AFE4404_Reg_Write (20、4675);//AFE_ALED1CONVEND ..7475

//开始转换时序配置*/
AFE4404_Reg_Write (21、401);//AFE_ADCRSTCT0 0.5600
AFE4404_Reg_Write (22、407);//AFE_ADCRSTENDCT0 0.5606
AFE4404_Reg_Write (23、1470);//AFE_ADCRSTCT1 0.6069
AFE4404_Reg_Write (24、1476);//AFE_ADCRSTENDCT1 0.6075
AFE4404_Reg_Write (25、2539);//AFE_ADCRSTCT2 0.6538
AFE4404_Reg_Write (26、2545);//AFE_ADCRSTENDCT2 0.6544
AFE4404_Reg_Write (27、3608);//AFE_ADCRSTCT3 ..7008
AFE4404_Reg_Write (28、3614);//AFE_ADCRSTENDCT3 0.7014

/*脉率频率扫描周期*/
AFE4404_Reg_Write (29、39999);/AFE_PRPCOUNT 0.39999 AFE4404_Reg_Write
(57、0); //CLKDIV_PRF

AFE4404_Reg_Write (30、0x000103);//AFE_CONTROL1 TimerEN = 1;NUMAV = 3
AFE4404_Reg_Write (32、0x008003);//AFE_TIA_SEP_GAIN (LED2) ENSEPGAIN = 1;LECF=3 AFE4404_REGain

(32、0x4008_LDC_REGain)

;/AFD3_LEDC_LEDC_LEDC_REGain = 0x4404 (0x4004)/AFE403_LEDC_LEDC_REGain (0x4003);/AFD1_LEDC_LEDC_LEDC_LEDC_REGain (0x400_LED1_LEDC_LEDC_LEDC_LEDC_LEDC_LEDC_REGain)
LED2 - 3.125mA;LED1 - 12.5mA <=//默认值0x0030CF
AFE4404_Reg_Write (35、0x104218);//DYN1、LEDCURR、DYN2、 EXT CLK、DYN3、DYN4 //0x000200);- 0x200 OSC 模式//AFE_CONTROL2
AFE4404_REG_Write (49、0x000020);//ENABLE_INPUT_SHORT

/*断电周期配置*/
AFE4404_REG_Write (50、5475);//AFE_ING_DPD.ADC_DRC.199


/ ENCR/PD.D39599*/PD.ADC/DRC / PD.ENCR/PD.DP.DRC / PD.DC.199/PD.ENCR/PD.ENCR/PD.D3915

AFE4404_Reg_Write (52、4700);//PROG_TG_STC
AFE4404_Reg_Write (53、5200);//PROG_TG_ENDC

//AFE4404_Reg_Write (61、DEC_FACTOR _4);//用相应的因子启用抽取

AFE4404_Reg_Write (0、1);//读取使能
}


void afe_reinit()
{
AFE4404_Reg_Write (0、0);//写入使能


AFE4404_Reg_Write (29、39999);//AFE_PRPCOUNT 0.39999 AFE4404_Reg_Write
(57、0); //CLKDIV_PRF

AFE4404_Reg_Write (30、0x000103);//AFE_CONTROL1 TimerEN = 1;NUMAV = 3
AFE4404_Reg_Write (32、0x008003);//AFE_TIA_SEP_GAIN (LED2) ENSEPGAIN = 1;LECF=3 AFE4404_REGain

(32、0x4008_LDC_REGain)

;/AFD3_LEDC_LEDC_LEDC_REGain = 0x4404 (0x4004)/AFE403_LEDC_LEDC_REGain (0x4003);/AFD1_LEDC_LEDC_LEDC_LEDC_REGain (0x400_LED1_LEDC_LEDC_LEDC_LEDC_LEDC_LEDC_REGain)
LED2 - 3.125mA;LED1 - 12.5mA <=//默认值0x0030CF
AFE4404_Reg_Write (35、0x124018);//DYN1、LEDCURR、DYN2、 EXT CLK、DYN3、DYN4 /0x000200);- 0x200 OSC 模式//AFE_CONTROL2
AFE4404_REG_Write (49、0x000020);//ENABLE_INPUT_SHORT

/*断电周期配置*/
AFE4404_REG_Write (50、5475);/AFE44051/2_ADC_DRES5*


/ ENCR/PD.599*/ADC_DRESCR/ADC39599*/ADC_DRESCR/ADC395475*/ ENDRESDD_DR_DR_DR.CONTROL.599*/ENCH
(50、ADC_DRESCR/PDT.34_DRESCR/ENCH


AFE4404_Reg_Write (0、1);//读取使能
}


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

    如果减小 LED 电流、您是否会看到绿色 LED 褪色、甚至会关闭?
    测试设置中的环境光也会怎样?

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

    流经寄存器的 LED 电流变化会导致亮度成比例变化、这没有问题。
    通过19和20寄存器配置环境光

    AFE4404_Reg_Write (19、3616);//AFE_ALED1CONVST 0.7016
    AFE4404_Reg_Write (20、4675);//AFE_ALED1CONVEND .7475
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Igor、

    AFE 可能会因来自室内光线或日光等环境光源的强烈光线而饱和。
    您能否确认、在这种情况下、请将传感器保持在暗盒中并读取 ADC 输出?

    此致、
    Prabin