Yes, you should have 1 resistor per LED unless only 1 LED will be illuminated at a time. I would tend to suggest that you should limit the current to a couple of mA if this device is also supposed to be driving a bus. If you really want bright LEDs, have a dedicated 244, or use a transistor as a driver.
In reality, the ALU card's 244 will be driving only the inputs of other 74-series ICs, through the databus. There will be a dedicated 244 specifically for displaying the values on the data-bus, but for now, the LEDs are only for testing.
I gave each LED a 150 ohm resistor, and they function perfectly now =D Not only are they bright, but the flickering problems have disappeared; so the problem was that the LEDs weren't getting enough power through the one resistor.
A circuit diagram is overdue. I am imagining the 181 driving the 244 which drives the bus and some LEDs, but that may not be right.
Thats exactly it; The LEDs are on another PCB, but they are being driven by a data-bus connecting the two boards. I uploaded the ALU's schematic in a .zip file in my last post. I can make a full schematic, including both the test setup (with the LEDs), and the ALU, but since I got it working, I don't think that's necessary =]
If that is correct, are you saying that you get spikes and glitches on some part of the 244 outputs (but not the LEDs), and only when driven by the 181 in a particular mode?
I was getting spikes and glitches on every output. I'll take a look at the outputs with the new resistors in place to see if they're still showing any problems.
But, yeah, when I tested the 40181 in ADD mode, the flickering wasn't present... I never performed an ADD operation where the output would light all of the LEDs though. The flickering was present when I did an AND operation between two full buffers (output should be 0x255). It was present with values that lit less LEDs too, but not as bad. I'm assuming that the 74HCT244 couldn't drive all of the LEDs to their proper turn-on voltage through the one resistor.
I attached the LED's datasheet. Its a 10-segment bar-graph, of which only 8 segments are used.
Your problem sounds a little like ground bounce. I note that you're seeing voltages (spots) below ground.
When I said I was seeing spots above/below the line on the oscilloscope, I meant the line that was within 0.5V of VDD. I googled "ground bounce", and it seems it shouldn't last more than a dozen cycles, while the dots continuously appeared.
Where is the earth connection on your scope? near the power supply, or near the power pin of the IC's under test?
I am curius about synchronisation, because if that is poor, you may be seeing glitches and runt pulses (or not seeing them -- which is more of an issue)
I connected the ground clip to the ground connection on the male header soldered to the socket (last 4 pins on the left in the photo (in a 2x2 square)).
What is synchronization (I'm guessing your talking about the oscilloscope)? That was the first time I used an oscilloscope, so I don't know much about them =] I did some goggling to learn the basics, but still.
I presume the 7805 issue was a lack of heatsinking?
Yep =] I re-did the whole power supply setup; I added thicker wires as you suggested, heatsinked the 7805, added a diode for safety, and added 0.1uf de-coupling capacitors to each socket on the backplane, and a 2.2uf capacitor on each card (hooked up to +5V and GND). Thats along with a 330uf capacitor on the backplane.
Do you have masses of LEDs (or do they use high current? because it sounds like you have quite a high load for just a couple of ICs (again, you may be powering more than just this board)
The current draw now with the ALU outputting 0x255 (all LEDs on) is ~280mA, but the current with all of them off is as before, 133-135mA. The only things being powered (with the LEDs off) in the test are the ICs visible in the image. There are 1K pull-down resistors on the databus, and on various other signals; those are adding to the load.
By the way, I have a new question. I was going to start a new thread for it, but its pretty basic - How do you select values for pull-down/pull-up resistors? I'm looking to pull certain inputs on the 40181 up/down. I have 1K resistors now, but I just pulled that value out of my head, and stuck with it since it worked. Is there any equation for this? I read through some electronics books, but found nothing about pull-up/down resistors. I looked up some tutorials, but they just described theory, nothing about selection.
And, if I take out the 0.1uf capacitors off of the CLK inputs to various ICs, how can I insure that the line stays clean? How do I prevent the situation I described before, where clocking just one IC, also clocks the ICs next to it? I was thinking of adding a resistor in series with the CLK line, but how do I select that value?
And, just a general resistor question: If I want to drop voltage A to voltage B, what value C of resistor should I use? In reality, what resistor do I need to drop a 5V IC output to a 3V clock input?
I realize this is all basic stuff; I've been playing with electronics and building things since elementary school, but I never learned any of the mathematical/engineering aspects of the hobby. I burned out alot of components, but I learned common-sense things. Now that I need to pick specific values for components, designing circuits has gotten a bit tricky =]
Watching green 3mm LEDs burn brown/orange hooked up to 12V used to be alot of fun xD
EDIT:
Okay, for the clock line question, a voltage divider looks like what I'm looking for. I'd have a pull-down resistor, and a series resistor on the CLK line, and that should act like a voltage divider. But, still, how do I select a pull-down resistor value? If I know that, then I can calculate the value of the series resistor. I'm thinking of doing this to solve the CLK line noise issue, but if it won't help, please let me know =]