Low-voltage detect: Datasheet vs. Reference Manual

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Low-voltage detect: Datasheet vs. Reference Manual

1,202 Views
Weber1
Contributor II

Hi community,

I'm trying to implement the Low-Voltage Detection (LVD) feature of a MCXA156 controller. The Datasheet defines the VLVDH_VDD threshold = 2.619V (typ) and also the VLVDL_VDD threshold = 1.651V (typ). The VLVDH threshold is exactly what I want. But only the VLVDis configured by default (plus having the bad behavior of intermittently flipping the reset signal few times when detecting LVD, as I can see using a scope - hystresis too low!)

Furthermore, the Reference Manual says: "The voltage threshold at which the LVD reset asserts is programmable", and the VD_SYS_CFG register is described aby "...configures the low-voltage trip point..." Fine, so far.

The problem now is that the VD_SYS_CFG register only has the following bits documented in the RM:

  • LOCK
  • HVDIE - HVD interrupt enable
  • HVDRE - HVD reset enable
  • LVDIE - LVD interrupt enable
  • LVDRE - LVD reset enable

None of these is usable to set the threshold. 

Question: How should I configure the LVD threshold?

Best regards

Weber

Labels (3)
Tags (3)
0 Kudos
Reply
2 Replies

976 Views
luis_maravilla
NXP Employee
NXP Employee

Dear Weber,

I apologize for the late response; In Reference Manual Chapter 25.7.17 VD_SYS_CFG configuration, the 8 bit show as reserved is "LVSEL", this should be open to users, we are working on modification for RM.

 

Before Writing to this field, you must write 0 to LOCK.

If you want to change LVSEL, you must do this after disabling the LVD reset and interrupt. Otherwise, SPC could generate an LVD due to the LVSEL change.

Configuration for LVSEL:

0b-Normal

1b-Safe

 

In SDK examples for MCXA156, you can see in file fsl_spc.h the spc_low_voltage_level_select function.

 

Since you want to use the High Range LVD threshold, you need to use [ksPC_LowVoltageHighRange] entering Normal level [0b] in spc_low_voltage_level_select

 

Let me know if that work for you.

Best Regards, Luis

0 Kudos
Reply

1,196 Views
Weber1
Contributor II

Let me add that in the RM there is the LOCK bit of VD_SYS_CFG, which is commented by "Allows writing to the LVDRE, HVDRE, and LVSEL fields". But there is no LVSEL bit anywhere defined.
Furthermore, there is a SDK function "SPC_SetSystemVDDLowVoltageLevel" which refers to SPC_VD_SYS_CFG_LVSEL (bit 8), where the related code is commented out. Very strange...

Any suggestions?

0 Kudos
Reply