Usb To TTL 케이블을 통해 Usb to Usb 케이블 만들기
포스트
취소

Usb To TTL 케이블을 통해 Usb to Usb 케이블 만들기

개요

과거 티앤원과 함께 프로그램과 장비간 통신을 위해서 시리얼 통신 사용하여 장비와 통신하여 결과물을 산출하는 프로그램 개발이였다. 레포지토리나, 자세한 구현 내용에 대해서는 대외비 이므로 설명이 불가능 하지만 프로젝트 명은 Mono(C#)을 이용하여 의학 장비 UI 및 애니메이션 개발이다. 해당 프로젝트에서 시리얼을 통해 타 장비와 통신을 해야하고, RS232 케이블을 통해 주고 받다 보니 일반 PC에서도 테스트하기에 많은 어려움이 있었다. 그래서 Usb to Usb 테스트 케이블이 필요 했고, 이야기를 하니 만들어 주셨다..(?) 그렇게 2년 동안 시리얼 통신을 하면서 시리얼 통신이 어떻게 이뤄지고, 케이블이 어떤 원리로 동작하는지, 0과 1 데이터를 주고 받기 위한 표준을 알게 되었다.

어떻게 동작하는가?

사실 데이터 통신 케이블과 커넥터 2가지로 존재 한다. 데이터 통신 케이블은 흔히 랜선이나, 광 케이블, TTL 등 케이블이 존재하고, 최종적으로 엔드포인트에서 데이터를 0과 1로 변환하는 트랜시버가 존재한다. 어떻게든 한다면 광케이블을 시리얼 통신으로 사용도 가능하며, TTL이나 USB로 사용되는 케이블을 트랜시버를 통해 만들수도 있다. 즉 특정 케이블을 특정 신호로 변환이 가능한 트랜시버의 존재나 드라이버가 존재 한다면 충분히 가능하다.

USB to TTL 장비 모양
USB TO TTL

해당 장비는 TTL 케이블을 USB 신호로 변환 해주는 트랜시버가 존재 한다. TTL은 총 4가닥의 케이블이 존재 한다. 각각의 케이블은 GND, PWR, RX, TX가 존재 한다. PWR는 타겟 장비에게 전원을 공급하기 위해서 존재하며, GND는 접지를 위해 존재 하며, RX와 TX는 주고 받는 장비간 통신을 해당 장비는 TTL 케이블을 USB 신호로 변환 해주는 트랜시버가 존재 한다. TTL은 총 4가닥의 케이블이 존재 한다. 각각의 케이블은 GND, PWR, RX, TX가 존재 한다. PWR는 타겟 장비에게 전원을 공급하기 위해서 존재하며, GND는 접지를 위해 존재 하며, RX와 TX는 데이터를 주고 받기 위한 회선이다.

그래서 Usb to TTL 장비를 2개를 사서 서로 TTL 끼리 짝이 맞게 이어주게 된다면 트랜시버를 통해 각자 변환이 되어서 동작하게 된다.

케이블 연결은 어떤 순서로 하는가?

케이블은 총 4가지가 있기 때문에 4가지 모두 연결을 해주어야지 동작한다. GND는 GND끼리, PWR는 PWR 끼리 연결하고, RX와 TX의 경우는 RX는 TX 연결하고, TX는 RX에 연결 해야한다. 왜냐하면 RX와 TX는 데이터 전송 케이블 이기 때문이며, A와 B가 있다고 할 때 A가 데이터를 전송하면 B의 입장에서는 데이터를 수신하기 때문이다.

USB to USB 커스텀한 모습
USB TO USB

그 외

반드시 Usb to Usb 케이블을 만들기 위해서는 Usb to TTL을 이용하는것은 아니다. 오히려 비추천 한다. 왜냐하면 대부분의 Usb to TTL의 장비는 중국산으로, 케이블을 잘못 사는 경우 윈도우 10에서는 정상적으로 드라이버를 인식하지만, 11 에서는 인식을 못하는 경우를 보고 말았다. 그래서 Usb to TTL 은 최고의 선택은 아니지면 가격이 많이 저렴하고, 만들기 간편하므로 최선의 선택이다.

해양시추장비 통합 운용제어 시스템 및 HILS 기반 검증시스템 개발을 진행 할 때 시리얼 케이블이면서 usb to usb가 필요 해서 Usb to RS232 암 케이블과 Usb to RS232 수 케이블 2개가 이미 학교에 있어서 두개를 바로 연결해서 사용했다. 엄청 간편하고 1~2만원 정도 케이블에 투자 가능하다면 좋은 선택지 인것 같다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Pipe를 이용한 다른 프로그램간 통신

numato의 Serial와 GPIO 통신 모듈 사용기