Decoding the Dot: A Deep Dive into Barcode Label Printer Electronics - Extended Section 29 |
Subtitle: Reset and Brown-Out Protection - The Watchdog of the System |
Introductory Summary (Extended Section 29 Preview) |
In the previous sections, we explored the many subsystems that make a barcode printer work - the printhead, the motors, the sensors, the memory, and the communication interfaces. But we have not yet discussed one of the most critical aspects of system reliability: reset and brown-out protection. A printer operates in a world of electrical noise, power fluctuations, and occasional glitches. The CPU, like any digital system, can lock up, get confused, or enter an undefined state if the power supply dips below its minimum operating voltage. The reset and brown-out protection circuits are the safety net that catches these problems. They ensure that the CPU starts up cleanly, runs reliably, and recovers gracefully from power disturbances. This chapter is devoted entirely to reset and brown-out protection. We will explain what a reset is, why it is needed, and how it is generated. We will cover the different types of resets: the power-on reset (POR), the brown-out reset (BOR), the external reset (from a button or a watchdog), and the software reset. We will explore the brown-out detection circuit - a comparator that monitors the supply voltage and triggers a reset when the voltage drops below a threshold. We will look at the reset supervisor IC (e.g., the MAX809, the TPS3808, the STM6719) that integrates the voltage monitoring and the reset generation. We will examine the reset sequence - the time it takes for the CPU to start up, the initialization of the registers, and the boot process. We will look at real-world designs from major companies: the use of the MAX809 in many printer designs, the use of the TPS3808 with a programmable delay, the use of the STM6719 with a windowed watchdog, and the use of the internal brown-out detector in some microcontrollers. We will also discuss the watchdog timer - a timer that resets the CPU if the firmware fails to pet it. By the end, you will understand how the printer's CPU is kept in a known, reliable state, and you will appreciate the critical role of the reset and brown-out protection circuits. |

|
Chapter 1: The Problem - A CPU Needs a Clean Start |
A CPU is a complex digital circuit that is sensitive to the power supply. The CPU requires a stable and clean voltage to operate correctly. If the voltage drops below a certain level, the CPU can behave unpredictably - it can execute the wrong instructions, it can write to the wrong memory locations, or it can enter an undefined state. The CPU needs a way to start from a known, predictable state. This is the job of the reset. The reset forces the CPU to start from the beginning - to reset the program counter, to initialize the registers, and to start executing the boot code. The reset is the 'clean start' that the CPU needs. The reset is generated by a reset circuit - a circuit that monitors the power supply and generates a reset pulse when the power is applied or when the voltage drops. |
Design Example: Unreliable Operation in a Warehouse |
A warehouse label printer would occasionally lock up. The operator would have to power-cycle the printer to get it working again. The problem was traced to the power supply - the voltage would occasionally dip, causing the CPU to lock up. The printer did not have a brown-out reset circuit. The manufacturer added a brown-out reset circuit to the next version, and the problem was solved. |

|
Chapter 2: What Is a Reset- A Clean Start |
A reset is a signal that forces the CPU to start from a known state. The reset signal is typically an active-low signal - the CPU is reset when the reset pin is pulled low. When the reset is asserted, the CPU stops executing the code, resets the registers, and waits for the reset to be de-asserted. When the reset is de-asserted, the CPU starts executing the code from the reset vector (the address of the boot code). The reset is a simple and effective way to ensure that the CPU starts in a predictable state. |
Design Example: Reset in Brother Printers |
Brother's printer uses a reset signal that is generated by a reset supervisor IC. The reset signal is connected to the CPU's reset pin. When the power is applied, the reset supervisor IC holds the reset pin low for a period of time, allowing the power supply to stabilize. |

|
Chapter 3: The Power-On Reset (POR) - A Clean Start at Power-Up |
The power-on reset (POR) is a reset that is generated when the power is applied. The POR ensures that the CPU starts correctly when the power is turned on. The POR is typically generated by a reset supervisor IC. The POR holds the reset pin low for a period of time (typically 100 to 200 milliseconds) after the power supply has stabilized. The POR gives the power supply time to reach the correct voltage and the oscillator time to start. |
Design Example: POR in Zebra Printers |
Zebra's printer uses a POR circuit that holds the reset low for 200 milliseconds. The manufacturer chose the 200-millisecond delay to ensure that the power supply is stable and the crystal oscillator has started. |
Chapter 4: The Brown-Out Reset (BOR) - A Protection Against Voltage Dips |
The brown-out reset (BOR) is a reset that is generated when the supply voltage drops below a certain threshold. The BOR protects the CPU from the unpredictable behavior that can occur when the voltage is too low. The BOR is typically generated by a reset supervisor IC that monitors the supply voltage. When the voltage drops below the threshold, the BOR asserts the reset. When the voltage rises above the threshold, the BOR de-asserts the reset after a delay. The BOR is a critical protection feature. |
Design Example: BOR in Sato Printers |
Sato's printer uses a BOR circuit that trips at 2.9 volts. The manufacturer chose the 2.9-volt threshold because the CPU requires a minimum of 2.7 volts for the reliable operation. |

