HOLTEK HT8 MCU LVD LVR Application Guidelines Instructions

June 4, 2024
HOLTEK

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

HOLTEK-HT8-MCU-LVD-LVR-Application-07
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.

HOLTEK-HT8-MCU-LVD-LVR-Application-06

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.

HOLTEK-HT8-MCU-LVD-LVR-Application-05HOLTEK-HT8
-MCU-LVD-LVR-Application-04

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.
HOLTEK-HT8-MCU-LVD-LVR-Application-04HOLTEK-HT8
-MCU-LVD-LVR-Application-03

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.

HOLTEK-HT8-MCU-LVD-LVR-Application-02

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

HOLTEK-HT8-MCU-LVD-LVR-Application-02

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.

HOLTEK-HT8-MCU-LVD-LVR-Application-01
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)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals