BQ79718B-Q1: BQ79718-Q1: GPIO, Temperature, Measurements and Diagnostic

Part Number: BQ79718B-Q1

Tool/software:

Hi all,

I recognized that TSRef has no register to read out in the BQ79718. I’m wondering a little bit, because it will used for Ratio metric. So if I would work with TSRef voltage, youhave to connect it to a GPIO, isn’t it?

In the Safety Manuel of BQ7961x SM142 MAIN ADC TSREF Diagnostic we have to measure TSRef. A comparable SM doesn’t exist in BQ79718. Both have still the standard SM for OV/UV/OC of TSRef-Pin

 

With BQ79718 you have to measure the temperature with ratio metric.

Safety Measures for GPIO Diagnostic needs to measure an absolute  voltage.

 

This Safety measures need a reference absolute for their diagnostic. To configure the GPIO to absolute for the reference needs time.

  • SM_GPIO_OPNWR: GPIO Open Wire Detection (FDTI à PPE41 project every 100ms)
  • SM_GPIO_ADJSHRT: GPIO Adjacent Short Diagnostic (FDTI à PPE41 project every 100ms)

 

GPIO Configuration

0b000 = As disabled, high-Z.

n.a.

0b001 = As ADC and OTUT inputs (ratio metric).

Temperature Measurement

Option Reference and Measurement with multiplication of TSRef (Not Measured à 4V):

  • SM_GPIO_OPNWR: GPIO Open Wire Detection
  • SM_GPIO_ADJSHRT: GPIO Adjacent Short Diagnostic

0b010 = As ADC only input (absolute).

Reference and Measurement:

  • SM_GPIO_OPNWR: GPIO Open Wire Detection
  • SM_GPIO_ADJSHRT: GPIO Adjacent Short Diagnostic

0b011 = As digital input.

n.a.

0b100 = As digital output high.

Innervate SM_GPIO_ADJSHRT: GPIO Adjacent Short Diagnostic

0b101 = As digital output low.

Innervate SM_GPIO_ADJSHRT: GPIO Adjacent Short Diagnostic

0b110 = As ADC input (absolute) and weak pull-up.

Innervate SM_GPIO_OPNWR: GPIO Open Wire Detection

0b111 = As ADC input (absolute) and weak pull-down.

Innervate SM_GPIO_OPNWR: GPIO Open Wire Detection

 

Are there any settling or waiting times  in case we change GPIO configuration from ratio metric to absolute and vice versa?

 

When we would measure with a GPIO TSRef we could use ratio metric to evaluate GPIO voltage:

U_GPIO = ratio_GPIO * U_GPIO_TSREF

Is it recommended to multiply ratio metric value and TSRef voltage  to get GPIO voltage?

  • Hi Friedrich,

    1. After changing the GPIO configuration, one would need to re-enable adc_go to set the GPIO to the correct configuration. The waiting time would be the adc_cycle needed for the GPIO values to update.

    2. The ratiometric value from the GPIO registers is dependent on customer board's resistor setup, an example can be seen below on circuitry

    Best Regards,

    John

  • Thi was not the question. Is it possible and recommented  to combine ratiometric with safety measrues to calc absolute value with TSRef voltage:

    SM_GPIO_OPNWR: GPIO Open Wire Detection

    - SM_GPIO_ADJSHRT: GPIO Adjacent Short Diagnostic

  • Can you show me a abstract sequence to measure temperature and diagnose GPIOs?

  • Hi Friedrich,

    Regarding OPNWR/ADJSHRT diagnostics, there are procedures in the functional safety guide in secure resources.

    Regarding measuring temperature, it would be dependent on the ntc resistor

    assuming there are no optional resistors, the calculation would be NTC/(R1+NTC) * TSREF = GPIO1. Then the value for NTC can be calculated and thus the temperature.

    Best Regards,

    John

  • Hm,

    I imagine the following sequnce

    Precondition:

    - ADC is running in continuouse mode

    - TSRef is connected to GPIO for measurement (Why there is no TSRef result register, ADC measure it anyway for ratio metric Disappointed)

    Actions

    1. GPIO config register set to temperauter measurement

         - NTC Connected input (ratio metric)

         - TSRef GPIO to input (absolute)

    2. wait time to measeure all GPIO once (~5ms)

    3. Read GPIO result register

        - translate ratio metric result to temperature --> Reference for upcoming SM

    4. GPIO config register set to diagnostic

         - weak pull up Input (absolute)

    5. wait diagnostic time

    6. Read GPIO and compare value absolute from 4. with ratio value from 3. multiplied with TSRef absolute

        - SM_GPIO_OPNWR voltage vs. GPIO_NTC_ratio *  GPIO_TSRef_abs

    7. GPIO Config set to diagnostic

         - Output/ ADC input (absolute) Pattern

    8. wait settle time

    9. Read GPIO and compare value absolute from 9. with ratio value fom 3. multiplied with TSRef absolute

        - SM_GPIO_ADJSHRT vs. GPIO_NTC_ratio *  GPIO_TSRef_abs

    10. continue with 1.

    Is it recommented to do this in this way?

    Otherwise after measure temperuter sensors with ration metric GPIO needs to reconfigured to absolut input to get reference for SMs, which are additional effort.

    How would you combine temperature measuremnt and SM_GPIO_OPNWR and SM_GPIO_ADJSHRT in a complex cylic sequence?

  • Hi Friedrich,

    The TSREF is assumed to be stable, as an unstable TSREF will cause inaccuracy in certain ADCs.

    In SMs, it is advised to test with Absolute Values, however it will also be fine to use Ratiometric to be translated to absolute given SW translation to Absolute is accurate.

    Best Regards,

    John

  • Hi John,

    so you mean it is possible to get a GPIO voltage measured wit ratio metric and known TSRef voltage (either assume 4V or measered absolute with a GPIO)?

    It is not prohibit to use these virtuell voltage for diagnostics?

  • Hi Friedrich,

    Let me get back to you regarding steps on how to check GPIO OW with ratiometric after checking with functional safety team. Both ratiometric and absolute measurements are both able to do GPIO OW/ADJSHRT functionally safe. In theory, the absolute - ratio conversion can be determined if you have one or the other either that be the adc reading or the threshold in OPNWR and ADJSHRT.

    Best Regards,

    John