|
Chapter 5: The External Reset - A User-Initiated Reset |
The external reset is a reset that is initiated by the user (e.g., by pressing a reset button) or by an external device. The external reset is typically connected to a button or a switch. The user can press the button to reset the printer. The external reset is a useful feature for the service technicians. |
Design Example: Reset Button in Brother Printers |
Brother's printer has a reset button on the front panel. The user can press the button to reset the printer. The manufacturer chose the reset button to allow the user to recover from the lockups. |
Chapter 6: The Software Reset - A Firmware-Initiated Reset |
The software reset is a reset that is initiated by the firmware. The firmware can trigger a reset by writing to a specific register or by jumping to the reset vector. The software reset is used to recover from a fatal error or to apply a new configuration. |
Design Example: Software Reset in Zebra Printers |
Zebra's printer uses a software reset to apply a new configuration. The firmware writes to a register that triggers a reset. The CPU resets and initializes the new configuration. |

|
Chapter 7: The Watchdog Timer - A Time-Out Reset |
The watchdog timer is a timer that resets the CPU if the firmware fails to 'pet' it. The watchdog timer is a safety feature that detects the firmware lockups. The watchdog timer is a counter that counts up. The firmware must periodically write to the watchdog timer register to reset the counter (to 'pet' the watchdog). If the firmware fails to pet the watchdog within a certain time, the watchdog timer times out and resets the CPU. The watchdog timer is a critical safety feature. |
Design Example: Watchdog in Brother Printers |
Brother's printer uses a watchdog timer with a time-out of 1 second. The firmware pets the watchdog every 100 milliseconds. If the firmware locks up, the watchdog timer resets the CPU after 1 second. |
Chapter 8: The Reset Supervisor IC - A Single-Chip Solution |
The reset supervisor IC is a single-chip solution that integrates the voltage monitoring and the reset generation. The reset supervisor IC is a small, low-cost IC that is used in many printer designs. The reset supervisor IC monitors the supply voltage and generates a reset pulse when the voltage drops below a threshold. The reset supervisor IC also provides a power-on reset delay. The reset supervisor IC is a simple and reliable solution. |
Design Example: MAX809 in Zebra Printers |
Zebra's printer uses the MAX809 reset supervisor IC. The MAX809 monitors the 3.3-volt rail and generates a reset when the voltage drops below 2.9 volts. The MAX809 has a 200-millisecond power-on reset delay. The manufacturer chose the MAX809 because it is a standard and readily available component. |

|
Chapter 9: The TPS3808 - A Programmable Reset |
The TPS3808 from Texas Instruments is a reset supervisor IC with a programmable reset delay. The reset delay is set by an external capacitor. The TPS3808 monitors the supply voltage and generates a reset when the voltage drops below a threshold. The TPS3808 is a flexible and reliable solution. |
Design Example: TPS3808 in Sato Printers |
Sato's printer uses the TPS3808. The manufacturer set the reset delay to 100 milliseconds by using a 0.1-microfarad capacitor. The manufacturer chose the TPS3808 because it provides a programmable delay. |
Chapter 10: The STM6719 - A Reset with a Watchdog |
The STM6719 from STMicroelectronics is a reset supervisor IC that integrates a watchdog timer. The STM6719 monitors the supply voltage and generates a reset when the voltage drops below a threshold. The STM6719 also has a watchdog timer that resets the CPU if the firmware fails to pet it. The STM6719 is a high-integrity solution. |
Design Example: STM6719 in Brother Printers |
Brother's printer uses the STM6719. The manufacturer chose the STM6719 because it integrates the voltage monitoring and the watchdog timer in a single package. |

|
Chapter 11: The Internal BOR - A CPU-Embedded Feature |
Some microcontrollers have an internal brown-out detector (BOR). The internal BOR is a feature that is integrated into the CPU. The internal BOR monitors the supply voltage and generates an internal reset when the voltage drops below a threshold. The internal BOR is a cost-effective solution, but it may not be as reliable as the external reset supervisor. |
Design Example: Internal BOR in Brother Printers |
Brother's printer uses a CPU with an internal BOR. The manufacturer also uses an external reset supervisor for the additional reliability. The manufacturer chose the dual-protection for the high-reliability. |
Chapter 12: The Reset Sequence - A Power-On Process |
The reset sequence is the process that the CPU goes through when the reset is de-asserted. The reset sequence includes the following steps: the CPU starts executing the code from the reset vector, the CPU initializes the registers, the CPU configures the clocks, the CPU initializes the peripherals, and the CPU jumps to the main application. The reset sequence is a critical part of the power-on process. |
Design Example: Reset Sequence in Zebra Printers |
Zebra's printer has a reset sequence that takes 50 milliseconds. The manufacturer optimized the reset sequence to start the printer quickly. |

