0
\$\begingroup\$

I have two devices, device 1 and Device 2. The devices are approximately 60 feet apart connected to each other through a long cable. They communicate with each other at 2400bps synchronous serial using the single clock source. Device A needs a clock for input and output clocking. The current design has an "In Cable" loopback of the clock as shown below to provide both needed clocks.

Sometimes it was noticed that Data In of device A would not receive data. When this situation occurred, device 1 could check the incoming RX clock (Which should be at 2400bps) and it would be at a value that was not 2400bps. It would usually be a multiple or more of the original 2400bps clock. Values such as 4800, 7200 and other values have been seen at Device 1. Th obvious reason that data was was not coming into device 1 is that the clock was invalid for the Data (which was clocked at 2400bps).

If I try to put an O-Scope up to the clock signal into deice 1 to see what it looks like, it immediately clears up and is seen as 2400bps.

We have 20+ data paths with this configuration. Some work and some do not. Swapping cables may make bad paths work, or might make them not work. Using cables known to work between two different device might cause the path not to work. All cables are professionally made and I do not think it is a cable issue. It is unpredictable what device/cable set will work or not.

I am not an EE but have been researching this issue and I think there could be some impedance issue at device 2. The clock signal could be reflected back and forth between device 1 and 2, ultimately the RX clock IN on Device A giving improper clock signaling, and thus no Data in at Device 1.

I have read that some resistor or capacitor added in the path can cut back this issue, but I am not an EE so I am not sure if a) this is an impedance issue and b)where would I put a circuit to fix it. Someone has mentioned an inline 22.5ohm resistor to start. Someone else has mentioned anything <100ohms. At this point, I can not tell you the output impedance of device A. it is an old component and is currently undocumented.

Schematic

\$\endgroup\$
  • 2
    \$\begingroup\$ Please provide a schematic showing how "all signal lines balanced" works. What are the levels - RS232, RS422, or what? Plus, what does your cable look like in terms of impedance control? Do you use twisted pair, or is it just a 25 conductor cable? How many conductors on the cable are ground? \$\endgroup\$ – WhatRoughBeast Nov 17 '16 at 5:55
  • 1
    \$\begingroup\$ The cable type in detail please. \$\endgroup\$ – Andy aka Nov 17 '16 at 10:58
  • \$\begingroup\$ The latest test cable is Belden 8330 shielded twisted pair for both cable segments. Prior to that the long cables was multiple CAT5 TP and the short cable was shielded 25 conductor cable. The cables are shielded and carry separate signal grounds and a ground to each shell. \$\endgroup\$ – kuhnto Nov 17 '16 at 12:01
  • \$\begingroup\$ @kuhnto - (a) Thanks, but your latest comment does not explain the claim that "all signal lines balanced" - using shielded cable does not mean that the signals are balanced. So, to repeat a part of the question from WhatRoughBeast which is not answered: What are the [signal] levels [used on these cables] - RS232, RS422 or what? (b) It would really help if you can give more information about these two devices. I see you reported that device A (I guess you mean device 1) is "undocumented", but you could give us its make & model. Also for "device 2", please give make & model. \$\endgroup\$ – SamGibson Nov 17 '16 at 13:39
  • \$\begingroup\$ Sorry about that. The signaling is MIL-STD-188-114 Balanced. It is for the most part inter-operable with EIA-530. pinouts.ru/SerialPorts/eia530_pinout.shtml. Unfortuanelty we have a whole set cables we are trying. The longer of the two cables consists of three CAT-5 TP cables with one side terminated in 3 RJ-45's, and the other side terminated with a DB-25 in accordance with EIA-530. the second shorted cable is straight conductor wire terminated with a DB25 and mates to the longer cable with a Bulkhead connector. The short cable other end is with a MIL-STD circular connector. \$\endgroup\$ – kuhnto Nov 18 '16 at 18:15
1
\$\begingroup\$

Your suspicion is likely correct, you have impedance mismatch somewhere, including unbuffered clock loopback at device 2. You also omitted any information what kind of cable is in use, what impedance it has. It is likely that signal/clock edges have excessive ringing, which confuses the receiver, either double-clocking occurs, or else.

But you already have mentioned the solution. Put a 10pF cap at the Rx end, same place where you did connect your scope.

\$\endgroup\$
  • \$\begingroup\$ Apart from the capacitor, putting a series resistor in the signal/clock lines helps fighting the ringing, too. \$\endgroup\$ – Janka Nov 17 '16 at 3:55
  • \$\begingroup\$ True. A little problem is in selecting the value of that series resistor, especially if the driver impedance nor cable impedance is known (although it should be a no-brainer to ballpark it from scope traces of signal edges). And the "loopback" fork will screw things as well. \$\endgroup\$ – Ale..chenski Nov 17 '16 at 4:10
  • \$\begingroup\$ In general if you intend to try the series resistor it should go as close to the signal driver as possible. \$\endgroup\$ – Michael Karas Nov 17 '16 at 4:11
  • \$\begingroup\$ I will be in the lab today to try the resistor inline. Unfortunately I have a short time on site. \$\endgroup\$ – kuhnto Nov 17 '16 at 12:02
0
\$\begingroup\$

What is the input impedance of your scope set to when you check and it gets better?

Typical options are 1 megohm or 50 ohms (the latter usually switchable if it's an option), possibly some other options depending on scope and probes. A capacitance value is also usually listed (mine is 1 MΩ & 20 pF)

Try a resistor of that value at device 1 where you were connecting the scope probe (presumably between clock in and ground.) You might also want to replicate the capacitance to fully replicate the impedance. If you were using X10 probes that will affect the values that you were actually applying to the circuit under test.

\$\endgroup\$
  • \$\begingroup\$ I will have to check the scope impedance. \$\endgroup\$ – kuhnto Nov 17 '16 at 12:02
0
\$\begingroup\$

There are several concerns with this;

Signal quality, ESD protection , immunity on cable connection, crosstalk, Noise nearby radiated and coupled to cable. ground currents causing injected noise, RF ingress etc.

Perhaps you can define the driver, receiver chips, cable type ( UTP bundled or TP shielded etc 120 Ohm or CAT5 or whatever) and scope signals.

schematic

simulate this circuit – Schematic created using CircuitLab

Signal integrity is a common issue, although 2400 baud is easy to send asynchronously by RS-232, logic levels can be very unreliable unless terminated with some impedance near the threshold, usually Vcc/2 and often in the range < 300 Ohms or even 600 or less Pull up and 600 pull down. using R terminator SIP or DIP packages for ease of connection on board. There is also a standard driver used for controlled impedance called RS-485 which controls the signal using twisted pairs. YOu may not need this but you may need to attenuate stray noise that is on the signal and ground as well as the signal between signal and ground. This is call Common Mode and Differential noise.

Generally it is best to use Schmitt Trigger gates for receivers or something with controlled Hysteresis > the expect noise level. or filtered with an RC low pass filter or add Ferrite choke around cable. or....

\$\endgroup\$
0
\$\begingroup\$

It sounds as if you are sending data differentially end-end (is it twisted pair wiring?), but you do still need a good ground/Earth reference for the system.

I wonder if you are having a ground/Earth problem between devices. The hint is that when you connect your Oscilloscope the problem disappears.

\$\endgroup\$
0
\$\begingroup\$

I know it is a little late, but after successful testing, we redesigned the cables with 100 Ohm resistors in the clock lines. This solved the clocking issue and our first systems worked perfectly. Thanks again.

\$\endgroup\$
  • \$\begingroup\$ You can mark this as the correct answer. It will help anyone with a similar problem and (subject to user sort preference) will float the answer to the top. \$\endgroup\$ – Transistor Sep 24 '17 at 20:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.