I have a project where I'm using 74HC595 shift registers. I can hook them u p in either a 3-chip or 6-chip configuration. I'm driving them with a raspb erry pi. They're driven with three pins: data, clock, and latch. Data is da isy-chained from chip to chip. Clock and latch are common to all chips. The latches are powered via 5V. The raspberry pi is a 3.3V device.
The circuit is mostly stable (i.e. the data I shift in appears on the outpu ts) with 3 shift registers. It's greatly unstable with 6 shift registers. I get numerous errors on the outputs. Sometimes I get random gibberish.
Loading the clock pin down with a 1X scope probe will make the 3-chip confi guration go wonky. 10X scope probe is fine.
Thinking maybe I've just cut the margin too close with the 3.3V cpu and 5V logic, I tried installing a 2N7000 based level shifter on the clock and lat ch pins (since those are the ones common to all chips, and thus affected by adding more registers). There's nice clean 5V clock pulses now, but if any thing it made the problem worse.
What am I failing to understand?