Spartan 3e sample: pack power control with M(1)?

Guys/Gals, I was lucky enough to score a Digilent Spartan 3e sample pack board. This board is interesting in that it can only (generally) boot from JTAG or NOR FLASH (BPI). It also is interesting because it has a push-button power switch, instead of a normal switch or jumper.

On an unrelated note, I modded my board by routing four unused inputs and CCLK to the unused 5 pins on the 40-pin connector. At first, I thougth I could use CCLK to drive the pushbutton, but the datasheet indicates that a clock is present during configuration for BPI mode. That would most assuredly cause problems for the LTC 2950 power control chip.

So, I started looking around on the board, and noticed that the configuration mode pins were fairly clear, and become GPIO (except for M2) after configuration. I also noticed that both BPI UP/DOWN and JTAG require M1 to be high, or unconnected (since the pins have internal pull-ups).

I figure it should be a cince to run M1 to the pushbutton - since the pullup will keep the pin high during configuration. After configuration, the design would be able to turn its own power off. After configuration, the design could turn itself off by driving the line low.

Next, with a bit of careful design, and use of tri-states, it should be possible to emulate an open-collector output, and run the M1 pin offboard to allow the power to be controlled by both the onboard Spartan FPGA and offboard logic on a remote board. This would essentially entail running a cable between the M1 jumper position and the remote board.

The first problem with this idea is possible contention between the FPGA and the remote logic. This is solveable by bringing up the external board first and having it briefly drive the signal low to begin the power up sequence on the sample back board, then tri-state its output. To make sure the signal is solidly high - and because during operation, both will be tri-stated, an external pull-up is added on the Spartan board's Vcc.

Once configuration of the Spartan is complete, both devices switch between low and tri-state to control power. The remote board can sense when the Spartan board is powered by looking at the I/O pin, allowing status to be read dynamically, rather than stored in a FF.

This should work, as it will take several hundreds of nanoseconds, or even microseconds, for the power supplies to stabilize enough that the Spartan 3E can begin configuration. So long as the control signal is brief enough trigger the LTC 2950, but not so long as to confuse the Spartan 3E (since we are manipulating a mode control pin), I don't see why this shouldn't work.

Another problem would be that the remote board would, during it's own configuration, pull-up the GPIO line to its own Vccio - which would drive M1 while the Spartan is unpowered, causing latchup. I think that a diode circuit could be used to prevent this, but I'm still not sure how to wire it.

Is this a doable circuit, or am I risking damage to the Spartan 3e board doing this? What would be a good way to handle the potential latch-up problem, or is there one?

Thanks,

-Seth

Reply to
radarman
Loading thread data ...

I'm no expert on the Spartan 3e parts, but I would not expect any damage if you use a fairly weak pullup, say 10 kohms. But I see another issue with the push button. From your discription, it would seem to me that the push button connects the *input* voltage to the LTC3590 input to turn on power. Isn't that voltage higher than the I/O voltage that you will be using with the Spartan? On the S3 parts, the M1 signal is only 2.5 volts. How will you prevent damage from this higher voltage from the input of the regulator?

Reply to
rickman

Hmm, good point - I hadn't thought of that. I assume the button is pulled up internally by the power control IC, which would probably be the unregulated voltage. A voltage check on the button should clear that up.

If so, I'm probably looking at an external FET driver instead of directly using M1. Fortunately, there is plenty of room on the back to glue parts.

Reply to
radarman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.