In general, on CMOS boards, I would put some bulk capacity near the power entry for the card, and bypass it with something small for high-frequencies. Not knowing what is in your design, it's hard to be specific, but a 4.7uF tantalum bypassed with a 10nF cap would be a good start.
Because caps are cheaper than debugging, I also favor distributing small caps liberally around the board. A single 10nF per 2-3 CMOS chips (for old and slow CMOS) would suffice. For HCMOS, I'd revert to TTL practice, and put a 10nF per chip.
You don't say whether this is an etched board, or a prototype. Remember that all the caps in the world won't make up for inadequate grounding.
You didn't say, either, whether you are using a regulated supply, or what sort of noise environment is involved. More info would make possible better suggestions.
With CMOS, it is best not to tie inputs to VCC, but to tie them to VCC through a 10K resistor. Since the input impedance is huge, a single pullup "bus" will suffice for most circuits, or multiple resistors may be used, whichever is more convenient.
4029's are quite slow. By noise, do you mean on the clock line, or on the power lines ? The clock/control lines may need schmitt buffering, with RC filtering before the schmitt if the signals are really noisy. ( eg linear optical sensors )
"William Meyer" wrote
Why ? I think there was a legacy reason from the very first TTL devices (before LS), to not tie direct to Vcc (Vih could break down, and other chips only pulled
so 5V was a problem) - but that requirement has long gone. Still shows up on some circuits, 30 years later....
CMOS inputs are not TTL inputs, nor power lines. Under certain conditions they can form SCRs, and get triggered by transient spikes. As a result the chip self destructs, shorting the power busses. The resistor imposes a current limit, and the chip lives through the episode.
--
Chuck F (cbfalconer@yahoo.com) (cbfalconer@worldnet.att.net)
Available for consulting/temporary embedded and systems.
i m using 4029 built 32 bit counter for counting position from an incremental encoder
however , when a contactor in electric board is powered on or off or when a motor starts turning the counter state becomes random - unpredictable
i think the noise on the power lines is the reason my power supply for counter logic is linear with a transformer and 7805 i use 1 stage line filter but it doesnot help
i used .1 uF capacitor at every 4029 chip but it didnot help
is there any help ?
secondly ; what if i change 4029 to 74HC191 ?would it help ? is 74HC logic better for noisy environments ?
It probably has to do with the power supply, external connections and housing, PCB layout, and such like. Perhaps easy for many of us to fix if we had it in front of us...
Best regards, Spehro Pefhany
--
"it's the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
How is the encoder powered? Is its power adequately filtered?
what does your supply look like? Is it half-wave, or full wave?
How much bulk capacity in the supply before the 7805?
Is there high-frequency filtering ahead of the 7805? Note: you might also want to consider clamping the unregulated supply, to prevent nois spikes from going higher than unfiltered volts
5, and lower than ground.
If you've not done so, read the 7805 app notes. Throwing a large cap on the output of the regulator is a Bad Thing, as it will open the feedback loop, and reduce the ability of the regulator to protect you. IIRC, the recommended output cap for a 7805 is 1uF.
Make sure you have a 4.7uF or 10uF at the input to the 7805, close to the device. Failure to provide such a cap can cause problems with instability.
If you power the shaft encoder from a remote supply, rather than from the supply on the counter circuit, you will introduce many potential problems. If it is necessary to use a remote supply, then consider using optical couplers to import the signals from the encoder.
I'm suspicious of grounding and shielding issues, as well as the coupling of noise from the ground system on which the motor is powered.
74HC is not likely to help. First is to be sure your ground is clean. Next, make sure your unregulated power is clean. Then, make sure you have adequate power and ground distribution downstream of the regulator.
NOTE: If this is a wire-wrapped circuit, then unless the board has a ground plane, you are at some risk of noise. Your decoupling is only as good as the conductors to which it is attached.
Not quite. Topic was unused inputs, not external-world connections. Unused IPs on any CMOS device can be quite safely tied to the chip Vcc or Gnd.
Externally connected pins are a different story, and all CMOS IP structures do have a latch-up trigger current level, normally some hundreds of mA. On some devices, to get that injection level, you are past the voltage rating. It IS a good idea to have an external series R, and even decoupling C
+Schmitt buffer on external lines, and many companies make transient diode/arrays for protection.
How it it connected ? True quadrature encoder interfaces are non trivial - done properly they count 4 per full phase, and include filtering to ensure that if chatter does occur on a single edge, the state engine can correctly track it. If you connect Qa to CP and Qb to DIRN, you get one count per full phase, but besides the effect of reduced resolution, edge chatter on the CP will spin the counter.
How random ? Is it a advancing a few counts, or do the MSB's change ?
Unplug, and short the incremental encoder IPs and see what the contactor-injection effect changes to. If you have a external reset line, unplug and short that too. Once you have the counters stable with no wired signals, then add them back in one at a time.
4029 @ 5V logic is very slow, which can be a good thing for injected noise effects. It also has lower linear region IP currents, which is why it has not been replaced by HC/HCT/VHC/LVC families - if the 4000 family is OK at your frequency, it can be the best design solution.
it gets a very large number i.e. the most significant bits also change but it is fully random which bits change
the board has ground plane but no plane for +5V
on the same board with the counters there is a 16 bit DAC which closes the position control loop the incremental encoder is at the back of motor and the DAC outputs speed command to a thyristor servo drive which drives the motor incremental encoder is isolated but DAC ground is connected to servo driver
there is no reset line of counter i cannot run the board with encoder input shorted i need encoder input to run the machine (it is a grinding machine )
Does your logic circuits share any ground paths with your high-power components? If you have a common section of thin wire or traces, then this may cause spikes to propagate through ground. The common section may act as an inductor, making this even worse. Make sure all logic and all power circuits have a single point of ground.
Does the DAC output directly influence the speed of the servo? 16-bit is very high resolution for speed control, especially if it's limited to 0-5V in range. Are you sure you are observing erratic counter behaviour, and not noise on your DAC output? Is it sufficiently buffered with a low-noise opamp? Do you have a picture on the web somewhere of the schematics you're using?
Have you peeked around with a scope? Have you tried if it's easy to inject a signal into the counter with a signal generator? Take a generator with 1V and 1kHz output and a 10K resistor in series. Probe the pins of your counters and see if any causes spurious changes.
Last but not least, double-check each counter chip for bent pins. It wouldn't be the first time where a chip with ground or VCC bent under the socket seems to sort-of-work OK.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.