2
$\begingroup$

I'm trying to filter a noisy serial line that comes in to a radio (mostly as a thought excercise in line filtering). The data comes in on a RS-232 line, 9600 baud, 8n1. I've found a lot of explanations, some of them contradicting each other.

Am I correct in believing that:

  1. 9600 baud in our case (two states, mark or space) also means 9600 bits per second

  2. Maximum signal frequency is 9600 Hz (if pattern would be all 010101010)

  3. Using those 9600 baud, only 9600/10=960 characters per second can be send (each character needs 8 bits, plus one start and one stop bit)

  4. If I want to add ferrite beads to the input to filter for EMI, I not only need to take the maximum signal frequency into account, but also x harmonics to allow the signal to rise at a decent rate.

How do you estimate what kind of impedance at what frequency you need to still allow fast enough rise times?

$\endgroup$
  • $\begingroup$ Don't forget the start and stop bits, whrn you're calculating the number of characters per second. Also, be sure to check if you're actually using parity and the actual number of data bits(could be 7,8 or 9). $\endgroup$ – AndrejaKo Oct 4 '17 at 15:25
  • 1
    $\begingroup$ In the case of RS232, yes, baud==bit/s. Actually, 1 bd = 1 Symbol/s. In the case of the simple 2ASK that RS232 does, 1 Symbol carries 1 bit. In general, the number of bits per symbol might be larger. $\endgroup$ – Marcus Müller Oct 4 '17 at 15:45
4
$\begingroup$

The issue of filtering RS-232 (or any slow digital signal) is not so much the baud rate as it is the required rise and fall time of each bit.

There are two ways to quantify this rise/fall time issue: what does the RS-232 standard say or what does your RS-232 chipset and UART require? I have formulated my answer from the perspective of the former.

RS-232 control signals should maintain a rise/fall time of less than 1 ms. When operating at 19,200 baud, data signals should maintain a rise/fall time of less than 5 us. The slew rate of the rise/fall time should not exceed 30 V/uS to avoid crosstalk. Your filters must be designed to ensure these rise/fall timing constraints are met.

You did not elaborate on the type of EMI/RFI you are experiencing. Filter types commonly deployed for RS-232 signals include:

  • RC T filters (T for infiltrate and exfiltrate protection)
  • In connector ferrite plates
  • Ferrite beads (material based on filtering requirements)
  • Hybrid cable grounds (if interference is affecting RS-232 chipset)

If you are able to describe the exact nature of the interference, perhaps specific guidance could be offered.

$\endgroup$
  • $\begingroup$ As stated, it is mostly a thought experiment to gain understanding. I am currently designing a control system which will be used offshore on a buoy, so the only electronic devices around would be those that I define. I was wondering if I should add ferrite beads to the input lines, and if so, how I would go about choosing a specific type. Your answer proposes some interesting things to consider and research. $\endgroup$ – Dieter Vansteenwegen ON4DD Oct 5 '17 at 7:39
2
$\begingroup$

Maximum signal frequency is 9600 Hz (if pattern would be all 010101010)

No, your 01010101… would lead to a square wave signal, and that has an infinite spectral support, with components at every odd multiple of the symbol rate, amplitude declining with the multiple. So, no, your highest frequency is not 9600 Hz

Using those 9600 baud, only 9600/9=1066 characters per second can be send (each character needs 8 bits, plus one parity bit)

Depends on your character encoding, parity bits, as you noticed, but also flow control – your RS232 might have separate CTS / RTS lines, but more often there's start and stop bits.

If I want to add ferrite beads to the input to filter for EMI, I not only need to take the maximum signal frequency into account, but also x harmonics to allow the signal to rise at a decent rate.

The harmonics are part of the signal. The question is after how many harmonics you can attenuate without killing too much signal. Rule of thumb says 5. or 7. harmonic should be enough for digital lines, but if in doubt:

The series representation of the square wave is

$$ \frac4\pi\sum\limits_{n=1,3,5,\ldots}^{\infty}\frac{2\pi n f_{symbol}t}{n} $$

so just your own discretion!

$\endgroup$
  • $\begingroup$ Although it apparently isn't clear, I did understand about the necessary harmonic content (see point 4 which you quoted), and understand that the highest necessary frequency would be much higher than 9600Hz. But the signal frequency is 9600Hz, no? About encoding: 8n1, as stated, that's why I end up with 9600/10 (8 data bits, no parity, 1 start and stop bit). is that correct? $\endgroup$ – Dieter Vansteenwegen ON4DD Oct 5 '17 at 7:44
  • 1
    $\begingroup$ I wouldn't say "the signal frequency is", since this is not a single carrier, but a complicated spectrum; so, I'd argue there's no "single signal frequency". $\endgroup$ – Marcus Müller Oct 5 '17 at 11:45

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.