Power sequencers are commonly used in system level board designs where multiple power supplies are enabled in a sequential manner. Typically systems using a power sequencer, have different components on them which require different power supply voltages and power levels. The sequence of enabling the different voltages, would insure that there is no conflict between components being powered up and all units are powered up correctly. When shutting down the system, there may also be a sequence. The power-up and power-down sequence is programmable and is time based.
This application note defines a four channel power sequencer. The four voltages defined are 5.0V, 3.3V, 2.5V and 1.8V. Each of these voltages is provided through a Power Module (PM) unit (BEL Power Modules: VRAE-10E1A0 Series).
These PM units typically have five pins (Figure 1):
- Input Power
- Output Power
Users can select any number of PM units in their system. The software has been written in a modular format to support up to ten PMs. These can be added or removed to meet specific needs. An enhanced core PIC16F1509 device has been selected as the MCU for this application.
The project algorithm will follow a state machine arrangement as seen here.
Power Sequencer GUI:
The application also has a Graphical User Interface (GUI) that can control the electronics.
The Power Sequencer GUI has been designed for the User to:
1. Enter relevant data for the Power Sequencer Application
2. Monitor relevant data from the Power Sequencer Application
3. Control the Power Sequencer Application.
The main window has the system options on the left and the module options as tabs on the right.
In the system Options, the user can Start, Stop, Reset and Read the current firmware values. The Status window section 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 ADC reference value which for this Application note is set at 5.0 (Volts). Finally the user can Burn the updated Module settings into Flash Program Memory by clicking on the Burn Flash button.
Under each Module Tab, the user can also set or read existing values for each module. Module 1 is the 5 V module and the user can set the Normal/Margin, Over/Under Limits for this module, along with Start and Stop times in mS for this module. Also the voltage divide factor can also be edited and entered in this tab. The Read Values button reads the existing values in RAM and the Update Values, writes new values to the RAM. If the users wants to make these values permanent, then they would have to be programmed into the Flash using the “Burn Flash” button. By clicking on the appropriate tab, the user can modify/read/update values from all Modules.
When a Fault occurs, The GUI is not automatically updated, since the I2C implementation on the PIC16 is in slave mode. The user has to Click the “Read Current Firmware Values” button, to get a status update and figure out which Module failed.
In each module tab, the DAC value can be incremented or decremented using the up/down arrow located at one side of the DAC value box. The value increments or decrements and if the module is ON, then the output voltage will be read and updated. To see the voltage change, more than one increment or decrement may have to be performed. This feature allows the user to increase or decrease the output voltage during a system test when voltages reach their limit. This is called voltage limit testing and allows the customer to test a complete system when one or more of the output voltages reaches their under/over voltage limits. The voltage values are displayed as actual voltage values (3.3V or 2.5V). The DAC value and the margin limits are displayed as 8-bit values from 0 to 255.
This Application Note is designed for easy use for a customer to implement a Power Sequencer Design Application using a PIC16F1xxx device. The Customer can easily modify this existing application note to control 4 voltage modules in their own design application. Additionally, customers can add more power modules to their application or remove modules for a smaller application. The hardware and firmware have been created in a modular format to accomplish these goals very easily. The completed board is shown here.
Additional Project Detail
For more detail on the specifics of this project refer to the linked pages below: