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.

AFE4400: Not working in my designed PCB

Part Number: AFE4400
Other Parts Discussed in Thread: MSP430FR5969

Hello,

I have built up a circuit of MSP430FR5969 controlling AFE4400 to get PPG signal which works fine but it does not work when I transfer all the circuit into a PCB version and I used the same code. I have checked the voltages of severals pins and the result seems very strange to me. The voltage of pin TXP is 0.9V which is significant lower than the value 1.63V in my bread board version. However, I also compared the voltage of TXN which is 1.48V in PCB version and 1.84V in bread board version and the voltages in TX_REF, BG and VCM are exactly the same to the each other with value of 0.44V, 0.96V,0.9V, respectively. I really cannot figure out why only the voltage in TXP is quite low while others are pretty the same?

I'm also attaching my schematic, PCB layout (the highlighted U2 is the footprint of AFE4400) and the code here. I really appreciate if you could find the problem for me.

void setup_AFE4400 ()
{
AFE4400Write(CONTROL0,0x000008); //reset
// Serial.println("AFE4400 Initialization Starts");
AFE4400Write(CONTROL0,0x000000);

AFE4400Write(TIAGAIN,0x000000); // CF = 5pF, RF = 500kR
AFE4400Write(TIA_AMB_GAIN,0x000005); // Timers ON, average 3 samples
AFE4400Write(LEDCNTRL,0x012020);
// AFE4400Write(LEDCNTRL,0x010404);
AFE4400Write(CONTROL2,0x020100); // LED_RANGE=100mA, LED=50mA
AFE4400Write(CONTROL1,0x000102); // Timers ON, average 3 samples

AFE4400Write(PRPCOUNT, 0X001F3F);

AFE4400Write(LED2STC, 0X0017A2); //timer control
AFE4400Write(LED2ENDC,0X001F3E); //timer control
AFE4400Write(LED2LEDSTC,0X001770); //timer control
AFE4400Write(LED2LEDENDC,0X001F3F); //timer control
AFE4400Write(ALED2STC, 0X000032); //timer control
AFE4400Write(ALED2ENDC, 0X0007CE); //timer control
AFE4400Write(LED2CONVST,0X000004); //timer control
AFE4400Write(LED2CONVEND, 0X0007CF); //timer control
AFE4400Write(ALED2CONVST, 0X0007D4); //timer control
AFE4400Write(ALED2CONVEND,0X000F9F); //timer control

AFE4400Write(LED1STC, 0X000802); //timer control
AFE4400Write(LED1ENDC, 0X000F9E); //timer control
AFE4400Write(LED1LEDSTC, 0X0007D0); //timer control
AFE4400Write(LED1LEDENDC, 0X000F9F); //timer control
AFE4400Write(ALED1STC, 0X000FD2); //timer control
AFE4400Write(ALED1ENDC, 0X00176E); //timer control
AFE4400Write(LED1CONVST, 0X000FA4); //timer control
AFE4400Write(LED1CONVEND, 0X00176F); //timer control
AFE4400Write(ALED1CONVST, 0X001774); //timer control
AFE4400Write(ALED1CONVEND, 0X001F3F); //timer control

AFE4400Write(ADCRSTCNT0, 0X000000); //timer control
AFE4400Write(ADCRSTENDCT0,0X000003); //timer control
AFE4400Write(ADCRSTCNT1, 0X0007D0); //timer control
AFE4400Write(ADCRSTENDCT1, 0X0007D3); //timer control
AFE4400Write(ADCRSTCNT2, 0X000FA0); //timer control
AFE4400Write(ADCRSTENDCT2, 0X000FA3); //timer control
AFE4400Write(ADCRSTCNT3, 0X001770); //timer control
AFE4400Write(ADCRSTENDCT3, 0X001773);
AFE4400Write(CONTROL0,0x000001);

delay(1000);
}

Thanks,

Yiwen

  • Hi Yiwen

    Can you be more specific about what your problem is?
    Is it SPI not working, Data being corrupted, or issues with signal quality?

    Regards,
    Prabin
  • Hi Prabin,

    The SPI is working since I can program AFE4400 from MSP430, but the red LED is not powered up and the data from IR LED is not correct. I copied the same circuit from the bread board version to PCB so I doubted my designed placement of the components in PCB somehow corrupted the signal, so could you please check my PCB design?

    Thanks,

    Yiwen

  • Hi Yiwen,

    Following steps should point you towards the root cause.
    1) Just to make sure all the timers are fine, measure the frequency at ADC_RDY, it should be same as PRF.
    2) Check if Red LED is damaged. Power off the board and check the red LED with multimeter.
    3) Measure the voltage at TXP and TXN pin.
    4) Set the current for both the LED to 0 and observed the LEDs. Is IR LED always glowing even with 0 current?

    Regards,
    Prabin
  • Hi Prabin,

    I have partly solved this issue because the RED LED was working but the IR wasn't and I have measured the voltage from TXP which was 0.9V below the correct value which the voltage from TXP was correct. Moreover, it was so strange to me that, the whole circuit would shut down suddenly and I have to use multimeter to measure the 2 pins of LDI to make it recovered. I thought there were some noise in the power supply of the circuit and they were filtered out after I used multimeter. Do you know how to solve this problem?

    Thanks,

    Yiwen
  • Hi Yiwen,

    Looks like some supply stability issue.
    The the datasheet of the LDO (i.e. AP7333) shows that you need to have 1uF cap at the output, so may be you can add that and give it a try.

    Regards,
    Prabin
  • Hi Prabin,

    I have added enough coupling capacitance for the input and output of LDO as well as the supply pin of each chip but the whole circuit is not stable that sometimes it can shut down suddenly. It seems like the noise in the power supply is big which leads to the stability problem, so could you suggest a way to solve this problem?

    Thanks,

    Yiwen
  • Hi Yiwen,

    Just to make sure its the regulator that is causing the issue, can you remove the LDO ICs and power the remaining system with external power supply. If this works there is something wrong with the LDO and you have to either replace it or make separate board for supply.
    If the issue still persists even after removing the LDO, then remaining system has some issue.

    Regards,
    Prabin