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.

LDC1614QRGH

Hi

With below ( RCOUNT 0x1388 ) register setting, the allData does not changed. 

      smbus_readWord(default_addr,LDC13xx16xx_CMD_DATA_MSB_CH0,&allData[0]);

      smbus_readWord(default_addr,LDC13xx16xx_CMD_DATA_LSB_CH0,&allData[1]);

But if  RCOUNT 0xFFFF ,  allData is changed.

Can you help why it happen?

I used MSP430F5517PN and LDC1614QRGH

  • Gunil,
    Are you using our EVM?
    If so, has it been modified?

    Could you give a little more detail on what you are seeing?
    Regards,
    John

  • I have used customized board and my code is below.

    If I set 2 channel multi mode, below RCOUNT 0xffff / ox1388  both works well. 

    void evm_processDRDY(){

    if (dataReady)
    {

    dataReady = 0;
    }
    }

    volatile uint32_t SensorValue;
    uint16_t au16_ReadSensorData[8];
    void evm_processDRDY() {
    {
    uint16_t temp[2];

    smbus_readWord(default_addr,LDC13xx16xx_CMD_STATUS,&temp[0]);
    smbus_readWord(default_addr,LDC13xx16xx_CMD_DATA_MSB_CH0,&au16_ReadSensorData[0]);
    smbus_readWord(default_addr,LDC13xx16xx_CMD_DATA_LSB_CH0,&au16_ReadSensorData[1]);

    if( /*every 100ms*/) print("c %ld",u32_SensorValue);

    if (!(temp[0] & BIT3))
    {
    if (!(au16_ReadSensorData[0] & 0xF000))
    {
    u32_SensorValue = ((uint32_t)(au16_ReadSensorData[0] & 0x0FFF) << 16) | au16_ReadSensorData[1];
    }

    }

    //==============

    u32_SensorValue is not changed. with RCOUNT ox1388


    RCOUNT 0x1388 – 2ms
    CONFIG 0x1641 – High Current or 0x1E01 – Low power

    3173 R [14:55:23'008] : c 21629370
    3172 R [14:55:22'903] : c 21629370
    3171 R [14:55:22'798] : c 21629370
    3170 R [14:55:22'694] : c 21629370
    3169 R [14:55:22'589] : c 21629370
    3168 R [14:55:22'484] : c 21629370
    3167 R [14:55:22'379] : c 21629370
    3166 R [14:55:22'275] : c 21629370

    //================

    u32_SensorValue is changed. with RCOUNT oxffff


    RCOUNT 0xFFFF – 26ms
    CONFIG 0x1641 – High Current or 0x1E01 – Low power

    8669 R [15:47:32'279] : c 21690120
    8668 R [15:47:32'175] : c 21690085
    8667 R [15:47:32'070] : c 21690023
    8666 R [15:47:31'965] : c 21689992
    8665 R [15:47:31'861] : c 21689833
    8664 R [15:47:31'756] : c 21689781
    8663 R [15:47:31'651] : c 21689690
    8662 R [15:47:31'546] : c 21689583

  • Gunil,

    I will scan the code and have an update by COB on Wednesday.

    Regards,
    John

  • Gunil,

    Please try reordering the print statements by moving  print("c %ld",u32_SensorValue) to the end of that block and also print the device status.

    Also, does it not work for any RCOUNT less than max, or only for he value you showed here?

    Regards,
    John

  • It does not work at  the end of that block.  and   0x7FFF seems to be OK.  but 0x2710 not works on 1ch single mode.

    0x1388 ( 2ms ), 0x2710 ( 4ms )  -> not works at 1ch single mode but it works on 2ch multi mode.

    0x7FFF ( 13ms ), 0xFFFF ( 26ms )  ->  works on both  single mode and 2ch multi mode.

  • Gunil,

    Were you able to print the device status as part of the output?
    Does it look okay?

    Regards,
    John

  • STATUS REGISTER VALUE is 0x48

  • Gunil,

    It looks like some bits may be missing from the status register value.
    Is there a 16-bit value available?

    Is the ERROR_CONFIG register set to enable reporting of errors in the output data (bits 11-15)?
    Is it possible to report the first 4 bits of the CHx MSB register as a separate line?

    What is your sensor frequency?
    Can you provide a schematic of your circuit with component vales?

    Can you also provide a full register map?

    Regards,
    John

  • Hi John

    I resolved issue.

    It was read timing problem between my system and sensors value update period.

     I really thank you.

    Regards

    Gun il