UART Troubleshooting#
What you’ll do
USB Serial(UART) 연결 문제를 진단합니다.
Prerequisites
Linux Port Setup (Ubuntu)
Next
1. 장치가 인식되지 않는 경우 (/dev/ttyKMC 없음)#
USB-UART가 인식되는지 확인:
lsusb커널에 포트가 잡히는지 확인:
ls -l /dev/ttyUSB*udev 규칙의 VID/PID가 맞는지 확인: Linux Port Setup
2. 권한 오류(Permission denied)#
Ubuntu 환경에서 Permission denied 오류는 대부분 사용자 계정이 시리얼 포트 사용 그룹(dialout)에 포함되지 않아 발생합니다.
현재 권한 확인:
ls -l /dev/ttyKMCudev 규칙과 그룹 설정 확인: Linux Port Setup
설정을 바꿨다면 로그아웃/로그인 후 다시 확인
3. 연결은 되지만 데이터 수신이 안 될 때#
포트는 열리지만 데이터가 들어오지 않거나 끊기는 경우, 하드웨어 설정(Flow Control, Baudrate) 불일치가 주원인입니다.
a) RTS/CTS 플로우 컨트롤 확인#
본 하드웨어는 데이터 신뢰성을 위해 RTS/CTS(Hardware Flow Control) 방식을 사용합니다.
시리얼 터미널이나 코드 설정에서 RTS/CTS 옵션을 반드시 활성화(Enable) 해야 합니다.
b) Baudrate 동기화 및 초기화#
본 하드웨어는 Auto Baudrate를 지원하지만, 이미 연결된 상태에서 Baudrate를 변경하면 차량 내부 제어기와 통신 속도가 엇갈릴 수 있습니다. 통신이 되지 않는다면 다음 방법으로 초기화를 진행하십시오.
USB 재연결 후 10초 대기: USB 케이블을 분리하고 최소 10초 이상 대기합니다. (10초간 USB 응답이 없으면 하드웨어의 내부적으로 UART 설정이 초기화됩니다.)
하드웨어 리셋: 보드의 리셋 버튼을 눌러 차량 제어기를 초기화합니다.
대시보드 테스트: SDK나 ROS2를 실행하기 전에, {doc}Dashboard Test </page/Setup_Test/dashboard_test> 도구로 기본 통신이 되는지 먼저 검증하십시오.
Dashboard Test에서 연결 유지/수신 여부를 먼저 확인한 뒤, SDK/ROS2로 넘어가면 원인 분리가 쉽습니다.
4. 고속 통신 불안정 (\(921{,}600\,\mathrm{bps}\) 이상)#
높은 전송 속도(\(921{,}600\,\mathrm{bps}\) 이상)에서는 케이블 품질이나 시스템 부하에 따라 통신이 불안정할 수 있습니다.
부하 분산: 명령 입력 주기나 상태 요청 주기를 낮추어 통신 여유를 확보합니다
속도 하향 조정: 통신이 계속 불안정하다면 속도를 표준 속도인 \(115{,}200,\mathrm{bps}\)로 낮춰서 테스트할 것을 권장합니다.
하드웨어 점검: 고속 통신의 안정성은 USB 케이블, 허브, 포트의 품질에 크게 좌우됩니다.