It's certainly not going to work in that configuration, and Line Jammed is the likely outcome, but slightly surprised that there's "no attempt by the 6854 to transmit' (I'd expect the idle condition to be OK, but then for it to see an immediate collision each time it tries to transmit).I did a side by side visual comparison of the components and one thing did strike me as odd, I have a 33pF capacitor in C23 rather than 10nF - I wonder if this is causing the problem? I think the 3db cutoff for 10nF is in the order of 16kHz or so, a 33pF is going to be in the 15MHz range, so perhaps it is filtering out the clock from the +5V reference?
The way that IC95 circuit is intended to work is that the top comparator output goes low for a valid '0' level on the data lines, while the bottom comparator goes low for a valid '1' level; these are open-collector outputs and so the two outputs connected together with the pullup R61 are a wired-OR arrangement, low if the data lines are in any valid state, high if they are not. However, of course the transitions from 0 to 1 aren't instantaneous so that circuit on its own would give glitches every time there is a transition on the data input; the capacitor C23 acts to remove those glitches. The open collector drive means the capacitor is delaying the change from "valid" to "invalid" but has minimal effect on the change in the other direction. So you want a time-constant that's greater than the expected transition time but preferably less than a bit time (as the collisions it's supposed to be detecting may only last 1 bit). Ideally of course the capacitor value would be larger on longer networks, but that's not practical, so the value chosen is a compromise. It's not quite the 10us that T = RC would give you for 1K and 10nF, since it's pulled up to 5V and only needs to reach the threshold of the IC91 input, but it's a few microseconds. Your 33pF is going to give a delay of only a few nanoseconds, not enough!
So what I would expect here is that IC95 outputs are high when the network is idle (termination voltage is - deliberately - less than the threshold for valid data), then go low for the duration of a packet transmission; yours will be low with glitches due to the too-small capacitor. Probably most easily observed by watching the state with this station idle and other stations on the network talking to each other. When this station tries to transmit, you'd expect it to turn on the 75159 and start transmitting the flag, then immediately you get a glitch on the collision detect, nCTS goes high, and it turns off the 75159 again.
The first criterion for starting to transmit is that the data-in (RxD, pin 3 on the 6854) is high for 15 bit times. With no other traffic on the network and correct termination, RxD should be permanently high. nCTS at this point should be high also (but I think it isn't actually checked at this point). nRTS then goes low to start transmission, and nCTS is meant to go low as a result - via the long route of the 75159 turning on, driving a valid level onto the data lines, this valid level being detected by IC95, inverted twice through IC91 and arriving back at 6854 pin 28. If that doesn't happen, line jammed. Similarly, if it does go low but subsequently glitches high, that looks like a collision and transmit is aborted. Any of these failures will give Line Jammed, though the latter two look like collisions and will get retried, so slightly longer timeout than if the line never seems to go idle in the first place.
Statistics: Posted by arg — Wed Feb 21, 2024 9:46 am