Different targets require a different power schemes that depend on the design of the target board, target voltages, and even the device architecture. PEmicro has designed their Cyclone LC and Cyclone FX to optionally power a target before, during, and after programming. Power can be sourced at many voltage levels from the Cyclone itself or sourced by an external power supply and switched by the Cyclone.
The Cyclone power scheme is very versatile to give the user the utmost flexibility, and includes the following features:
Provides power through a power jack or through the debug connector
Provides internally generated voltage from 1.6v-5.5v at up to 500mA
Switches an external power supply voltage, up to 24V at 1amp
Selectively powers the target before, during, and after programming
Power down the target connections between programming operations
Use power switching to aid entry into debug mode for certain targets
Provide target voltage and current measurement capabilities
If target power is required, each target board may vary where the power is sourced from, externally or internally, and how it is channeled to the target: through the debug header or to a separate connector to the board. Power that is passed through and managed by the Cyclone goes through power relays so it can be power cycled. This is extremely useful because it also allows the power to be off during setup and automatically powered on by the Cyclone for programming. For some devices, the process of entering debug mode requires that the device be powered down and powered back up. Power can also be left in a desired power state, either on or off.
There are two different places Power Management is configured and they should be matched: first, by the jumpers on the Cyclone, and second, in the setup of the programming image. The Cyclone jumpers are the most important because they are the physical connection to the target. The Cyclone has an easy access panel that reveals debug header connections for a variety of different architectures, and a 2x4 jumper block for configuring power management of the target. This set of 4 jumpers can be used to set 5 different power management schemes for the target:
Target is powered independently
Power provided externally (center +) and managed by Cyclone, power out to debug ribbon cable
Power provided externally (center +) and managed by Cyclone, power out to 2.5 mm output jack (center +)
Power provided by Cyclone, power out to debug ribbon cable
Power provided by Cyclone, power out to 2.5 mm output jack (center +)
The bottom edge of the Cyclone has a Power In jack for externally provided power, and the top edge of the Cyclone has Power Out jack, for when power schemes including these are used (see Figure 2). One of the provided ribbon cables is connected to the appropriate debug header based on the specific target architecture.
The power settings that are set by the jumpers are a physical connection and take precedence. After the basic hardware setup, target power and voltage settings are also set in the creation of a SAP (stand-alone programming) image. At a minimum the SAP image contains all the commands to Erase, Program, and Verify a programming image. More sophisticated power selections in the SAP image can control the relays, target voltage, delays, and power down after SAP operations, as shown in the selection dialog.
Target voltages (with appropriate jumper settings) in the range of 1.6 to 5.5 volts may be provided. There is also the option to select the internal Cyclone relays to power cycle the Cyclone during programming, and set the length of delays during power up and down. This is extremely useful to make sure the power is off when hooking up the target. Power cycling is especially important for architectures that require it to enter debug mode. The SAP image settings may even be used to turn off the target power once programming is completed, to ensure that the microcontroller is left in a halted state and not running.
Below is a tutorial that demonstrates how to set up the Cyclone in each of the 5 power configurations. A very common configuration is the independently powered target. In this power scenario, the Cyclone will detect and use the power on the target for the appropriate debug communication voltages.
Independently Powered Target
In the simplest and most common scenario, no jumpers are set, so the target is powered independently from the Cyclone. No power is passed through the debug header, just the standard debug signals. The Cyclone automatically detects the target power and sets the debug signals to match.
Power provided by the Cyclone to the debug cable
It is also possible for the Cyclone to generate power through an internal regulator in the range of 1.6 to 5.5 Volts. In the jumper configuration below, the Cyclone generates the power through a voltage regulator, and passes it through the power relays and out through the debug ribbon cable, which is set up during the SAP image creation. There is only one connection to the target processor which will handle both the communication and the power. In this scenario, external power must not be connected to the Power In jack since it is already being provided.
External Power passed through the Cyclone and out 2.5 mm barrel port
It is also possible to provide external power, passed through the Cyclone power relays, and back out to be available to power the target board externally. This is useful when the user wants to control the power to the target and the target board has an external power connector. Setting a single jumper will connect the barrel port input connector on the bottom edge of the Cyclone, through the relays, to a matched 2.5 mm barrel port output connector on the top edge of the Cyclone, so that the power can be routed into and back out of the Cyclone.
External Power passed through the Cyclone to the debug cable
In a slightly different scenario, the user may wish to provide power to the target through the debug cable. On the bottom edge of the Cyclone is a 2.5 mm Power In port barrel which will pass power through target relays which lets the Cyclone take control of the power cycling during programming. This simple setup requires only an input to the Cyclone and a single ribbon cable connection to the target board that handles both communication and power. The external power provided must be between 1.6 to 5.5 volts.
Power provided by the Cyclone and out 2.5 mm barrel port
In a slightly different scenario, the user may wish to have the Cyclone provide power, but power the target via an external connector on the target. The voltage supplied to the target is determined by the settings in the SAP image. When generating the SAP image the Cyclone relays must be selected as well as the correct voltage level for the target.
The most important step when providing power out to a target is to check the Cyclone's jumper settings to make sure they match the intended power setup. The jumpers control the power settings which determine how power is supplied, regardless of the SAP image settings. If the jumpers are set for power to be provided through the Cyclone, and the target is externally powered, this is a conflict and may cause damage to the board.
In the case where power is being supplied through the Cyclone and the target is not being powered on, the user should first check the jumper settings to make sure they match the intended power setup. Second, the user should check to make sure the SAP image has the ‘Use Cyclone Relays’ box checked with the appropriate voltage level selected.
All in all, the Cyclone LC and Cyclone FX programmers have a variety of different setups to match just about any target board power requirements. The setups are very easy to change and allow the user to swap between different configurations quite easily.