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.

PGA970: PGA970 SPI read problem for particular address

Part Number: PGA970

Hi,

      Using PGA970EVM board for interfacing LVDT probe and digital interfaced through SPI.

      problem facing now is when reading PAGE OFFSET 0x0 getting reply of the correct data of the registers.

      but same time when reading PAGE OFFSET 0x02 getting reply 0x00 always.

     something missing while reading other offset address need help to sort it out .

Thanks & Regards,

Xavier.

  • Hi Xavier,

    Is the PGA970 internal M0 in reset? The page 0x0 registers are available for access by the digital interface at any time regardless of the internal microprocessor's state. All of the other register pages cannot be accessed through the digital interface unless the M0 is in reset. You can place the part in reset and fully enable the digital interfaces by setting the MICRO_INTERFACE_CONTROL register to 0x03.

    Regards,

    Scott

  • Hi Scott,

    Thank you for the suggestion,  Now its able to read the registers.

    One more doubt on temperature compensation.

    * Is a must thing to do temperature compensation.

    * Is there any detailed datasheet for temperature compensation for clear understanding.

    * since using 24bit data for ADC how to change the formula  for 24bit from datasheet SLDU024.

  • Hi Xavier,

    There is no temperature compensation algorithm built into the PGA970. That must be implemented by the user through the M0 firmware. Currently support for firmware development through E2E is very limited. Please see this thread for more information:

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/802433/what-is-the-e2e-support-model-for-the-pga900-and-pga970

    Regards,

    Scott

  • Hi Scott,

    yes, aware of that firmware should be developed in M0 process, still need help in this process

    In example code provided in PGA970 as temperature compensation is done in that there using a formula,

       Dn = H + G * PADC/2^14 + N * (PADC/2^14)^2

      In brief H0,H1,H2 and G0,G1,G2 and N0,N1,N2 constants are used,

    FRAM_DATA_H0_Integer = 79;
    FRAM_DATA_G0_Integer = 11336;
    FRAM_DATA_N0_Integer = -53;

    FRAM_DATA_H1_Integer = 7;
    FRAM_DATA_G1_Integer = -22832;
    FRAM_DATA_N1_Integer = 161;

    FRAM_DATA_H2_Integer = -6;
    FRAM_DATA_G2_Integer = 18349;
    FRAM_DATA_N2_Integer = -135;

    the above constants are random values (or) is there any math in deriving.

     

  • Hello Xavier,

    Any compensation coefficients would need to be recalculated for the specific sensor setup and application. If those values are included in the example code, then they are not going to be ideal for your application. Please refer to the PGA970 Software User's Guide for more information on the compensation scheme in the "Sample Application Software" section.

    Regards,

    Scott

  • Hi scott,

          After gone through some of the temperature compensation technique ideas  got this link https://www.maximintegrated.com/en/design/technical-documents/tutorials/2/2024.html  how the coefficients are calculated based on the parameters of sensors and temperature .is there any kind  of above example calculation provide in the link so that it will useful to go further in development in PGA970.

    Regards,

    Xavier 

  • Hi Xavier,

    The PGA970 will perform whatever calculations you program into it. While the link you provided is not from TI documentation, that compensation algorithm could be used with the PGA970 for temperature and nonlinearity compensation.

    Regards,

    Scott