Connect with us

Help with noise issues

Discussion in 'General Electronics Discussion' started by Mirceam94, Dec 17, 2010.

Scroll to continue with content
  1. Mirceam94

    Mirceam94

    7
    0
    Dec 17, 2010
    Hi everyone, my name’s Cris, and I’ve been having a problem with noisy signals for a while now. I’m designing and building a computer for my senior project, and I’ve chosen the HCF40181 monolithic IC ALU to take over the pure-computational tasks that the CPU will be required to execute. The problem is, the outputs of the 40181 are EXTREMELY noisy. Nothing in the computer is being clocked at the moment, so there aren’t any major sources of electrical noise anywhere in the circuit. The power supply is a 9V battery, being run through a 7805 5V regulator. I’ve checked the inputs to the 40181, and they are stable, but the outputs constantly flicker. There is a 74HCT244 between the 40181’s outputs and the data-bus, and all of the inputs are pulled low with 1K resistors. I’ve been trying to solve this problem for a month now, and have resorted to simply skipping this part of the computer, and continuing on building the other components. Can anyone help me with this? If you feel that I should learn everything on my own, since it’s for my senior project, than feel free to at least give me a link to a related Wikipedia article =]

    Thank you!
     
  2. LTX71CM

    LTX71CM

    182
    0
    May 23, 2010
    Power man, you need power! I'd use something beefier than a 9v battery for multi-chip home-made computer. How much of the project is connected together? Have any schematics or pictures to share for troubleshooting?
     
  3. Mirceam94

    Mirceam94

    7
    0
    Dec 17, 2010
    Well, currently I'm doing all tests with only one subsystem hooked up to the power supply at a time, and with 8 LEDs on the databus plus 8DIP switches to pull individual d-bus lines up and down. For the ALU card, thats 8 ICs. Here are some pictures to get a sense of the current draw:

    [​IMG]
    [​IMG]

    The two CMP registers are 74LS series ICs, but all other chips except the 40181s are 74HCT, so they draw very little current. I've been doing some googling now, and think I may have found the problem - the 40181 are CMOS ICs, but the 74-series chips are TTL. (Actually, the HCT stands for high-speed CMOS, but the input voltage ranges from 4.5-5.5V, while the 40181 is rated at 0-18V) Could this be the problem? I found 74LS181s at Mouser, and I can order them, but I need to know if they'll solve the problem first.

    The main interfacing technique I found is too pull the CMOS outputs low, but I've already done that... And, I tried adding decoupling capacitor across the 40181's power supply pins, nothing has worked.

    And, I don't have any schematics, but the circuitry is pretty straighforward - All ICs share a common D-Bus, and specific inputs (like clocks/output enable/master-reset) are pulled out to the edge connector. The D-Bus lines are all pulled low with 1K Resistors.

    I will however swap the 9V for a 12V 5Ah rechargeable battery, and I'll add another 7805 in parallel with the first.

    Thank you for replying so quickly! =]

    EDIT: The 74HCT family is CMOS, but uses TTL-compatible inputs, so I'm assuming that to external circuitry, they look like TTL ICs.

    2nd Edit:
    I saw that on another site, and that seems to describe what I've been seeing. The 40181's word inputs are driven by 74HCT273s, so I think that they may not be driving the CMOS inputs to a high enough voltage.
     
    Last edited: Dec 17, 2010
  4. JimW

    JimW

    59
    5
    Oct 22, 2010
    Is there drop out noise on the power supply pins to the IC? You have pretty small gauge wires feeding power to the chips, and I don't see any bypass caps (although you said you tried some). If you don't have clean power in, then the outputs will reflect that noise out. Mixing CMOS and HCT isn't a problem automatically, respect the drive and sink current limits for the linked parts and you should be OK.
     
  5. Laplace

    Laplace

    1,252
    184
    Apr 4, 2010
    Your circuit may be susceptible to spontaneous oscillation due to the high degree of cross coupling in your wiring method. For non-clocked gated circuits this type wiring might not ordinarily be a problem, but with no power decoupling capacitors and no semblance of a ground plane that I can see, it is not surprising your circuit is noisy. Whenever I hand wire proto-boards, the first thing I do is layout a clean ground and power wiring grid with plenty of decoupling.
     
  6. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,271
    2,718
    Jan 21, 2010
    Do you have 0.1uF capacitors across the power supply pins of your chips?

    edit: oh, I see. :( (I only had your first post visible)

    I'll read what everyone else has said but I do notice the lack of bypassing.

    edit2: OK, mixing logic families is fine, if you do it right. Is there a reason you're mixing families? The TTL compatible input CMOS has the wonderful feature known as "reduced noise immunity" and all other things being equal, it's not going to help if there's noise.

    Paralleling voltage regulators is generally a poor idea. Ensure you have a low impedance source of power. Low ESR tantalum caps on each board, and bypass caps on each IC (generally you can get by with less, but you're having problems). I'd recommend using a larger gauge wire for power supply connections.

    I would also be very careful to check that I didn't have an open circuit input on any of my CMOS chips.
     
    Last edited: Dec 18, 2010
  7. Mirceam94

    Mirceam94

    7
    0
    Dec 17, 2010
    Sorry for taking so long to reply, its a bit difficult for me to get online during the weekends. I appreciate the quick responses on your part, its a good change from the dead forums I've visited.

    So, onto the post... =]

    Using lower gauge wires for the power supply connections to the ICs would change the card's current width, since they'd have to cross over the bundles of higher gauge wires. The only lower gauge I have is the yellow wire on the left; using that for the VDD and VSS connections is a bit of a last resort at the moment...

    I went ahead and soldered 0.1uf bypass capacitors to every IC's power pins, and between every CLK line and ground on the ALU, but it didn't help...

    I did the same on another part of the computer that was having issues, and it solved the problem: I have one card reserved for the operating Registers and RAM, and another card for a "Register Display" of sorts. It has 4 74HCT237s mirroring the 74HCT374s on the Register card, and their outputs are hooked up to LEDs. When I would clock one IC, the surrounding ICs would also receive the clock signal. There was no connectivity between the CLK lines, and I spent 30 minutes trying to isolate the problem between the test card (pushbuttons to send the signals), and the Register Display card. In the end, I soldered 0.1uf bypass caps between the power supply pins, and between every CLK line and ground, and the problem disappeared.

    But, as I said, no such luck with the ALU card. I took some measurements on both 40181s...

    VDD = 4.99V
    Inputs (with all (1)s) = 4.99V
    Outputs with 1K pull-down resistors = 3.04V
    Outputs without 1K pull-down resistors = 4.99V

    I went ahead and took out all the pull-down resistors between the 40181s and the 74HCT244 buffer, and the voltages went to the levels predicted by the HCF40181 datasheet. The voltages across the 74HCT244's outputs were between 4.7V and 4.74V. But, somehow, the LEDs being driven by the 74HCT244 continue to flicker. The 40181 is set to it's AND function, with active-high inputs/outputs, and all (high) inputs. There is not reason for it to flicker. I've tested it in its Add and Subtract modes, and it works fine, no flickering. The outputs of the 74HCT244 go to the Data-Bus, which has all its lines pulled low by 1K resistors. I attached the ALU card's schematic, but keep in mind that the order of the Socket's connections isn't accurate to the actual card; I only added the socket because it's better than having the external connections going off the side of the screen.


    According to the measurements, the fact that I'm mixing 4000 family ICs and 74000 family ICs shouldn't be a problem, as you said =]

    If not using a second 7805 in parallel, would a LM317 tuned to 5V make a difference? I'm assuming the problem with the current 7805 is that it can't supply enough current, right?

    And, the only open connections on the 40181s are the P, G, and A=B outputs. Since they're outputs, I assumed I don't need to hook them up to anything. I'll try grounding them later, is there a chance that'll work?


    Thank you again for all the replies =]
     

    Attached Files:

  8. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,271
    2,718
    Jan 21, 2010
    No problems. If you want us to slow down, just ask ;)

    You could route your power supply connections on the top side of the board. There's plenty of room there.

    I'm pretty certain that you don't want to put any on the clock line. Many of these chips rely on rapid rise and fall times on this particular input for correct operation.

    Again, beware extra capacitance on the clock line.

    I can't see any reason to have pull-down resistors on the outputs of CMOS logic gates. If you have something with open drain outputs, or tristate outputs, then you may need pull-up resistors somewhere but I see no indication of that.

    When you say "across the outputs", do you mean between output and ground?

    The 74HCT244 should be able to drive its outputs pretty close to each supply rail.

    Are the 74HCT244's directly driving the LEDs? What is the value of the series resistor? What else are these outputs supposed to be driving? What do you mean by "flicker"? Do you have access to an oscilloscope to see what the output of the 244 is doing?

    Again, I'd get an oscilloscope and look at all the outputs and inputs, and also check that all of my inputs were actually held properly high or low -- especially the carry and mode select inputs that you haven't mentioned above.

    I can see that you're mixing 4000 and 74HCT, but you have not mentioned any 74 series TTL.

    Can you confirm that you're only using 4000 and 74HCT?

    Only if you need more than 1A. (Some 317's are rated to 1.5A and there are 5V regulators rated at up to 5A. I think I also showed you a circuit that allows you to use a fixed voltage regulator to supply a far greater current.

    Also ensure that your power supply can actually supply more than 1A, and that the ripple does not become excessive. An oscilloscope will show you what is happening.

    I really don't know. If all your stuff is CMOS then 1A will supply about a gazzilion of them unless you're switching them at really high speeds. Or unless you're driving a lot of other devices that draw too much current.

    Have you measured the current drawn?

    No, unused outputs can (and should) remain open.

    There is also a possibility that one of your chips has been damaged. Often the quiescent current draw can be an indication. One tip is to place a small resistor (1 ohm) in series with the power to each CMOS IC (preferably those that do not have to drive busses though). This allows you to spot any chips that are latched up or otherwise drawing excessive current.
     
  9. Mirceam94

    Mirceam94

    7
    0
    Dec 17, 2010
    Without the capacitors, the interference I described earlier is present. I was told to place a 100 ohm resistor in series with the CLK pin instead if the capacitor to ground, but I haven't had time to make that modification.

    Yes =]

    Yes, through the Data-Bus. All of the data-bus lines are pulled low by 1K resistors, but there is no series resistor between the 74HCT244 and the LED; there is one between the LED and ground (100 ohms).

    In the finished computer, the outputs will be driving the inputs of other 74HCT273s, 74HCT244s, or 74HCT374s. For now, I'm using the LEDs for testing.

    By flicker I mean, they rapidly oscillate, but to varying amplitudes =] Over time, they start to oscillate less brightly, and after about 2 minutes, usually half of them are all the way off. I haven't measured the 74HCT244's output voltage to an LED when it turns off yet, I'll go ahead and do that.

    I do have an oscilloscope, but I've never used it before. I'll go ahead and google for a manual =]

    The carry and mode select inputs (Along with S0-S1) are pulled to either +5V or ground through 1K resistors, and are connected to SPDT switches on the board with the LEDs for testing (The switches themselves are connected to both +5V and ground, with the center pin acting as the signal output).

    Yeah, about that, I made a few mistakes on the schematic... First off, I forgot to include the bypass capacitors, so I went ahead and attached a corrected version to this post. EaglePCB didn't have an HCT version of the 74244, so I had to use the LS part. Just remember that in the actual circuit it's an HCT =] There was no 40181 in Eagle's catalog either, so I substituted a 74LS181N. I sent an order to Mouser this morning for some 74LS181s to replace the 40181s and see if that makes a difference, but they'll take around two weeks to arrive.

    The 74LS85 is, in reality, an LS IC, but it isn't being directly accessed in the tests, and the only connection it has with the 40181 is that it shares the same inputs (the outputs of the 74HCT273s), so I didn't mention it.

    Thats what I thought, but LTX71CM recommended earlier that I beef up my power supply. I'll go ahead and try to get that oscilloscope working, and I'll look for any ripple on the power bus.

    And, I haven't measured the current draw, but I'll go ahead and do that =] I'm certain it'll be much lower than the 7805s maximum rating. I'll do it with all of the LEDs on, to get a worst-case-scenario number.

    What circuit?

    I already bought new HCF40181s and swapped them in, but the problem remained. How would the 1 ohm resistor signal excessive current draw? Would it heat up?
     

    Attached Files:

  10. Mirceam94

    Mirceam94

    7
    0
    Dec 17, 2010
    Well, the total current draw with all of the data-bus lines low (all LEDs off), is 133-135mA. The draw with the ALU outputting 0x255 (and with the LEDs flickering) is 200-220mA. I switched the 9V battery for the larger 12V 5Ahr battery, and the 7805 heats up pretty badly now. Once the 7805 gets too hot to touch, I noticed that the LEDs flicker less than normal, if that makes sense =]

    I also got that oscilloscope out, and looked at the data-bus lines when the 40181 is having its issues; while the voltage going too the LEDs is within 0.5V of VDD, the signal is extremely noisy. Random dots appear a few millimeters above and below the line on the oscilloscope (its set to 2V per cm). I hooked it up to the +5V line on the data bus, and the dots disappeared. I did the same for every IC's VDD pin, and they are all stable. The noisy signal on every d-bus line explains the flickering, but does that mean I need to place de-coupling capacitors between the D-Bus lines and ground? I need the signals going across it to do so quickly, not fade in/out...

    EDIT:
    I looked at the 74HCT244's inputs, and they are all stable (the 40181 is outputting perfectly clean signals), so, the 244 is probably the problem.

    EDIT2:
    I replaced the 74HCT244 with a new one, and the problem persists...

    EDIT3:
    I forgot to mention that all 8 LEDs that have their anodes connected to the data-bus lines, share a common series 150 ohm resistor between their cathodes and ground. As more of them are turned on, the rest dim; does this just mean that they aren't getting enough voltage? How do you calculate current draw/voltage on the individual components sharing a series resistor? If they all had their own 150 ohm resistor, they should (correct me if I'm wrong) be drawing 33mA, and the 74HCT244's limit is 35mA per output. Would it make a difference if I give each LED it's own current-limiting resistor?

    EDIT4:
    Wow, alot of edits; I figured out why the 7805 is getting so hot (did alot of googling), so that problem is fixed.
     
    Last edited: Dec 22, 2010
  11. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,271
    2,718
    Jan 21, 2010
    Lots of good work. You have covered a lot of bases.

    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.

    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.

    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?

    Even if the odd outputs only appear on the 244, if changing some state of the 181 causes it, then the problem is almost certainly connected to it.

    Your problem sounds a little like ground bounce. I note that you're seeing voltages (spots) below ground.

    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 presume the 7805 issue was a lack of heatsinking?

    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)
     
  12. Mirceam94

    Mirceam94

    7
    0
    Dec 17, 2010
    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.

    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 =]

    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.

    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.

    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.

    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.

    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 =]
     

    Attached Files:

    Last edited: Dec 24, 2010
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-