Other Parts Discussed in Thread: AFE4404
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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);//读取使能 }
