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.

PGA309: Calibration procedure with Linearization

Part Number: PGA309


Hi
I am looking for a detailed walkthrough for PGA309 Calibration procedure with Linearization, namely calibration + decimal conversion for Addr6,Addr8,Addr12,Addr14,Addr18,Addr20 (EEPROM data).
I am well aware that there are some formulas in sbou024b.pdf, but they are somewhat insufficient.
To get a better understanding, I need a full example, from start to finish,
settings: Vs=5.000000  Vref=4.096000

Thanks

Edit:
I am referring to something similar to this attachment, unfortunately it lacks linearization and doesn't demonstrate the decimal conversion for Addr6,Addr8.
7028.PGA309_calibration_procedure.pdf

  • Hi Damon,

    Unfortunately I was not able to find a detailed, step-by-step guide that walks through the entire design procedure. However, across the literature there are plenty of examples that together explain each element of the process. Appendix A of the User Guide is especially helpful, as it includes an example EEPROM. Chapter 6 of that same document breaks down each of the main registers of the PGA309 and is another good reference.

    Addr6 is the Reference Control and Linearization register. Which settings should be selected for the reference depends on the specifics of your application. The individual register bits are discussed in Section 6.2.4, and the theory of the linearization coefficients is explored in Section 2.6. There are a few examples there that together explain how to choose the proper linearization settings, and also show how to convert from a decimal value to the register value.

    Addr8 is the PGA Course Offset and Gain register. The theory of this is well-explored in the calibration procedure document you linked. See Example 2-1 in the User Guide for another example problem and walkthrough of the value calculations, and see 6.2.5 for a breakdown of each bit of the register. This attachment (DG-101-004en.pdf) includes another "definition by example", starting on page 24, that walks through the gain and offset calculations.

    Addr12 is the temperature ADC control register. Which settings are selected will depend how you intend to measure the system temperature, whether using the on-chip internal diodes, an external diode, or an excitation series resistor. Section 2.7 of the User Guide covers this in detail, beginning on page 37.

    Addr14 is the first checksum. It is calculated by summing the values of Addr0, Addr2, Addr4, Addr6, Addr8, Addr10, and Addr12 and subtracting the total result from "FFFF"

    Addr18 is the Z0 value, which is the "starting" value for the Zero DAC for temperatures <= T0. Modifiers ZM1, ZM2, .. ZM16 are then applied to this value based on the current temperature and where it lies in the lookup table. Section 3.2 of the User Guide covers this well.

    Addr20 is the G0 value, which is the "starting" value for the Gain DAC for temperatures <= T0. It works the same way Z0 does. Again, this is discussed in Section 3.2

    Note too that the source code for the PGA309EVM is available as well, if you are interested in building your own calibration routine. Hope this helps!

    Cheers,

    Jon

  • Hi Jon,
    Thanks for your input,
    sorry Addr14 is a typo, I dont have any problem with it, am able to get all checksum Addr14 Addr122 correct.
    Actually I know what they represent, I have been modifying EEPROM data, can get the decimal counts of Addr18 Addr20 more or less correct if there is no linearization.
    Once linearization kicks in, I can't get G0 right, that's why I asked for a walkthrough with linearization.

    Also, can you send me the latest version of PGA309EVM source code? or maybe update the source code on TI website?
    the source code on TI website is Rev A, while the software is Rev C.

  • Hi Damon,

    Jon is out of office until Monday. 

    The latest PGA309EVM software source code and corresponding executable are posted on the web on the links below. 

    Although the revision literature numbers are different, SBOC320C assigned to the executable and SBOC394A is assigned for the source code, these literature document number revisions relate to the times they were posted (and re-posted) on the web. However these literature number revision letters are not the actual software revision.  Both of these correspond to the software development of 2011. 

    PGA309EVM-USB Software (Rev. C) – SBOC320C.ZIP (110347KB)

    PGA309EVM-USB Source Code (Rev. A) – SBOC394A.ZIP (5216KB)

    Thank you and Regards,

    Luis  

  • Hi Damon,

    Thanks for your patience. Can you share some more information on what you mean by not being able to get G0 right? Can you share your sensor emulator/sensor data, precal file, EEPROM output, jumper settings, etc?

    Cheers,

    Jon