HOLTEK HT8 MCU LVD LVR Application Guidelines Instructions
- June 4, 2024
- HOLTEK
Table of Contents
HOLTEK HT8 MCU LVD LVR Application
HT8 MCU LVD/LVR Application Guidelines
D/N: AN0467EN
Introduction
The Holtek 8-bit MCU range provides two very practical and useful protection
functions, the LVD (Low Voltage Detection) and the LVR (Low Voltage Reset). If
the MCU power supply voltage (VDD) becomes abnormal or unstable, these
functions will allow the MCU to issue a warning or to execute an immediate
reset to assist the product to continue operation correctly.
Both the LVD and the LVR are used to monitor the MCU power supply voltage
(VDD). When the detected power supply value is lower than the selected low
voltage value, the LVD function will generate an interrupt signal where both
the LVDO and interrupt flags are set. The LVR function is different in that it
immediately forces the MCU to reset. This application note will take the
HT66F0185 as an example MCU to introduce in detail the LVD and LVR functions
for Holtek Flash MCUs.
Functional Description
LVD ‒ Low Voltage Detection
Most Holtek MCUs have an LVD function, which is used to monitor the VDD
voltage. When the VDD voltage has a lower value than the LVD configured
voltage and is sustained for a time exceeding the tLVD time, then an interrupt
signal will be generated. Here the LVDO flag and the LVD interrupt flag will
be set. Developers can detect the signal to determine whether the system is in
a low voltage. The MCU can then execute corresponding operations to keep the
system operating normally and to implement power-down protection and other
related functions.
The LVD function is controlled using a single register known as LVDC. Taking
HT66F0185 as an example, three bits in this register, VLVD2~VLVD0, are used to
select one of eight fixed voltages below which a low voltage condition will be
determined. The LVDO bit is the LVD circuit output flag bit. When the VDD
value is greater than VLVD, the LVDO flag bit will be cleared to 0. When the
VDD value is lower than VLVD, the LVDO flag bit and the interrupt request LVF
flag bit will be set high. Generally, the LVF interrupt request flag bit is
located within the multi-function interrupt and has to be cleared by the
application program. Most of the LVD function registers are similar to what is
shown in Figure 1, however it is best to refer to the MCU datasheet for
details as there may be exceptions to this.
The HT8 MCU LVD function is setup either by using configuration options or software. The following describes the HT66F0185 MCU software configuration.
Figure 1
LVR ‒ Low Voltage Reset
The HT8 MCUs contain a low voltage reset circuit to monitor the VDD voltage.
When the VDD voltage value is lower than the selected VLVR value and sustained
for a time exceeding the tLVR time, then the MCU will execute a low voltage
reset and the program will enter a reset state. When the VDD value returns to
a value higher than VLVR, the MCU will return to normal operation. Here the
program will restart from address 00h, while the LVRF flag bit will also be
set and which must be cleared to 0 by the application program.
Taking HT66F0185 as an example, the LVR provides four selectable voltages in
the LVRC register. When the register configuration value is not one of these
four voltage values, the MCU will generate a reset and the register will
return to the POR value. The LVR function can also be used by the MCU to
generate a software reset.
Figure 2
Note: The reset time may be different in different MCUs, therefore it is
important to refer to the specific datasheet The minimum operating voltages
may be different at different system frequencies. Users can configure the VLVR
according to the minimum operating voltage of the selected system frequency to
make the system operate normally.
Main Features
tLVDS (LVDO Stable Time)
The product can disable the LVD function to save power and can re-activate it
when it is required to be used. Since the LVD function requires a settling
time of up to 150μs from being disabled to being fully enabled, it is
necessary to insert a delay time for the LVD function to stabilise before
using the LVD to determine accurately whether the MCU is in a low voltage
state.
Figure 3
tLVD (Minimum Low Voltage Width to Interrupt )
After detecting a low voltage signal, the LVD can also use the LVD interrupt
to detect its activation as well as polling the LVDO bit. This will improve
the program efficiency. The LVD interrupt occurs when the VDD value is lower
than the LVD detection voltage and is sustained for a time exceeding the tLVD
time. There may be noise on the power supply, especially during EMC testing in
AC applications, so there is a high probability of an erroneous LVD situation
occurring. However, the tLVD time should be able to filter out this noise,
making LVD detection more stable.
tLVR (Minimum Low Voltage Width to Reset)
When the VDD value is lower than the LVR voltage and sustained for a time
exceeding the tLVR time, the MCU will execute a low voltage reset. Having this
tLVR time allows power supply noise to be filtered out, making LVR detection
more stable.
Operating Principles
The difference between the LVD and LVR functions is that the LVD function only
triggers a warning signal which informs the MCU in advance of a voltage
instability or abnormality. The MCU can therefore take corresponding actions
or implement protection mechanisms. The LVR is different in that it executes
an MCU reset. Here the MCU immediately resets and therefore jumps to an
initial program condition. Therefore, when using both functions together, the
LVR voltage is generally configured to have a lower preset voltage than the
LVD voltage. When the VDD value falls, the LVD function will be triggered
first to allow the MCU to implement some protection measures before the LVR
function is triggered, which should maintain product stability.
Taking HT66F0185 as an example, the system frequency is 8MHz and the voltage
range is between 2.2V and 5.5V. If the LVR reset voltage is configured to be
2.1V, then it appears as though the LVR function does not cover the minimum
operating voltage. However the 2.2V minimum MCU operating voltage does not
define the point where the HIRC or crystal oscillators stop oscillating,
therefore the LVR voltage configured with a 2.1V voltage will not affect
normal MCU use.
For a system frequency of 16MHz and 20MHz, the operating voltage is 4.5V ~
5.5V the LVR reset voltage is configured to be 3.8V, then it appears as though
the LVR function does not cover the minimum MCU operating voltage for 16MHz
and 20MHz. However, the 4.5V minimum MCU operating voltage does not define the
point where the crystal oscillator stops oscillating, therefore for a voltage
range of 3.8V ~ 4.5V the crystal oscillator will continue to operate. Here
there is no concern about abnormal program operation.
If the system frequency is 16MHz or 20MHz and if the LVR is set to a value of
3.8V then when the VDD voltage falls below 3.8V, the LVR function will be
activated and reset the MCU. The LVRC initial value is 2.1V for the LVR reset,
here the following two states will occur:
- When VDD falls below 3.8V, but not below the minimum crystal oscillation point, the MCU will oscillate normally after the LVR resets. The program will then configure the LVRC register. After the LVRC register is configured, the MCU will perform an LVR reset after waiting for tLVR time, and then repeat.
- If the VDD value falls below 3.8V, the voltage is already below the crystal oscillator start point, therefore the MCU will be unable to initiate oscillation after the LVR resets. All I/O ports will default to an input condition after a power on reset. The MCU will not execute any instructions and will not execute any action on the circuit.
Application Considerations
When to use the LVD
The LVD function is mostly used to examine battery condition in battery-
powered product applications. When a battery is detected to be running out of
energy, the MCU can prompt the user to replace the battery to maintain normal
operation. In common AC powered products, the LVD function is used to detect
the VDD voltage, which can be used to determine whether the AC power supply
has been disconnected. For example, for a ceiling lamp, by monitoring the LVDO
bit from low to high and then low again, it can be determined if the switch is
being used to change the ceiling lamp condition to alter the illumination
level or color temperature.
When to use the LVR
The LVR function is often used in battery-powered applications and activated
when the battery is being changed. Generally, such products are low powered
products where the product will contain adequate power supply capacitive
storage energy to maintain the VDD voltage. Normally the voltage will not drop
to 0V in more than 10 seconds. However as this is a slow power-down process,
there is a high probability that the VDD voltage may fall to a value lower
than the LVR voltage, which will cause the MCU to generate an LVR reset. After
the new battery is installed, the VDD voltage will be higher than the LVR
voltage, and the system will return and continue with normal operation.
Using the LVR and LVD in the IDLE/SLEEP Mode
When the system enters the IDLE/SLEEP mode, the LVR is not effective, so the
LVR will not be able to reset the system, it will though not consume power.
When MCU enters the SLEEP Mode, the LVD function will be disabled
automatically. In some specifications there are two SLEEP Modes, SLEEP0 and
SLEEP1. Take the HT66F0185 for example, before entering the SLEEP0 Mode, the
LVD function must be disabled by clearing the LVDEN bit in the LVDC register
to 0. The LVD function will keep operational when entering the SLEEP1 Mode.
Refer to the datasheet for specific MCU details.
There will be a certain amount of small power consumption when the LVD
function is enabled. Therefore, in battery applications which need to reduce
power consumption, it is important to take into account the LVD function power
consumption when the system enters any of the power-saving modes, either SLEEP
or IDLE Modes.
Other Notes
- If both the LVR and the LVD functions are enabled and it is desired that their voltage settings are to match, then note that the LVD voltage should be set to a value higher than the LVR voltage.
- The LVD voltage setting differs with different product requirements. If it is setup as 2.2V for example, then the LVD voltage of each application will vary by about 2.2V ± 5%. Individual specifications should be checked out carefully in advance.
- The time parameter tLVR for the VLVR will vary due to different processes. For detailed D.C./A.C. parameter tables refer to the datasheet.
- After an LVR has occurred, when the VDD voltage > 0.9V, the Data Memory values will not change. When the VDD voltage is higher than the LVR once again, the system will restart operation without needing to save the RAM parameters. However if the VDD is lower than 0.9V, the system will not keep the Data Memory values and in which case when the VDD voltage is again higher than the LVR voltage, a Power On Reset will be executed on the system.
- The LVR function and voltage selection of some MCUs are implemented from the configuration options in HT-IDE3000. Once chosen, they cannot be changed using software.
Conclusion
This application note has introduced the LVD and LVR functions provided in the Holtek 8-bit Flash MCUs. When correctly used, the LVD and the LVR functions can reduce abnormal MCU operation when the power supply voltage is unstable, thus enhancing product stability. Additionally, some notes and ways of using both the LVD and LVR have been summarised to help users to use the LVD and the LVR more flexibly.
Versions and Modification Information
Disclaimer
All information, trademarks, logos, graphics, videos, audio clips, links and
other items appearing on this website (‘Information’) are for reference only
and is subject to change at any time without prior notice and at the
discretion of Holtek Semiconductor Inc. and its related companies (hereinafter
‘Holtek’, ‘the company’, ‘us’, ‘we’ or ‘our’). Whilst Holtek endeavors to
ensure the accuracy of the Information on this website, no express or implied
warranty is given by Holtek to the accuracy of the Information. Holtek shall
bear no responsibility for any incorrectness or leakage.
Holtek shall not be liable for any damages (including but not limited to
computer virus, system problems or data loss) whatsoever arising in using or
in connection with the use of this website by any party. There may be links in
this area, which allow you to visit the websites of other companies. These
websites are not controlled by Holtek. Holtek will bear no responsibility and
no guarantee to whatsoever Information displayed at such sites. Hyperlinks to
other websites are at your own risk.
Limitation of Liability
In any case, the Company has no need to take responsibility for any loss or
damage caused when anyone visits the website directly or indirectly and uses
the contents, information or service on the website.
Governing Law
This disclaimer is subjected to the laws of the Republic of China and under
the jurisdiction of the Court of the Republic of China.
Update of Disclaimer
Holtek reserves the right to update the Disclaimer at any time with or without
prior notice, all changes are effective immediately upon posting to the
website.
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>