챕터 3 – “마스터 PC”와 “타깃 장치” 사이의 직렬 링크 스니핑/모니터링
직렬을 통한 하드웨어 장치와 PC 간 통신
마스터 PC(오른쪽)는 직렬 통신 장치(일반적으로 USB↔직렬 컨버터:
UART/TTL, RS-232 또는 RS-485)를 통해 타깃 장치와 통신합니다.
스니핑 PC(왼쪽)는 두 포트(COM5, COM6)를 열고 두 개의 USB-직렬 어댑터로
라인을 수동 청취합니다: COM5의 RX를 장치의 TX에, COM6의 RX를
PC의 TX에 연결합니다. GND(공통 접지)는 공유합니다.
3.1 목적과 개념
마스터 PC의 소프트웨어와 타깃 장치 사이를 오가는 바이트를 모니터·스니프하면서도 통신을 방해하지 않으려 합니다.
이는 전형적인 수동 물리적 중간자 방식으로, 두 개의 USB-직렬 어댑터가 RX만 연결되어 양 방향을 각각 “읽습니다”.
디버그, 프로토콜 분석, 로거(감사/리버스 엔지니어링)로 유용합니다.
3.2 연결(단계별)
- COM5(스니핑 PC) → 어댑터 RX를 장치 TX에 연결(타깃이 보내는 내용 청취).
- COM6(스니핑 PC) → 어댑터 RX를 PC TX에 연결(마스터 PC 명령 청취).
- 두 어댑터와 두 장치 간 공통 GND 연결(기준 공유).
- 스니핑 PC의 어댑터 TX는 연결하지 않음: 수신 전용(고임피던스)으로 선로를 방해하지 않습니다.
SerialTool에서 COM5와 COM6 두 세션을 열고,
둘 다 마스터/장치가 사용하는 것과 동일한 보드레이트/형식(예: 115200-8N1)을 설정합니다.
보드레이트를 모르면 공통 값을 시도하거나 오실로스코프/로직 애널라이저로 비트 시간을 측정하세요.
3.3 동일한 프로토콜, 다른 레벨: UART/TTL, RS-232, RS-485
비동기 직렬 프로토콜(시작, 7/8 데이터 비트 LSB 우선, 선택적 패리티, 1+ 정지)은 동일합니다.
달라지는 것은 비트가 이동하는 물리 레벨입니다:
- UART/TTL(3.3 V/5 V): 단말 신호, “1” High / “0” Low.
- RS-232: 반전되고 ± 전압(일반적으로 ±3…±12 V), 여전히 단말.
- RS-485: A/B 페어의 차동, 종종 하프 듀플렉스 멀티드롭; 공통 기준 접지 권장.
따라서 적합한 어댑터를 사용하세요:
UART에는 USB↔TTL, RS-232에는 USB↔RS-232, RS-485에는 USB↔RS-485. 프레임은 동일하지만,
전기 레벨과 토폴로지(차동/종단)는 다릅니다.
3.4 사용처(CNC, 산업 등)
이 구성은 CNC, 산업 기계, PLC/HMI, 로보틱스,
저울, POS, 센서, 계측기, 빌딩 오토메이션 등 PC/PLC가 직렬로 장치를 제어하는 시스템에서 흔합니다.
여기서 설명한 스니핑 방식은 기능 분석, 고장 진단, 명령 추적, 검증을 위해 트래픽을
모니터/스니프/디버그/로그할 수 있게 합니다.
3.5 직렬 위의 Modbus
직렬 포트는 산업에서 널리 쓰이는 마스터/슬레이브(현재는 클라이언트/서버) 프로토콜인
Modbus RTU/ASCII를 자주 운반합니다. 마스터가 요청( 코일·레지스터 읽기/쓰기 )을 보내면 장치가 응답합니다.
SerialTool에는 진단/테스트를 위한 Modbus 클라이언트가 포함되어 있으며,
주소/기능/데이터/CRC가 보이는 원시 프레임 확인에 유용한 모니터/HEX 뷰어도 제공합니다.
3.6 펌웨어 업데이트와 파라미터화
임베디드 세계에서는 펌웨어 업데이트나 타깃에 파라미터 전달에 직렬이 널리 사용됩니다.
예: 커스텀 보드의 부트로더, Arduino 같은 생태계, 다양한 MCU. 여기서 개발자는 두 가지 필요가 있을 수 있습니다:
- 타깃과 통신하는 애플리케이션을 디버그(명령, 타이밍, 오류 확인).
- 기존 프로토콜의 리버스 엔지니어링(“폐쇄형” 마스터 소프트웨어가 보드와 통신;
메시지를 스니핑해 이해한 뒤 자체 소프트웨어로 재현).
3.7 실무 노트와 도구
- 보통 두 대의 PC(마스터·스니핑)와 양방향 스니핑을 위한 최소 두 개의 USB-직렬 컨버터가 필요합니다.
- RS-232에는 RS-232 탭/컨버터를, RS-485에는 A/B 단자에 수신 전용 인터페이스를 연결
(종단과 극성 준수). 하프 듀플렉스 RS-485에서는 타이밍으로 방향을 유추합니다.
- 제어 핀(RTS/CTS, DTR/DSR, DCD, RI)은 제외했습니다; 시스템이 하드웨어 플로우 컨트롤을 쓰면 전용 프로브를 고려하세요.
- SerialTool에서 HEX 보기, 타임스탬프를 켜고 로거(텍스트/CSV/pcap)로 저장해 후분석할 수 있습니다.
요약: 직렬 프로토콜(비동기 프레임)은 같고, 물리 레벨(TTL/RS-232/RS-485)은 다릅니다.
수동 두 RX 탭핑과 SerialTool 같은 소프트웨어로 마스터 PC와 타깃 장치 간 통신을
신뢰성 있게 모니터·스니프·디버그·로그할 수 있습니다.