Skip to main content
armitage.richard
Associate II
October 3, 2025
Solved

L9966 single conversion mode

  • October 3, 2025
  • 1 reply
  • 144 views

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.

 

Best answer by Peter BENSCH

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

1 reply

Peter BENSCH
Peter BENSCHBest answer
Technical Moderator
March 5, 2026

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