Reply
Posts: 26
Registered: ‎03-25-2014

si1132 doesn't work

hi,

I setup the si1132 in force conversation mode,i send the ALSFORCE command every second,in ISR.

reading the ALS data in main.

when i use the hard light,the data change to 0xff. when i remove the hard light the data does not fall down?

does anyone can tell me what's wrong with mysetup? 

Posts: 1
Registered: ‎06-24-2014

Re: si1132 doesn't work

I have some problems with Si1132 too.... I am able to read the PART_ID as well as the SEQ_ID, I can change and verify the HW_KEY, but after a ALS_FORCE when I try to read the AUX_DATA0 register the Si1132 hangs the SDA line to 0.

 

The datasheet is not very clear...

 

Could someone of the support team give us any help?

 

 

 

uint16_t si1132_get_UV_index(void)
{
  uint8_t tmp[2];


  si1132_Int_flag=0;
  si1132_write_cmd(CMD_ALS_FORCE);  //start a conversion
  while(!si1132_Int_flag);  //wait for the conversion to be complete
  si1132_read_reg(REG_AUX_DATA0_UVINDEX0,tmp,2);      // get the results (2 bytes)
  UV_Index = tmp[0]+(tmp[1]<<8);
  return UV_Index;
}

void si1132_int_cb(void)
{ //called by the INT line
  si1132_Int_flag++;
}

 

 

 

Highlighted
Posts: 332
Registered: ‎09-22-2009

Re: si1132 doesn't work

A result of 0xFF for a measurement is an indication of an oversaturation of the ADC. This happens when the device is in a too sensitive mode to measure the amount of light you are shining on the device. The 0xFFFF result will go away after you remove the excessive light.

 

Alternately, you can put the device into a less sensitive mode by enabling the _RANGE bit in the measurement's corresponding _ADC_MISC parameter. For example, for a PS measurement you would enable PS_RANGE in the PS_ADC_MISC parameter.

 

Jean_philippe - I would recommend making sure that your i2c speed is above the minimum i2c speed required for the device (95 khz). Commands have been known to fail below this minimum speed.