Skip to main content
Visitor II
May 15, 2025
Question

ST1VAFE3BX vAFE sensitivity and sample bit depth

  • May 15, 2025
  • 5 replies
  • 1229 views

I have a question about the ADC sensitivity for the vAFE in the ST1VAFE3BX. Table 3 of the datasheet says that the input range is +-25mV when the gain is set to 16. With a 12-bit reading, this results in about 12 uV/LSB of resolution. However, the "AH / vAFE channel gain" row of the table lists 1311 LSB/mV, or 0.76 uV/LSB of resolution and mentions "16 bits, input referred". These values seem to conflict. Is the sensitivity 0.76 uV/LSB or 12.2 uV/LSB? This is a huge difference in sensitivity. If 0.76 uV/LSB is achievable, what settings can be used to reach it? According to the datasheet, none of the configurations appear to generate samples with more than 14 bits.

 

In my experience working with the part, the vAFE samples are always at least 14-bits when using vAFE only mode. When enabling the low-pass filter, I see 16-bits. This also doesn't seem to match the information in the datasheets or application notes, further increasing my confusion.

 

I would very much appreciate any clarification that can be provided on these topics.

    This topic has been closed for replies.

    5 replies

    ST Employee
    May 16, 2025

    Hi @lexpart 

    The AH/vAFE data output in the OUT_AH_BIO_L (2Eh) and OUT_AH_BIO_H (2Fh) registers is always a 16-bit word, which originates from a 12-bit or 14-bit format (depending on the configuration of HP_EN) as two's complement data that is left-justified. This means that sensitivity should always be referred to as a 16-bit word, resulting in 1311 LSB/mV (PGA gain = 16, 16 bits, input referred). For a more detailed explanation, you can refer to section 2.2, "Biosensor Functionality," in the sensor's datasheet.

     

    lexpartAuthor
    Visitor II
    May 21, 2025

    Hi @casadeib 

    Thank you very much for the response!

    I'm still confused by the 14-bit and 12-bit format statements in the spec. When HP_EN is disabled, I see the sensor value range from -32k to 32k with the bottom 2 bits always being 0. In other words, I see 14 bits changing, which to me seems like 14-bit data. When I enable HP_EN, then I see the values range from -32k to 32k with all 16 bits changing. In other words, it looks to me like 16-bit data.

    What does the datasheet mean when it says that the data is either 14-bit or 12-bit and how can I reconcile this with the behavior I am seeing with the register values?

    ST Employee
    May 22, 2025

    Hi @lexpart ,

    Could you please share with us some examples with 14 bit data (when HP_EN is disabled) and 16 bit data (when HP_EN is enabled)? From datasheet you should see respectively 12 bit data and 14 data actually. 
    Moreover, it would be helpful for us to verify the way you are "assembling" the register data together, MSB and LSB part (OUT_AH_BIO_L (2Eh) and OUT_AH_BIO_H (2Fh)).

     

     

    ST Employee
    May 23, 2025

    Hi @lexpart 

    Please note that when reading from FIFO instead of  OUT_AH_BIO_L (2Eh) and OUT_AH_BIO_H (2Fh), the behavior can differ. In cases where the device is configured to vAFE only state, the output from the analog hub / vAFE is stored as a 16-bit value. Changing the configuration may alter the data assembly format representation. For detailed information on the assembly differences across various configurations, please refer to section 7.4 "Main Sensors" in AN6160.

    casadeib_0-1748007028746.jpeg

     

    lexpartAuthor
    Visitor II
    May 28, 2025

    Hello @casadeib ,

    I am familiar with the document and table that you referenced. Regarding the AH/vAFE only state, all the doc shows is a 16-bit value, with no explanation for what to expect based on HP_EN. Do you have any technical information for how the 12-bit and 14-bit modes are converted to 16 bits in the FIFO? Is the resolution of the data in the FIFO also 1311 LSB/mV?

     

    Technical Moderator
    May 29, 2025

    Hi @lexpart ,

    The FIFO allocates 16 bits for the vAFE data, while the actual vAFE data is 14 bits or 12 bits depending on the ODR. In vafe only mode, the data in FIFO is saved as: 12 bits at 3200 Hz, 14 bits at 800 Hz, depending on your HP_EN selection and always left justified. Resolution stays the same as declared before: 1311 LSB/mV (PGA gain = 16, 16 bits, input referred).

    lexpartAuthor
    Visitor II
    May 29, 2025

    Hi @Federica Bossi ,

     

    Thank you for the clarification on the resolution and data formats.

    As mentioned above, what you are saying doesn't seem to match what I observe in the FIFO when HP_EN is enabled. If the data were 14-bits, left-justified in the 16-bit field, then I would expect the least significant 2 bits to always be 0. However, when HP_EN is enabled, all bits in the FIFO values change, including the least significant 2 bits. Please see hp_en_data.csv, attached previously.

    Thank you.

    Technical Moderator
    May 29, 2025

    Hi @lexpart ,

    Ok we will check.

    In the meantime, can you please provide your code to check if you are assembling data correctly.

    Thanks

    lexpartAuthor
    Visitor II
    May 30, 2025

    Hi @Federica Bossi 

    The CSV I attached previously shows exactly how the data is being assembled. The first column is from FIFO_DATA_OUT_X_L. The second column is from FIFO_DATA_OUT_X_H. The third column is the reassembled, 16-bit hex value in 2's complement format.

    Thank you,

    Mike