|
Chapter 13: The Reset Vector - A Starting Address |
The reset vector is the address of the first instruction that the CPU executes after the reset. The reset vector is stored in the NOR Flash. The CPU reads the reset vector from the NOR Flash and jumps to it. The reset vector is a critical part of the boot process. |
Design Example: Reset Vector in Brother Printers |
Brother's printer has the reset vector at address 0x00000000. The manufacturer chose the address 0x00000000 because it is the standard address for the ARM Cortex-M processors. |
Chapter 14: The Clock Stabilization - A Waiting Period |
The crystal oscillator takes time to start. The CPU must wait for the oscillator to stabilize before it can start executing the code. The reset supervisor IC holds the reset low for a period of time, allowing the oscillator to stabilize. The clock stabilization is a critical part of the reset sequence. |
Design Example: Clock Stabilization in Sato Printers |
Sato's printer uses a 200-millisecond reset delay to allow the crystal oscillator to stabilize. The manufacturer measured the oscillator start-up time and found it to be 10 milliseconds. The 200-millisecond delay is more than sufficient. |

|
Chapter 15: The Brown-Out Threshold - A Critical Setting |
The brown-out threshold is the voltage at which the reset is triggered. The threshold must be set correctly. If the threshold is too high, the reset will be triggered unnecessarily. If the threshold is too low, the CPU may operate in an unstable region. The threshold is typically set to 2.9 volts for a 3.3-volt system. |
Design Example: Threshold in Brother Printers |
Brother's printer uses a brown-out threshold of 2.9 volts. The manufacturer chose the 2.9-volt threshold because the CPU requires a minimum of 2.7 volts for the reliable operation. |
Chapter 16: The Reset Debounce - A Glitch Filter |
The reset button can bounce. The bounce can cause the multiple resets. The debouncing is a technique that filters the bounce. The debouncing can be done in hardware (a capacitor) or in software (a timer). The hardware debouncing is a simple and reliable solution. |
Design Example: Debouncing in Zebra Printers |
Zebra's printer uses a hardware debouncing circuit for the reset button. The circuit consists of a 0.1-microfarad capacitor in parallel with the button. The manufacturer chose the hardware debouncing because it is simple and reliable. |

|
Chapter 17: The Manual Reset - A User Action |
The manual reset is a reset that is initiated by the user. The user can press a button to reset the printer. The manual reset is a useful feature for the service technicians. The manual reset is typically connected to the reset supervisor IC. |
Design Example: Manual Reset in Sato Printers |
Sato's printer has a manual reset button on the front panel. The button is connected to the reset supervisor IC. The user can press the button to reset the printer. The manufacturer chose the manual reset to allow the user to recover from the lockups. |
Chapter 18: The System Integration - A Complete Reset System |
We have now covered the reset and brown-out protection. Let us put it all together. The reset supervisor IC monitors the supply voltage and generates the reset. The reset signal is connected to the CPU's reset pin. The CPU resets and starts the boot process. The watchdog timer provides the additional protection. The reset and brown-out protection is a complete system. |
Chapter 19: The Future of the Reset - Smarter and More Integrated |
The future of the reset lies in the smarter and more integrated solutions. The future reset supervisors will have a built-in voltage monitor, a watchdog timer, and a temperature sensor. The future reset supervisors will be more intelligent and more reliable. |

|
Chapter 20: The System Integration - A Complete Design |
We have now covered the complete reset and brown-out protection system. The reset system is a critical part of the printer's reliability. The reset system ensures that the CPU starts correctly and recovers from the power disturbances. |
Chapter 21: The End User - The Ultimate Beneficiary |
The end user is the ultimate beneficiary of the reset and brown-out protection. The reset system ensures that the printer is reliable and does not lock up. The reset system ensures that the printer recovers from the power disturbances. The reset system is a critical enabler of the printer's reliability. |
Chapter 22: The Future - Smarter and More Reliable |
The future of the reset and brown-out protection lies in the smarter and more reliable solutions. The future printers will have a more robust and more intelligent reset system. The future printers will be more reliable and more user-friendly. |

|
Detailed Summary - Tying It All Together |
We have now completed our comprehensive exploration of the reset and brown-out protection - the watchdog of the system. We began by understanding the problem: the CPU needs a clean start and must be protected from the power disturbances. We learned that the reset forces the CPU to start from a known state, and the brown-out protection prevents the CPU from operating in an unstable voltage region. |
We explored the different types of resets: the power-on reset (POR), the brown-out reset (BOR), the external reset, and the software reset. We saw how the POR ensures a clean start at the power-on, and how the BOR protects against the voltage dips. We examined the watchdog timer that resets the CPU if the firmware fails to pet it. |
We looked at the reset supervisor ICs - the MAX809, the TPS3808, and the STM6719. We saw how these ICs integrate the voltage monitoring and the reset generation. We discussed the internal brown-out detector that is integrated into some CPUs. |
We examined the reset sequence - the reset vector, the clock stabilization, and the boot process. We looked at the practical aspects: the brown-out threshold, the reset debounce, and the manual reset. |
The overarching lesson is that the reset and brown-out protection is a critical part of the printer's reliability. A well-designed reset system ensures that the CPU starts correctly and recovers from the power disturbances. A poorly designed system causes the lockups and the unreliable operation. Understanding the reset and brown-out protection is essential for any engineer who wants to design a reliable printer, and this chapter has provided that understanding from the basic principles of the reset to the advanced techniques of the watchdog timer. |
End of Extended Section 29 |