I'm working on a schematic for research at school.. I am being paid to do this, this is a learning experience for me and they realize this.
It's quite the project for me, more complicated than things I've done in the past because it involves multiple systems, multiple power-rails, and power switching. It's for a battery operated robot. The main electronics will run at 3.3v, with 5v for the main computer and 5v for RC servos...etc.. etc..
One requirement of this board is soft switching and battery gas gauging. So the gas gauge IC (non AVR), will be powered all the time, a second AVR (like AtTiny13 for instance) will also be powered all the time, living mostly in sleep mode and brought to life by interrupt when a switch (or other) is closed. This IC will be able to turn on the rest of the robot.
The servos will also be shut on or off in software. I've been planning on doing this via low-side NMOS, and I think that will be fine.. I didn't have any problem w/this on the bench anyways. Keep in mind, these are digital servos.
So, with all that explanation, here's my dilemma. ICs, AVRs, whatever are largely black boxes (at least in my mind), especially concerning their behavior when powered down, and in what way powered down.
My problem is, if I have parts of a system that are powered down (either by low-side or high-side switch) and parts that are never powered down, how can I be sure that the powered down parts won't be damaged, given that these parts are connected together via I/O pins or I/O buses.
Like, what could I expect to happen if a HIGH or LOW appeared on an AVR's I/O pin given that it's ground pins were Hi-Z? Or, what could I expect w/a HIGH or LOW on an I/O pin given that it's Vcc was Hi-Z.