Problem Statement
I have a circuit that is working, but I don't understand how or why it is working. I designed the following circuit to drive 7-segment displays with a 74HC595. The images below are the relevant bits. The circuit connects three boards with stacking risers, hence the Jn connector convention.
Relevant Schematics
The displays in image 1 are driven with the arduino D10--D13 and A0--A3 pins through 220Ω resistor arrays (not pictured), linking J8 to J1 and J9 to J3. Ground is toggled for each digit of my displays using the 74HC595 pair (10 7-segment displays in all). Seems fine right?
PCB Layout Error
Here is the weird part. During layout, I had a KiCAD error (or a PEBCAK error) in which my GND zone and VCC zone overlapped. It's supposed to look like this:
But it came back from the fab with that zone combined with the GND plane:
The Unexpected Solution/Observation
When I was mucking about with the soldering, I discovered that I could cause the 74HC595 to work correctly by disconnecting the Vcc pin. I intended to disconnect the faulty pins from the ICs and never power that part of the board, instead using a kludge cable to power the Vcc directly from the Vin line. BUT, while doing that, I discovered that this connection was not necessary.
Investigating the Cause
According to the spec sheet https://www.ti.com/lit/ds/symlink/sn54hc595.pdf, the manufacturer reports the following functional block diagram:
You will notice that VCC is not on this diagram. This simplified diagram suggests that the IC does not necessarily need power to work. Later in the spec sheet, the Typical Application shows that the IC is powered with 5V (not shown here).
My Questions
- Why is this circuit working despite the lack of VCC connection to the 74HC595?
- If this works without VCC in, why bother ever connecting it?
- Am I courting danger by driving this circuit without powering the 74HC595 properly? See this post: Shift registers(?) failing after being left on a while
- Can I expect this behavior to be consistent across similar chips e.g., can I use a 74AHCT595 as a drop in replacement without powering the VCC?