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
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.