Home Instrumentation power on and power off sequence

power on and power off sequence

Power sequencers are commonly used in system-level board designs where multiple power supplies need to be called up sequentially. However, engineers can easily implement a power sequencer design with a small microcontroller, and the microcontroller can be modified to control a diverse number of voltage modules in different designs. As a general rule, systems using a power sequencer incorporate different components that require different voltages and power levels. The enabling sequence of the different voltages would ensure that there is no conflict between the energized components and that all units are energized correctly. When the system shuts down, there could also be a sequence.

Power on and power off sequences are programmable and time based. Take for example a four channel power sequencer in which all four voltages are 5,0; 3,3; 2,5 and 1,8 V. Each of these voltages is supplied through a power module (power module, PM). These PMs typically have five pins: input and output power, ground, enable, and trim.

Users are not limited to four PMs as a modular format could support up to ten PMs that can be added or removed to meet all needs. For the above application, Microchip's PIC16F1509 device with improved core was selected. The peripherals that were used were GPIO, timer 1, A/D converter, I2C and PWM. PMs can be standard power supply blocks, marketed with specific current and power ratings. The PM used in this design is model VRAE-10E1A0 manufactured by BEL Power Products. Each PM has five pins: voltage input (VIN), voltage output (VOUT), ground, enable input, and output trim. The enable signal is activated at a high level and once enabled, the output voltage of the PM appears on the output voltage pin. The trim pin with associated resistor Rtrim allows the output voltage to be adjusted as desired. The voltage at the adjustment pin is usually around 0,591 V.

A DC voltage on the trim pin also allows the system to provide some voltage charge regulation of VOUT. In this design, DC voltage is supplied from the PWM controlled RC filter circuit which provides a D/A conversion output to the trim pin. An alternative is to supply this DC voltage via fixed resistors from the trim pin to GND without trim D/A conversion voltage with PWM. With this option, the PWM, with its associated hardware and firmware, would be eliminated in the microcontroller.

On

To control the ignition sequence, the PIC16F1509 was used, working at 5,0 V and 4 MIPS, with an internal RC clock. The power up sequence is initiated with a serial instruction through the I2C interface and pressing a button.

Each PM follows a sequence with a set time interval between 1 and 16.393 ms (16,4 s) with a precision of 1 ms. For example, PM1 might come on 10 ms after the power on command, followed by PM2 after 25 ms, PM4 after 200 ms, and PM3 after 1000 ms. Each PM has a corresponding connect time value, which is a 14-bit unassigned integer value in firmware. This value is compared to a timer value incremented every millisecond. If there is a correspondence between the value of the timer and the value of the connection time of the PM, the corresponding PM is activated. On-off times can be selected by the user and saved to the microcontroller's flash memory. The power on-off sequence can be started and stopped via the serial I2C graphical user interface (GUI). When a PM is connected, the corresponding PWM output is enabled and VOUT is monitored by the microcontroller's A/D converter.

 The PWM duty cycle corresponds to the value of the 8-bit D/A converter for the PM. This D/A converter value can be changed by the user in the GUI or in the firmware. The trim voltage is generated by a combination of Rtrim and the PWM output from the microcontroller. This PWM output is sent to the RC filter to generate a D/A converter voltage, which together with the Rtrim resistor is applied to the PM trim pin. The output of the PM is supervised by a 10-bit A/D converter on the microcontroller. Each PM voltage is averaged over 16 readings to give a 14 bit value. Only the most significant eight bits of this value are used as a reference for the voltage value VOUT of each PM.

 The voltage reference of the A/D converter is VDD or 5,0 V. For example, if the output voltage of the PM is 2,5 V, the measurement precision would be (2,5 V / 5,0 V) /256 = 1,95mV. All output voltages are constantly monitored to see if they are within specified overvoltage limits. If the PM voltage is above or below the undervoltage or overvoltage limits, respectively, a fault is indicated and the system automatically shuts down.

Off

The microcontroller also controls the programmable shutdown sequence of the four power supplies. The shutdown sequence is initiated by a serial instruction from the I2C, any failure in the PM or in the input voltage, and pressing the button. Each PM follows a shutdown sequence with a time interval set between 1 and 16.393 ms (16,4 s) with a precision of 1 ms. For example, PM4 may stop after 200 ms from the stop instruction, followed by PM2 after 25 ms, PM3 after 200 ms, and PM1 after 1000 ms. Each PM has a corresponding timeout value which is an unassigned integer (14 bit value). This value is independent of the connection time value and is compared to a 16-bit counter value that increments every millisecond. If the two are the same, the corresponding PM is disconnected. Shutdown times are user selectable and are stored in flash memory. In the event of a power-down failure, a new power-up sequence will automatically start depending on the number of retries selected by the user. As a general rule, a user can make two or three attempts.

