Help with reading sigma delta ADC

Hi,

I im new with Arduino and have a problem with reading sigma delta modulator AD7401. Im using it for reading current on shunt resistor but I don’t know how to read it. I made program but im receiving strange values with or without load/ with or without voltage on modulators input side.

#include "SPI.h"


int adc_Val = 0;
byte h_byte = 0;
byte l_byte = 0;

void setup(){
 
  SPI.begin();
  SPI.beginTransaction(SPISettings(16000000, MSBFIRST, SPI_MODE0)); 
  Serial.begin(9600);
}

void loop() {
  
  h_byte = SPI.transfer(0x00);
  l_byte = SPI.transfer(0x00);

  adc_Val = h_byte << 8;
  adc_Val = adc_Val | l_byte;
  
  Serial.print("analog value =");
  Serial.println(adc_Val, DEC);
  delay(500);
}

Thanks for any help.

AD7401.pdf (421 KB)

This values i have without any current on shunt resistor:

0: 101 1: 150 i_out: 26006 0: 102 1: 153 i_out: 26265 0: 150 1: 89 i_out: -27047 0: 153 1: 101 i_out: -26267 0: 101 1: 150 i_out: 26006 0: 102 1: 89 i_out: 26201 0: 89 1: 102 i_out: 22886 0: 101 1: 89 i_out: 25945 0: 89 1: 150 i_out: 22934 0: 150 1: 101 i_out: -27035 0: 101 1: 153 i_out: 26009 0: 89 1: 150 i_out: 22934 0: 150 1: 101 i_out: -27035 0: 102 1: 89 i_out: 26201 0: 101 1: 89 i_out: 25945 0: 101 1: 150 i_out: 26006 0: 89 1: 150 i_out: 22934 0: 101 1: 89 i_out: 25945 0: 101 1: 89 i_out: 25945 0: 101 1: 89 i_out: 25945 0: 150 1: 101 i_out: -27035 0: 89 1: 150 i_out: 22934 0: 101 1: 89 i_out: 25945 0: 150 1: 101 i_out: -27035 0: 89 1: 86 i_out: 22870 0: 101 1: 101 i_out: 25957 0: 89 1: 86 i_out: 22870 0: 149 1: 101 i_out: -27291 0: 89 1: 89 i_out: 22873