MAX30003-NRF52832 SPI Interface - No proper data read back from the Slave(MAX30003)

I am interfacing MAX30003 with Nordic NRF52DK (NRF52832 SOC). The Nordic successfully generates SPI CLK and writes the register data to the MOSI pin. But, the MAX30003WING board mostly does not respond to the read operation for the same registers that are previously written to. Sometimes, I do get values from in the MISO pin but not reliable. The ECG data obtained from the FIFO buffer is also irregular (does not represent the input ECG Signal fed from the wave generator). I get random ECG data irrespective of the input signal I provide. 

SETUP DETAILS

SCLK - 4MHz(also tested 125KHz)

MAX30003         NRF52DK

SCLK                     p0.04

MOSI                     p0.03

MISO                     p0.31

3.3V                       VDD

GND                      GND

MAX30003 INPUT LEADS

Red(Tip) - Positive of Generator

White(Ring) - Negative of Generator

Black(Sleeve) - Common GND of NRF52DK & MAX30003

SPIM Library used  : NRFX SPIM 

INPUT WAVE PARAMETERS

Number of samples : 450

Sampling rate          : 450 Sa/s

Tested Amplitude     : 1mvpp - 50 mvpp

offset                        : 0

MAX30003WING.pdf

ADDITIONAL NOTE

PLL Interrupt is thrown in the beginning before writing 0 to SYNC register and during ECG Buffer read operation. In the event of PLL Interrupt, I spin check the PLL interrupt flag in the status register until it is cleared. Also. I have attached the main.c file, design document that has the setup information and output sample log file for reference. 

4861.main.pdfECG_SAMPLES - Sheet1.pdf

Related