If after all the attempts the system fails again, it will be disconnected and the failure will be signaled. Using the I2C GUI interface, the user can determine which state of the PM or input voltage caused the fault. The user must make the appropriate corrections to clear the fault and reboot the system via an I2C serial instruction or the GUI and then retry the power up sequence.

Microcontroller

Since four PM channels are used in this design, a minimum of four I/O lines are required to enable and disable the feature. Four channels of A/D conversion, four PWM outputs, and two lines for I2C are also needed. An additional A/D conversion channel was used to sample the input voltage, MCLR, VDD, VSS, and programming pins: 20 pins in all. Fig. 1 shows the block diagram of the system.

The microcontroller is powered at 5,0 V via a 5 V regulator. The internal RC clock of 16 MHz is used to run the CPU at 4 MIPS. Hardware and firmware can be modified to accommodate up to 10 PM. If more PMs are needed, the number of I/Os will increase and a higher capacity microcontroller will have to be selected. If fewer MPs are needed, a smaller device can be used. Adjustment tension requirements can also be varied. If the user wants to adjust the PM only with the external resistance, the voltage of the D/A converter and the associated PWM are not needed.

The software to control the PWM and the D/A converter are also removed. Each PM has its own overvoltage and undervoltage limit, as well as lower and upper ranges for the set voltage. An I2C slave interface is implemented on the microcontroller for serial communications with an external I2C GUI. Users can implement an I²C-mini USB interface circuit of MCP2221 in their own hardware or, if required, they can make a different I²C interface. All firmware for the I/O peripherals, timer 1, A/D converter, PWM, flash memory, and I²C have been created and initialized using the free MPLAB Code Configurator (MCC) software. The A/D converter is basically in charge of executing and sampling the voltage of modules 0 to 4.

Module 0 corresponds to the input voltage, which is always monitored in case of a fault. An input voltage failure causes a trip and no retries are performed. The 10-bit A/D converter samples each voltage 16 times and then uses the 8-bit average value to check whether there is an error with respect to the corresponding undervoltage and overvoltage limits. On the hardware used, the voltage reference is 5,0 V or the system VDD. A 5,0V reference will work fine when sampling and converting 1,8; 2,5 and 3,3 V. However, for the 5,0 V module and input voltage, a divider resistor is needed to have the full range of voltages within the 5,0 V reference. The factor The resistor divider for the 5,0 V module is 0,55 and the division factor for the input voltage is 0,239. Users will have to use this value for the calculation of the undervoltage and overvoltage limit values, and define them appropriately in the header files. This is especially true if the user decides to use values ​​other than those used here.

Power Sequencer GUI

The Feed Sequencer GUI has been designed to allow the user to enter relevant data and supervisor relevant data, as well as to control the Feed Sequencer application. The GUI is shown in Fig. 2. The main window has system options on the left and module options as tabs on the right. In the system options, the user can activate, stop, reboot and read the current values ​​of the firmware. The status window allows the user to define the VOUT corresponding to the module index. These values ​​can be modified by the user and will be saved when the GUI is closed. The user can also enter the reference value of the A/D converter, which for this application note has been set to 5,0 V. Finally, the user can save the updated module settings to a flash program memory with a single press the save button on the flash.

Under the tab of each module, the user can also set or read the existing values ​​for each module. Module 1 is the 5V module and the user can set the normal and span settings as well as the upper and lower limits for this module, always with the on and stop times in milliseconds. In this tab you can also edit and enter the voltage division factor. In the tab of each module you can increase or decrease the value of the D/A converter, using the up or down arrow next to the D/A converter values ​​window. The value increases or decreases and if the module is connected, the output voltage will be read and updated.

To see the change in voltage, more than one increase or decrease must be made. This function allows the user to increase or decrease the output voltage during system check when the voltages reach their limit. This is called a voltage limit test and allows the user to test an entire system when one or more of the output voltages reach their undervoltage or overvoltage limits. The voltage values ​​are displayed as actual voltage values ​​(3,3 or 2,5 V). The D/A converter value and range limits are displayed as 8-bit values ​​between 0 and 255.

Conclusion

An engineer can implement a power sequencer using a PIC16F1XXX device, which can be easily modified by the user to control four power modules of their own design. They can also add more power modules to their applications or remove modules for a smaller application. The hardware and firmware have been created in a modular format to easily adapt to these goals. Fig. 3 shows the complete card.