cancel
Showing results for 
Search instead for 
Did you mean: 

L9966 single conversion mode

armitage.richard
Associate II

We have followed single conversion mode as outlined in: L9966 lambda sensor interface – rev. 1.0.0 1 L9966 lambda sensor interface Application Note. But the result register is all zeros.

Is there anything missing?

The register nameing is not consistant datasheet has DWT_VOLT_SRC_LSF_CTRL, but app note DWT_VOLT_SRC_CTRL.

The sequencer mode works fine.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Peter BENSCH
ST Employee

If the question is still relevant:
If the sequencer mode works but single‑conversion mode always returns 0x0000, there are typically a few configuration points to double‑check:

  1. Correct register map / naming
    The difference between DWT_VOLT_SRC_LSF_CTRL (data sheet) and DWT_VOLT_SRC_CTRL (app note) is only naming; they refer to the same control register in the current silicon. Please follow the address and bit description from the latest data sheet.

  2. Enable measurement path in single‑shot
    For single‑conversion you must, before triggering:
    • enable the corresponding DWT channel and voltage source (LSF / pump) in the control registers
    • select the correct input (λ, temperature, reference etc)
    • clear any pending status/flags

  3. Trigger and read timing
    After writing the “start single conversion” bit:
    • wait until the end‑of‑conversion flag is set in the status register
    • then read the result register
      If you read too early (before EOC), the result field will remain 0

  4. Check protection/error flags
    If any diagnostic, OV/UV, open‑load etc. is active, the DWT result can be forced to 0. Verify the global status and per‑channel status registers.

Hope that (still) helps?

Regards
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

1 REPLY 1
Peter BENSCH
ST Employee

If the question is still relevant:
If the sequencer mode works but single‑conversion mode always returns 0x0000, there are typically a few configuration points to double‑check:

  1. Correct register map / naming
    The difference between DWT_VOLT_SRC_LSF_CTRL (data sheet) and DWT_VOLT_SRC_CTRL (app note) is only naming; they refer to the same control register in the current silicon. Please follow the address and bit description from the latest data sheet.

  2. Enable measurement path in single‑shot
    For single‑conversion you must, before triggering:
    • enable the corresponding DWT channel and voltage source (LSF / pump) in the control registers
    • select the correct input (λ, temperature, reference etc)
    • clear any pending status/flags

  3. Trigger and read timing
    After writing the “start single conversion” bit:
    • wait until the end‑of‑conversion flag is set in the status register
    • then read the result register
      If you read too early (before EOC), the result field will remain 0

  4. Check protection/error flags
    If any diagnostic, OV/UV, open‑load etc. is active, the DWT result can be forced to 0. Verify the global status and per‑channel status registers.

Hope that (still) helps?

Regards
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.