TX·RX·GND부터 DTE·DCE까지 RS-232 배선 완전정복
TX·RX·GND부터 DTE·DCE까지 RS-232 배선 완전정복#
1장 선이 세 개뿐인데 정말 통신이 될까#
1.1 RS-232의 가장 기본적인 배선#
산업 장비 뒤쪽을 열어보면 다음과 같이 세 가닥만 연결된 경우가 있습니다.
TX
RX
GND처음 보면:
선이 세 개뿐인데 양방향 통신이 가능한가?라는 의문이 생길 수 있습니다.
가능합니다.
가장 기본적인 RS-232 통신은 다음 세 신호만으로 구성할 수 있습니다.
TX
→ 데이터를 보냄
RX
→ 데이터를 받음
GND
→ 두 장비가 전압을 판단하는 기준개념적으로는 다음과 같습니다.
장비 A 장비 B
TX ────────────────────→ RX
RX ←──────────────────── TX
GND ───────────────────── GND핵심은 한쪽의 TX가 상대방의 RX로 연결되어야 한다는 것입니다.
2장 TX는 송신, RX는 수신이다#
2.1 TX는 Transmit Data#
TX는 자신의 장비가 데이터를 내보내는 신호입니다.
예:
PC TX
↓
Controller RXPC가 다음 데이터를 전송한다고 가정합니다.
STATUS이 Byte Stream은 PC의 TX를 통해 나가 상대 장비의 RX로 들어갑니다.
2.2 RX는 Receive Data#
RX는 상대가 보내는 데이터를 받는 신호입니다.
예:
Controller TX
↓
PC RX따라서 정상적인 양방향 통신은:
A TX → B RX
A RX ← B TX형태가 됩니다.
2.3 TX와 RX라는 이름은 장비 자신을 기준으로 한다#
이 부분이 현장에서 매우 중요합니다.
장비 A의:
TX는 장비 A가 송신하는 선입니다.
장비 B에서도:
TX는 장비 B가 송신하는 선입니다.
따라서 단순히 이름이 같다고:
TX ↔ TX로 연결하는 것이 아닙니다.
일반적으로 데이터 방향을 기준으로:
TX → RX관계를 확인해야 합니다.
3장 GND는 왜 필요한가#
3.1 전압에도 기준점이 필요하다#
RS-232는 전압으로 신호를 표현합니다.
그런데 전압은 절대적인 값이라기보다 기준점과의 차이입니다.
이 기준 역할을 하는 것이 Signal Ground입니다.
개념적으로:
TX 신호 전압
=
TX와 GND 사이의 전위 차이입니다.
3.2 TX와 RX만 연결하면 항상 되는 것은 아니다#
두 장비의 기준 전위가 충분히 공유되지 않으면 수신 측이 신호를 안정적으로 판단하지 못할 수 있습니다.
그래서 일반적인 3선 RS-232 구성에서는:
TX
RX
GND를 함께 연결합니다.
3.3 GND와 보호 접지를 같은 것으로 생각하지 않는다#
여기서 주의해야 합니다.
Signal Ground와:
Protective Earth
Chassis Ground는 장비에 따라 다른 역할을 할 수 있습니다.
따라서:
GND라고 적혀 있으니
건물 접지에 아무렇게나 연결한다.와 같은 방식은 피해야 합니다.
장비 회로도와 제조사 문서를 먼저 확인해야 합니다.
4장 RS-232 배선에서 가장 많이 발생하는 실수#
대표적인 실수는 다음과 같습니다.
TX ↔ TX
RX ↔ RX입니다.
이렇게 연결하면:
장비 A
TX → 상대 TX
장비 B
TX → 상대 TX가 되어 두 장비 모두 보내기만 하고 상대 수신선에는 데이터가 들어가지 않습니다.
결과는:
완전 무응답처럼 보일 수 있습니다.
5장 그런데 왜 Straight Cable도 존재할까#
여기서 많은 초보자가 혼란스러워집니다.
앞에서는:
TX → RX라고 했는데 실제 RS-232에서는 Straight Cable도 사용하기 때문입니다.
이 문제를 이해하려면 DTE와 DCE를 알아야 합니다.
6장 DTE와 DCE는 무엇인가#
전통적인 RS-232에서는 장비를 크게 다음과 같이 구분했습니다.
DTE
Data Terminal Equipment
DCE
Data Communication Equipment대표적인 전통적 예는:
DTE
PC·Terminal
DCE
Modem입니다.
6.1 DTE의 대표적인 DB9 Pin#
전통적인 PC 계열 DTE의 DB9에서는 대표적으로:
| Pin | 기능 |
|---|---|
| 2 | RxD |
| 3 | TxD |
| 5 | GND |
| 7 | RTS |
| 8 | CTS |
가 사용됩니다.
6.2 DCE는 송수신 방향이 반대 관계가 된다#
DTE와 DCE가 서로 연결되도록 정의되어 있기 때문에 DTE와 DCE 사이에서는 Straight Cable로도 송신과 수신 방향이 맞을 수 있습니다.
예:
DTE DCE
Pin 3 TX ────────────── Pin 3 RX
Pin 2 RX ────────────── Pin 2 TX
Pin 5 GND ────────────── Pin 5 GND즉 케이블 자체에서는:
2 ↔ 2
3 ↔ 3
5 ↔ 5처럼 Straight로 연결되지만 장비 내부 역할이 반대이기 때문에 실제 신호는:
TX → RX관계가 됩니다.
7장 DTE와 DTE를 연결하면 어떻게 될까#
PC 두 대가 모두 DTE라고 가정해보겠습니다.
Straight Cable:
PC A PC B
Pin 3 TX ─────────────── Pin 3 TX
Pin 2 RX ─────────────── Pin 2 RX가 됩니다.
이렇게 하면 정상적인 데이터 전달이 어렵습니다.
그래서 송신과 수신을 Cable 내부에서 교차합니다.
PC A PC B
Pin 3 TX ─────────────── Pin 2 RX
Pin 2 RX ─────────────── Pin 3 TX
Pin 5 GND ────────────── Pin 5 GND이런 형태를 흔히 Null Modem Cable이라고 부릅니다.
8장 Straight Cable과 Null Modem Cable#
8.1 Straight Cable#
대표적인 형태:
2 ↔ 2
3 ↔ 3
5 ↔ 5전통적으로:
DTE ↔ DCE연결에 사용됩니다.
8.2 Null Modem Cable#
대표적인 3선 형태:
2 ↔ 3
3 ↔ 2
5 ↔ 5즉:
TX ↔ RX를 Cable에서 교차합니다.
전통적으로:
DTE ↔ DTE와 같은 연결에 사용됩니다.
8.3 실제 산업 장비에서는 이름보다 Pinout이 중요하다#
현장에서는:
이 장비는 DTE다.
이 장비는 DCE다.라는 Label이 없거나 제조사가 전통적인 배치를 그대로 따르지 않을 수 있습니다.
그래서 가장 안전한 판단 기준은:
장비 역할 이름보다:
실제 Pinout입니다.
9장 DB9 Pinout을 읽는 방법#
일반적인 DTE DB9 기준으로 보면:
| Pin | Signal | 역할 |
|---|---|---|
| 1 | DCD | Carrier Detect |
| 2 | RxD | Receive Data |
| 3 | TxD | Transmit Data |
| 4 | DTR | Data Terminal Ready |
| 5 | GND | Signal Ground |
| 6 | DSR | Data Set Ready |
| 7 | RTS | Request To Send |
| 8 | CTS | Clear To Send |
| 9 | RI | Ring Indicator |
단순한 장비 통신에서는 보통:
2
3
5만 사용하는 경우도 많습니다.
하지만 Hardware Flow Control을 사용한다면 RTS·CTS 등의 추가 신호가 필요할 수 있습니다.
10장 DB25에서는 Pin 번호가 다르다#
전통적인 DTE DB25에서는 대표적으로:
| 기능 | DB9 | DB25 |
|---|---|---|
| TxD | 3 | 2 |
| RxD | 2 | 3 |
| GND | 5 | 7 |
| RTS | 7 | 4 |
| CTS | 8 | 5 |
같은 TX라도 Connector에 따라 Pin 번호가 다릅니다.
따라서:
TX는 3번이다.처럼 외우면 안 됩니다.
정확한 표현은:
일반적인 DTE DB9에서 TxD가 Pin 3인 경우가 많다.입니다.
11장 같은 DB9인데 Pinout이 다를 수 있다#
산업 장비에서는 DB9 Connector를 사용하면서 전통적인 RS-232 Pinout과 다른 배치를 적용하는 사례가 있습니다.
예:
Pin 1
TX
Pin 2
RX
Pin 6
GND처럼 제조사가 독자적으로 정의할 수도 있습니다.
또한 DB9 Connector라고 해서 반드시 RS-232라는 보장도 없습니다.
같은 Connector가:
RS-232
RS-422
RS-485
CAN
제조사 전용 Interface에 사용될 수도 있습니다.
따라서 현장에서는:
Connector 모양
↓
Interface Label
↓
Manual
↓
Pinout
↓
전기적 규격순서로 확인해야 합니다.
12장 DTE·DCE를 모르면 어떻게 확인할까#
12.1 가장 좋은 방법은 Manual#
우선 장비 매뉴얼에서 다음을 찾습니다.
Serial Port
RS-232
Pinout
DTE
DCE
TxD
RxD가장 안전하고 빠릅니다.
12.2 배선도 확인#
현장 도면이 있다면:
Controller TX
→ Reader RX같은 Signal Direction이 표시되어 있는지 확인합니다.
12.3 측정이 필요하면 전압과 Signal을 확인한다#
장비가 실제로 송신하고 있다면 적절한 측정 장비로 TX Line의 상태를 확인할 수 있습니다.
다만 RS-232는 일반적인 3.3V·5V TTL UART와 전압 범위가 다를 수 있으므로 측정 장비와 방법이 RS-232 수준을 지원하는지 확인해야 합니다.
13장 Multimeter만으로 TX와 RX를 완벽하게 찾을 수 있을까#
Multimeter로 DC Voltage를 측정하면 Idle 상태의 RS-232 TX 후보를 찾는 데 참고가 될 수 있습니다.
하지만 Serial Data는 빠르게 변하는 신호이므로 Multimeter만으로 실제 Data Pattern을 분석하기는 어렵습니다.
정확한 분석에는 상황에 따라:
Oscilloscope
RS-232 Analyzer
적절한 Serial Monitor
Breakout Box같은 도구가 더 유용할 수 있습니다.
따라서:
Multimeter로 찍으면 TX/RX를 완벽히 알 수 있다.라고 단정하면 안 됩니다.
14장 Loopback Test란 무엇인가#
RS-232 점검에서 유용한 방법 중 하나가 Loopback Test입니다.
송신한 데이터가 자신의 수신으로 다시 돌아오도록:
TX
↓
RX를 연결하는 방식입니다.
예를 들어 테스트용 Serial Adapter의 TX와 RX를 Loopback시킵니다.
PC
TX ──┐
│
RX ←─┘Terminal에서:
HELLO를 보내고 그대로:
HELLO가 돌아오면 Serial Port와 송수신 경로 일부가 정상인지 확인하는 데 도움이 됩니다.
14.1 운영 장비에서 임의 Loopback하면 안 된다#
장비 Port에 무조건 TX와 RX를 Short하면 안 됩니다.
장비 구조와 Interface를 먼저 확인하고 시험용 Adapter나 허가된 환경에서 수행해야 합니다.
Loopback은 진단 방법이지 무조건 적용하는 배선법이 아닙니다.
15장 배선이 맞아도 통신 설정이 틀리면 안 된다#
다음 배선이 완벽하다고 가정합니다.
TX → RX
RX ← TX
GND ↔ GND그래도 다음 설정이 다르면 정상 통신이 어렵습니다.
Baud Rate
Data Bits
Parity
Stop Bits
Flow Control15.1 대표적인 예#
장비 A:
9600-8-N-1장비 B:
19200-8-N-1이면 Speed가 다릅니다.
또는:
장비 A
9600-8-N-1
장비 B
9600-7-E-1이면 Frame 형식이 다릅니다.
16장 배선 문제와 설정 문제는 증상이 다를 수 있다#
대표적으로:
| 증상 | 우선 확인 |
|---|---|
| 완전 무응답 | TX·RX·GND·Port |
| 송신은 보이지만 응답 없음 | TX/RX 방향·Protocol |
| 이상한 문자 출력 | Baud·Parity·Data Bit |
| 일부만 수신 | Flow Control·Buffer |
| 연결 후 특정 순간부터 정지 | RTS/CTS·Application |
| 가까운 거리 정상, 먼 거리 불안정 | Cable·Noise·Ground |
물론 하나의 증상에 여러 원인이 있을 수 있으므로 이 표는 진단의 출발점으로 사용합니다.
17장 RTS와 CTS가 필요한 경우#
모든 RS-232가 세 선만 사용하는 것은 아닙니다.
Hardware Flow Control을 사용하는 장비에서는:
RTS
Request To Send
CTS
Clear To Send를 사용할 수 있습니다.
개념적으로:
송신 장비
"보내도 될까?"
수신 장비
"보내도 된다."와 같은 흐름을 지원합니다.
실제 RS-232 Hardware Handshaking은 이보다 구체적인 전기적 Signal 동작으로 구현되지만 입문 단계에서는 이렇게 이해할 수 있습니다.
18장 RTS·CTS가 설정됐는데 선이 없으면#
Application:
Hardware Flow Control
ON인데 Cable에는:
TX
RX
GND만 있다고 가정합니다.
장비 구현에 따라 송신이 진행되지 않거나 예상과 다른 동작을 할 수 있습니다.
따라서 배선만 확인하지 말고 Serial 설정에서:
Flow Control도 반드시 확인해야 합니다.
19장 DTR과 DSR은 무엇인가#
전통적인 RS-232에서는:
DTR
Data Terminal Ready
DSR
Data Set Ready같은 제어 Signal도 사용합니다.
과거 Modem 환경에서는 장비의 준비 상태를 알리는 데 중요한 역할을 했습니다.
오늘날 단순 산업 장비에서는 사용하지 않는 경우도 많지만 일부 Legacy 장비에서는 여전히 중요할 수 있습니다.
따라서 사용하지 않는다고 임의로 제거하지 말고 제조사 Pinout을 확인해야 합니다.
20장 Ground 문제는 왜 통신을 불안정하게 만들까#
RS-232는 Single-Ended 방식입니다.
신호는 GND 기준으로 판단됩니다.
두 장비의 기준 전위 차이가 커지면 수신기가 기대하는 전압 범위를 벗어나거나 Noise Margin이 줄어들 수 있습니다.
현장에서는:
서로 다른 분전반
긴 Cable
산업용 Motor
Inverter
전원 장치
접지 상태 차이등이 영향을 줄 수 있습니다.
21장 Ground Loop도 주의해야 한다#
두 장비가 서로 다른 접지 경로를 갖고 있고 RS-232의 GND로 또 연결되면 조건에 따라 Ground Loop가 형성될 수 있습니다.
결과적으로:
Noise
통신 불안정
장비 간 전위차등의 문제가 발생할 수 있습니다.
이런 환경에서는:
절연형 Serial Converter
Optical Isolation
적절한 Ground 설계등을 검토할 수 있습니다.
다만 접지 구조를 임의로 변경하는 것은 안전 문제로 이어질 수 있으므로 설비 전기 담당자와 장비 제조사 지침을 따라야 합니다.
22장 RS-232를 너무 멀리 끌지 않는다#
RS-232는 짧은 거리의 Point-to-Point 통신에 적합합니다.
거리가 길어질수록:
Cable Capacitance
Signal 왜곡
Noise
Ground Potential Difference문제가 커질 수 있습니다.
장거리 환경에서는:
RS-422
RS-485
Fiber Converter
Ethernet Gateway등을 검토하는 편이 적합할 수 있습니다.
23장 현장 사례 — 장비를 교체했더니 갑자기 통신이 안 된다#
기존 Reader:
DCE 형태 Pinout신규 Reader:
DTE 형태 Pinout이라고 가정해보겠습니다.
기존 Cable을 그대로 재사용하면:
TX ↔ TX
RX ↔ RX관계가 되어 통신하지 않을 수 있습니다.
현장에서는:
같은 DB9인데
왜 새 장비는 통신이 안 되지?라고 생각하기 쉽습니다.
원인은 Connector 모양이 아니라 Pin Direction의 변화입니다.
24장 현장 사례 — 글자가 깨져 들어온다#
배선:
정상인데 Terminal에는:
▒▒?A▒같은 이상한 문자가 나타납니다.
이 경우 먼저 확인합니다.
Baud Rate
Data Bits
Parity
Stop Bits예:
장비
9600-8-N-1
PC
19200-8-N-1이라면 Timing이 맞지 않아 정상적인 Byte로 해석되지 않을 수 있습니다.
25장 현장 사례 — 송신은 되는데 상대가 응답하지 않는다#
가능한 흐름:
PC TX
→
장비 RX까지 정상이라고 하겠습니다.
그런데 장비의 응답이 없습니다.
확인 범위를 다음으로 확장합니다.
장비가 Command를 이해했는가?
Packet 형식이 맞는가?
Checksum이 맞는가?
Terminator가 필요한가?
장비 TX가 연결돼 있는가?
PC RX가 맞는가?즉 물리적 Serial 연결이 정상이라고 해서 상위 Protocol까지 정상인 것은 아닙니다.
26장 Packet 문제와 배선 문제를 구분하자#
다음과 같이 생각하면 편합니다.
Signal이 없다
→ 배선·Port·전기적 Interface
Signal은 있다
하지만 Byte가 깨진다
→ Baud·Frame 설정
Byte는 정상이다
하지만 응답이 없다
→ Protocol·Command
Command를 받았다
하지만 장비 동작이 없다
→ Application·장비 제어이 구분만 잘해도 불필요하게 Cable과 Program을 동시에 수정하는 일을 줄일 수 있습니다.
27장 간단한 Python Serial Test#
시험 환경에서 pySerial을 사용해 Serial Port를 열 수 있습니다.
import serial
ser = serial.Serial(
port="/dev/ttyS0",
baudrate=9600,
bytesize=8,
parity="N",
stopbits=1,
timeout=1
)
ser.write(b"TEST\r\n")
response = ser.readline()
print(response)
ser.close()이 예제에서 중요한 것은:
TEST라는 명령 자체가 아닙니다.
실제 장비에서는 반드시 제조사 Protocol을 확인해야 합니다.
28장 Serial Port를 두 프로그램이 동시에 사용할 수 있을까#
일반적인 Serial Port는 하나의 Application이 점유하는 방식으로 사용하는 경우가 많습니다.
예를 들어 Terminal Program이 이미:
COM3을 열고 있다면 다른 Program이 같은 Port를 열지 못할 수 있습니다.
따라서:
Port Open Failed
Access Denied
Device Busy같은 오류가 발생하면:
다른 Process가 Port를 사용하고 있는가?도 확인합니다.
29장 USB-to-RS232 Adapter도 확인해야 한다#
최근 PC에는 DB9 Serial Port가 없는 경우가 많아 USB-to-RS232 Adapter를 사용합니다.
이때 다음 요소가 추가됩니다.
USB
Driver
Virtual COM Port
USB-to-Serial Chip
RS-232 Transceiver따라서 장애 원인이 Serial Cable만이 아닐 수도 있습니다.
확인:
Driver 정상?
COM Port 번호?
USB 장치 인식?
실제 RS-232 Level 지원?
TTL Adapter를 잘못 사용한 것은 아닌가?입니다.
30장 TTL Serial Adapter와 RS-232 Adapter는 다르다#
매우 중요한 부분입니다.
다음 두 제품은 같은 Serial Adapter가 아닙니다.
USB-to-TTL UART
USB-to-RS232TTL UART는 흔히:
3.3V
5VLogic Level을 사용합니다.
RS-232는 다른 전압 체계를 사용합니다.
따라서 TTL UART Adapter를 RS-232 Port에 직접 연결하면 정상 통신하지 않을 뿐 아니라 장비에 따라 전기적인 문제가 발생할 수도 있습니다.
반드시 Interface 규격을 확인합니다.
31장 주차관제 현장에서는 어떻게 적용될까#
예를 들어 기존 Reader와 Controller가 다음 구조라고 하겠습니다.
RFID Reader
↓
RS-232
↓
Gate ControllerReader를 교체한 뒤 통신이 되지 않습니다.
다음 순서로 확인합니다.
신규 Reader가 정말 RS-232인가?
↓
Pinout이 기존과 같은가?
↓
DTE/DCE 역할은 같은가?
↓
Baud 설정은 같은가?
↓
Flow Control은 같은가?
↓
Protocol은 같은가?같은 Connector를 사용한다고 기존 Cable을 무조건 재사용하면 안 되는 이유입니다.
32장 RS-232 현장 점검 순서#
현장에서 무응답 장비를 만났다면 다음 순서로 확인할 수 있습니다.
1. 장비 전원
↓
2. Interface 종류
↓
3. Connector
↓
4. Pinout
↓
5. TX / RX / GND
↓
6. DTE / DCE
↓
7. Straight / Null Modem
↓
8. Baud / Data / Parity / Stop
↓
9. Flow Control
↓
10. 실제 송수신 Signal
↓
11. Byte Stream
↓
12. Protocol이 순서의 핵심은 아래 계층부터 위쪽으로 올라가는 것입니다.
33장 RS-232 배선 체크리스트#
| 확인 항목 | 점검 내용 |
|---|---|
| Interface | RS-232가 맞는가 |
| Connector | DB9·DB25 또는 제조사 전용 |
| Pinout | Manual과 일치하는가 |
| TX | 상대 RX로 연결되는가 |
| RX | 상대 TX로 연결되는가 |
| GND | Signal Ground가 연결되는가 |
| DTE/DCE | 장비 역할 확인 |
| Cable | Straight 또는 Null Modem |
| Baud | 양쪽 동일 |
| Data Bit | 양쪽 동일 |
| Parity | 양쪽 동일 |
| Stop Bit | 양쪽 동일 |
| Flow Control | RTS/CTS·XON/XOFF·None |
| Protocol | Command·Packet 구조 확인 |
34장 보안에서도 Serial Port를 무시하면 안 된다#
RS-232 자체에는 다음 기능이 없습니다.
암호화
인증
접근 제어특히:
Network 장비 Console
산업 Controller
Maintenance Port가 RS-232로 노출돼 있다면 물리적 접근만으로 중요한 설정이나 정보를 확인할 수 있는 시스템도 있습니다.
따라서:
제어반 잠금
Console Port 접근 제한
작업자 권한 관리
Maintenance 기록
장비 설정 Backup등이 필요합니다.
35장 Serial-over-IP로 바꾸면 보안이 해결될까#
아닙니다.
Serial-over-IP Gateway는 Serial 데이터를 IP Network로 전달해주는 장비입니다.
RS-232
↓
Gateway
↓
Ethernet
↓
TCP/IP로 바뀐다고 자동으로 암호화되는 것은 아닙니다.
Gateway가:
TLS
VPN
Authentication
ACL등을 지원하는지 별도로 확인해야 합니다.
오히려 기존에 물리적으로만 접근 가능했던 Serial Port가 Network에서 접근 가능한 Interface로 바뀔 수 있으므로 보안 범위가 넓어질 수도 있습니다.
36장 흔히 하는 잘못된 판단#
36.1 DB9니까 RS-232다#
아닙니다.
Connector와 Interface는 별개입니다.
36.2 TX는 항상 Pin 3이다#
아닙니다.
전통적인 DTE DB9에서 대표적인 배치일 뿐입니다.
36.3 RS-232는 무조건 TX와 RX를 교차한다#
항상 그렇지는 않습니다.
DTE와 DCE 관계에 따라 Straight Cable을 사용할 수 있습니다.
36.4 GND 없이도 데이터 두 선만 연결하면 된다#
안정적인 RS-232 통신을 위해서는 신호 기준을 함께 고려해야 합니다.
36.5 통신이 안 되면 Baud만 바꿔보면 된다#
배선, Interface, Pinout, Flow Control, Protocol 등 더 많은 요소가 존재합니다.
36.6 USB Serial이면 모두 같다#
아닙니다.
TTL UART Adapter와 RS-232 Adapter는 전기적 Interface가 다릅니다.
37장 자기 점검#
37.1 TX와 RX는 어떻게 연결해야 하는가#
통신 방향 기준으로 한 장비의 TX가 상대 장비의 RX로 들어가야 합니다.
DTE·DCE 관계와 Cable 내부 배선에 따라 Straight 또는 Cross 형태가 될 수 있습니다.
37.2 Straight Cable과 Null Modem Cable의 차이는 무엇인가#
대표적인 3선 기준으로 Straight는 동일 Pin을 연결하고, Null Modem은 TxD와 RxD를 교차합니다.
37.3 GND가 필요한 이유는 무엇인가#
두 장비가 RS-232 신호 전압을 판단할 수 있는 공통 기준을 제공하기 위해서입니다.
37.4 DB9 Pin 2와 3은 항상 Rx와 Tx인가#
아닙니다.
전통적인 DTE DB9의 대표적인 배치일 뿐이며 제조사별 Pinout을 확인해야 합니다.
37.5 USB-to-TTL Adapter를 RS-232 Port에 사용할 수 있는가#
동일한 Interface로 취급하면 안 됩니다.
TTL UART와 RS-232는 전기적 신호 수준이 다르므로 적절한 RS-232 Transceiver 또는 RS-232 Adapter가 필요합니다.
38장 이 글을 마치며#
RS-232 장애에서 가장 먼저 기억해야 할 것은 매우 단순합니다.
송신은
상대의 수신으로
수신은
상대의 송신으로
그리고
공통 기준 GND그러나 실제 현장에서는 여기에 DTE·DCE라는 개념이 추가됩니다.
그래서:
TX → RX니까
무조건 Cable을 Cross한다.라고 생각하면 안 됩니다.
실제 판단 순서는 다음과 같습니다.
Interface 확인
↓
Pinout 확인
↓
DTE / DCE 확인
↓
Cable 구조 확인
↓
TX / RX / GND 확인
↓
Serial 설정 확인
↓
Signal 확인
↓
Byte Stream 확인
↓
Protocol 확인특히 다음 네 가지를 기억하면 됩니다.
TX와 RX라는 이름은 각 장비 자신을 기준으로 한 송신과 수신 방향입니다.
DTE와 DCE의 관계에 따라 Straight Cable 또는 Null Modem Cable이 필요할 수 있습니다.
DB9이나 DB25는 Connector 형태이며, Connector만으로 실제 통신 Interface와 Pinout을 단정해서는 안 됩니다.
배선이 정상이어도 Baud·Parity·Flow Control 또는 상위 Protocol이 다르면 통신하지 않을 수 있습니다.
결국 RS-232 배선을 이해한다는 것은 Pin 번호를 외우는 것이 아닙니다.
한 Byte가 어느 장비의 TX에서 출발해 어떤 Cable과 Pin을 지나 상대의 RX에 도착하는지 추적할 수 있는 것이 핵심입니다.