i used the afe4490evm,i used fluke index2 Simulator,nellcor Curve,bmp 75,spo2 96% amp 3%,the ired and red pleth's Quality is good.but On Weak filling column( amp 0.5-1%),the ired and red pleth's Noise is big.
the follow two pictures is display LED2-ALED2VAL and LED1-ALED1VAL wave
RED = LED2, IR = LED1.
amp3% spo2 96% pr 75bpm, the left pleth wave is ir ,the right pleth wave is r .
amp0.% spo2 96% pr 75,the left pleth wave is ir ,the right pleth wave is r .
i used the 100hz sample rate.
the register config
WriteCommand(0x00,0x08); //Software reset
SystickDelay1ms(5);
WriteCommand(0x00,0x00); //example //test 100hz
WriteCommand(0x01,30000);
WriteCommand(0x02,39999);//39999
WriteCommand(0x03,30000);
WriteCommand(0x04,39998);//39998
WriteCommand(0x05,0);
WriteCommand(0x06,9998);
WriteCommand(0x07,10000);
WriteCommand(0x08,19998);
WriteCommand(0x09,10000);
WriteCommand(0x0a,19999);
WriteCommand(0x0b,20000);
WriteCommand(0x0c,29998);
WriteCommand(0x0d,2);
WriteCommand(0x0e,9999);
WriteCommand(0x0f,10002);
WriteCommand(0x10,19999);
WriteCommand(0x11,20002);
WriteCommand(0x12,29999);
WriteCommand(0x13,30002);
WriteCommand(0x14,39999);
WriteCommand(0x15,0);
WriteCommand(0x16,2);
WriteCommand(0x17,10000);
WriteCommand(0x18,10002);
WriteCommand(0x19,20000);
WriteCommand(0x1a,20002);
WriteCommand(0x1b,30000);
WriteCommand(0x1c,30002);
WriteCommand(0x1d,39999);
/WriteCommand(0x1e,0x107); //Control Register 1 ?
//WriteCommand(0x1f,0x000); //reserved
WriteCommand(0x20,0x00); //Transimpedance Amplifier Gain Setting Register/
WriteCommand(0x21,0x00); //Transimpedance Amplifier and Ambient Cancellation Stage Gain Register
WriteCommand(0x22,0x1cccc); //204/256*75ma=60mA red:60mA ired:60mA
WriteCommand(0x23,0x00); //Control Register 2
//WriteCommand(0x24,0x00); //reserved
//WriteCommand(0x25,0x00); //reserved //WriteCommand(0x26,0x00); //reserved
//WriteCommand(0x27,0x00); //reserved
//WriteCommand(0x28,0x00); //reserved
WriteCommand(0x29,0x00); //Alarm Register
WriteCommand(0x2a,0x00); //LED2 Digital Sample Value Register
WriteCommand(0x2b,0x00); //Ambient LED2 Digital Sample Value Register
WriteCommand(0x2c,0x00); //LED1 Digital Sample Value Register
WriteCommand(0x2d,0x00); //Ambient LED1 Digital Sample Value Register
WriteCommand(0x2e,0x00); //LED2-Ambient LED2 Digital Sample Value Register
WriteCommand(0x2f,0x00); //LED1-Ambient LED1 Digital Sample Value Register
WriteCommand(0x30,0x00); //Diagnostics Flag Register
i see the LED2VAL,ALED2VAL,LED1VAL,ALED1VAL,LED2VAL-ALED2VAL,LED1VAL-ALED1VAL
used the follow command
Afe4490DataBuf[0]=(ReadCommand(0x2a)&0x3fffff); //read RED Data
Afe4490DataBuf[1]=(ReadCommand(0x2b)&0x3fffff); //read Ambient data
Afe4490DataBuf[2]=(ReadCommand(0x2c)&0x3fffff); //read IR Data
Afe4490DataBuf[3]=(ReadCommand(0x2d)&0x3fffff); //read Ambient Data
Afe4490DataBuf[4]=(ReadCommand(2e)&0x3fffff); //read RED - Ambient Data
Afe4490DataBuf[5]=(ReadCommand(2f)&0x3fffff); //read IR - Ambient Data
i have four questions,
1、i want to know how to filter the noise.
2、how to assess the amb ir/r and Ambient-Cancellation DAC ?What is the relationship between amb ir/r and Ambient-Cancellation DAC ?
3、How to configure the TIAGAIN,TIA_AMB_GAIN and LEDCNTRL?
4、LED2-ALED2VAL: LED2-Ambient LED2 Digital Sample Value Register
LED1-ALED1VAL: LED1-Ambient LED1 Digital Sample Value Register
why the Afe4490DataBuf[4]!=Afe4490DataBuf[0]-Afe4490DataBuf[1] and
Afe4490DataBuf[5]!=Afe4490DataBuf[2]-Afe4490DataBuf[3]?