ISA Bus termination question

We were having an issue with a system that uses an ISA bus locking up once every few hours. After a lot of work, we narrowed the issue down to bus termination or lack thereof. After throwing some terminator resistors on the ISA Bus the system runs fine for weeks. Great, problem solved. My current task is figuring out how having no termination caused the system to lock up after a few hours. I started probing the clock, address lines, and data lines on the bus with and without the termination. When there is no termination, there is a larger overshoot and undershoot on the rising and falling edge respectively however the delta of the termination vs. no termination is less than a volt. I was hoping to see something a bit more drastic but I am unsure what the threshold is on the overshoot/undershoot voltages. Also, for grins, I did a FFT on the BCLK signal (8.333MHz) and I noticed that the unterminated signal had well defined even harmonics. The terminated signal had some noise around the even harmonics but they were no where near as structured. I should also point out the the odd harmonics on the terminated signal had a more narrow band.

There are obvious differences in the terminated and unterminated signals, but nothing that really stands out as the problem causing the issue. Is there something else I should look at?

Thank you

Reply to
Matt
Loading thread data ...

On a sunny day (Tue, 22 Apr 2008 10:05:19 -0700 (PDT)) it happened Matt wrote in :

Last time I did an ISA card it used no termination IIRC. But that was a LONG time ago....

Capacitive load, crosstalk, DMA signal (can't remember what it was called, but should be in decode).

Reply to
Jan Panteltje

Capacitive load, crosstalk, DMA signal (can't remember what it was called, but should be in decode). Oh yes, remember now: AEN (address enable), says no DMA cycle in progress, so valid address.

Reply to
Jan Panteltje

Just a WAG ! Standing waves and jitter. The jitter moves the signal edges about, at some point the standing wave pattern cancels out. result missed edge.

--
Best Regards:
                     Baron.
Reply to
Baron

I worked on a PC-104 (ISA) project 2 years ago. We used a commercial PC. I developed one board (various interfaces and video) while a fellow engineer developed another board (with a 2-channel servo motor controller). His was 16-bit ISA and mine was 8-bit. Both used FPGAs to decode the ISA control signals. One problem we had was noise from his board getting on the reset line quite often -- resetting the system every few minutes. A simple RC filter on the reset line fixed that problem.

Another problem we had was my 8-bit board was (initially) ignoring the BALE signal. I had to re-write my FPGA code to accomondate the 16-bit signals (including BALE), even though my board was 8-bit.

Hopefully one of those 2 bits of info help.

Tom P.

Reply to
tlbs101

How exactly did you so confidently narrow down the problem to bus termination? Just because adding bus termination appears to fix the problem does not mean that lack of termination was the only issue, as you are now likely finding out buy having to explain it the exact cause. It is highly likely there is some other issue that the termination just happens to be masking. You might find your device fails again over temperature or some other variable perhaps.

Normally an ISA bus does not need termination, but the option is there. This comes from the PC-104 standard:

"4.7 Bus Termination Option Termination of the 8-bit and 16-bit ISA bus signals may be desired in some systems to increase data integrity and system reliability. When termination is included, AC termination networks must be used to provide termination close to the characteristic impedance of the signal lines without exceeding the DC output current capabilities of the drivers. As in the ISA standard, the recommended network consists of a resistor- capacitor network of 40-

60 ohms in series with 30-70 pF, connected between each bus signal and ground. Whether termination is needed, and where it should be located, is dependent on the specific system configuration and must be determined by the system designer."

Also, how did you probe the signals? The measured "bounce" on the "terminated" signal is dependent entirely upon the ground point at which you measure it. Did you actually use proper low inductive probing techniques at every receiver chip on the bus? I'm immediately sceptical when someone says they have measured and compared overshoot and undershoot.

Poor grounding and/or power decoupling layout is a more likely cause than simply not having the bus terminated.

Dave.

Reply to
David L. Jones

Thank you all for the responses.

Dave, what you say is true. It's very possible that termination may have only delayed the failure so there is quite a bit more testing to be done. The reference I used for the measurments was the actual ground on the motherboard's bus driver ICs and I am using a low impedance/capacitance probe. I will let you all know if I find anything else that stands out.

Thank you again, Matt

Reply to
Matt

One thing that a lot of people forget is that the clk signal on ISA is not really a timing signal for the bus. It is typically used by chips that interface to the bus, but not as a synchronous clock. Instead, the read and write strobes are the timing signals that should be treated as clocks. Depending on how a given chip detects the edges of these "clocks" an over-shoot or under-shoot with ringing can result in double clocking. So rather than looking at the bus clock, have you looked carefully at the read and write strobes? Otherwise, I would suspect the timing rather than the signal integrity on the bus. Certainly ringing on the data and address lines is not significant unless it is so severe that it causes latchup in the chips or delays the settling time enough to cause a timing error.

The terminator likely created some timing differences. If you want to explore the matter you can try removing terminators until you find a particular one that can cause or fix the problem. With the problem taking hours to occur, this may be a difficult problem to isolate. But once you have, then you can explore the timing changes and see exactly what is happening.

Oh, like David said, your ground for a ringing measurement is *very* important. You need to pick a ground **very** close to the pin on the receiver chip and use a ***very*** short ground lead. If you remove the clip on the end of the scope probe and wrap a paper clip around the ground sleeve, you can get the probe and the clip to contact the board at the same time with a steady hand. This will give you an accurate picture of the ringing on each receiver.

Rick

Reply to
rickman

Good luck with it, sounds like it'll be a tricky one to find, but probably obvious with hindsight!

Dave.

Reply to
David L. Jones

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.