I have some instrumentation (40 units in the field) using a 16F628 to control a linear stepper motor and supply logic-level control to an automated rotary valve. The '628 communicates with an '877 master controller which accepts a "ready" high from the '628 and issues a "go" high to the '628. All units have been performing flawlessly for three years under extremely harsh field conditions. UNTIL.....

In order to make room for new pneumatics, it was necessary to replace the venerable, but large, linear power supply with a switcher. (I lost that arguement...let's design a smaller linear). Now, one out of three units misbehaves due to what we have isolated as noise on the "ready" line giving a false "high" to the '877. The "ready" line is between porta.1 of the '628 and portd.3 of the '877.

To anticipate some obvious questions:
- The ONLY electronic change was the power supply.
- ports are initialized and TRIS'd properly.
- there are no passive steering components on the line but board is
thru-hole so there is room to "glue" things on if need be. However,
getting to the board is not an easy task.
- all units have been operating properly for 3 years with linear PS.
- '877 PBP with MCSP and MC Loader
- '628 has to removed for programming.

It would be difficult to post all the code here but all observed failures require a high on the "ready" line. The '877 sits in a loop waiting for that signal, often for several seconds so noise has a good chance of triggering a response. Any suggestions on how to deal with this will be greatly appreciated.

I think it's time to retire (again).

Steve Kerrin