RS232 signaling levels used by Colibri & Iris?

What RS232 signaling (voltage) levels are used by the combination of Colibri iMX6 on a v2.0 Iris carrier board? The RS232 standard says that -25v to -3v constitute a Mark/1 bit, -3v to 3v are an unknown/invalid level and 3v to 25v constitute a Space/0 bit. I’m hoping that is is more than ±3.3v as that is not much margin beyond the invalid signal level. And if the choice of UART factors into the answer, then I’d like to know that as well because right now it is “C” that I would be looking at using, given how I see the use of “A” is discouraged and “B” has handshaking that I do not use.

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello!

The RS232 interface on the Iris carrier board operates with standard RS232 voltage levels, where the idle state of the signals ranges between 3V and 15V. This is achieved through RS232 transceivers that convert the module’s 3.3V CMOS levels to RS232 voltage levels.

Regarding UART selection on the Iris carrier board:

  • UART A is typically used as the standard console output interface for both Linux and Windows Embedded Compact operating systems.
  • UART B includes RTS and CTS signals, which are used for hardware flow control.
  • UART C does not support flow control signals.

For your specific use case with UART C, the signals are accessible on the UART-B/C RS-232 header (X14) with the following pin configuration:

  • RS232_C_RXD is on Pin 1
  • RS232_C_TXD is on Pin 7

If you need to use the UART signals at TTL logic levels instead of RS232 levels, you can disable the RS232 transceivers. This can be done by controlling the GPIOs connected to the ForceOFF# pin.

I hope this information helps you with your project!

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Iris Carrier Board | Toradex Developer Center.

As you can see in the Iris schematic, it uses the MAX3243IDBR IC to convert UART TTL signals to RS232 levels. According to the MAX3243 datasheet:
image

Are you referring to hardware flow control? If you’re not using it, you can disable it in software .

Thank you Alex. It appears that the AI answer got it wrong when it suggested that 15v signaling was used. But 5V should work for me too.

As for the handshaking, yes I was referring to RTS/CTS flow control which I won’t be using so the “C” UART seems reasonable even if “B” can have it turned off (unless you know of a reason why B is better).

On the IRIS board, the UART_B TX/RX signals are located at the same position on the 10-pin header as for UART_A, so you can use the same Serial IDC-to-DB9 cable as used for the debug UART.

That is a fair point for development, but if this works out as I hope that it might, we will be fielding a bunch of these in a specialized environment where we’ll need to fabricate custom cables for everything anyway.

Otherwise, there’s no difference between UART_B and UART_C — you can use either one (or both). In fact, UART_C also supports hardware flow control, but its RTS/CTS pins are left unconnected on the module. Similarly, you can leave the UART_B RTS/CTS pins unconnected on the IRIS board.