USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

안녕하십니까? 추석연휴는 잘 보내고 계신지요? 벌써 추석 연휴도 대체휴일만 남겨두고 있네요. 이번 포스팅에서는 MCU 펌웨어 개발이나 윈도우 응용프로그램으로 직렬(시리얼)통신을 수행하는 GUI를 개발함에 있어서 반드시 필요한 USB-Serial Controller 드라이버 설치법에 대해서 알아보도록 하겠습니다.

USB-Serial Controller는 PC의 USB와 접속해 외부와 통신이 가능하도록 직렬(시리얼)통신 신호를 변환해주는 역할을 수행합니다. 보다 자세하게 말씀드리면, USB-Serial Controller를 통해서 물리적인 TTL의 통신 신호를 USB 신호로 변환해주거나 그 반대의 역할을 동시에 수행한다고 할 수 있습니다.

USB-Serial Controller에 대해서 조금 더 부연설명을 하자면, 보통 USB-Serial Controller를 USB-UART Converter, USB-Serial Converter 등으로 부릅니다. 단, USB-RS232 Converter, USB-RS422 Converter, USB-RS485 Converter 등과는 물리적인 신호 레벨이 다르기 때문에 반드시 구분하셔야만 합니다.

한편, 보통의 경우에는 이러한 USB-Serial Controller는 윈도우 운영체제에서 자동으로 그 드라이버를 찾아 인식합니다. 하지만, 간혹 자동으로 인식되지 않을 경우에 이 포스팅을 참조하시면 도움이 될 것입니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

위의 사진은 국내 전자부품 전문 온라인 쇼핑몰인 디바이스마트에서 아주 오래전에 구매한 제품명도 모르는 USB-Serial Controller입니다. 케이블 한쪽에는 USB 단자와 함께 외부로 입출력되는 직렬 통신 신호의 레벨을 TTL 레벨의 UART 신호로 변경해주는 회로가 내장된 커넥터부분이 보이고, 반대편에는 시험용 기판이나 핀헤더 등에 연결하기 쉽도록 핀헤더 소켓으로 처리되어 있습니다.

보다 자세하게 USB-Serial Controller 케이블의 핀헤더 소켓으로 처리된 부분을 설명드리면, 다음과 같은 배선으로 구성되어 있습니다.
· 적색선 - +5VDC 출력 단자
· 흑색선 - 0VDC 출력 단자(GND)
· 백색선 - RX 단자(UART 신호 수신)
· 녹색선 - TX 단자(UART 신호 송신)

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

위의 그림은 PC에 USB-Serial Controller를 연결한 후 제어판의 장치 관리자에서 정상적으로 드라이버가 인식되지 않는 모습입니다. 정상적으로 드라이버가 설치되어 장치가 식별되면, USB-Serial Controller는 별도의 가상 COM포트로 인식되는데, 아직 드라이버를 찾지 못한 상황이라 이와 같은 경고를 확인할 수 있습니다.

여기서 한 가지 문제점이 있습니다. 해당 USB-Serial Controller의 제품명이나 모델명을 안다면, 제조사 홈페이지나 구글링을 통해서 드라이버를 설치하면 되지만, 지금과 같은 제품명이나 모델명을 식별할 수 없을 경우에는 그야말로 '짬에서 나오는 바이브'가 필요합니다.

통상적으로 USB-Serial Controller는 Prolific사의 PL-2303 시리즈의 IC나, Microchip사, Analog Device사의 IC가 주로 적용되어 사용됩니다. 그런데, 제 경험상 국내에서는 Prolific사의 PL-2303 시리즈를 대부분 사용하기 때문에 일단 Prolific사의 드라이버를 설치해주면 거의 95%이상 드라이버를 설치할 수 있습니다.

그럼 Prolific사의 홈페이지에 접속해 PL-2303 시리즈의 USB-Serial Controller IC의 드라이버를 다운로드 받아 설치하도록 하겠습니다. Prolific사의 공식 웹사이트는 아래에 링크를 걸어두었으니 확인하시기 바랍니다.

아래의 그림은 Prolific사의 공식 웹사이트에 접속한 모습입니다. 웹사이트 상단 메뉴에서 'Products Application'을 클릭하고 이어서 팝업되는 메뉴에서 [SIO (Smart-IO)]-[USB to UART/Serial/Printer] 순으로 클릭합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

그럼 아래와 같이 웹사이트가 전환되는데, 아래의 그림에서와 같이 웹사이트 하단에 있는 Popular Downloads:의 하위 목록에 있는 '· Windows: PL2303 Windows Driver Download'의 링크를 클릭합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

그럼 또 다시 아래의 그림과 같이 웹사이트가 전환되면서, PL-2303 시리즈의 IC에 맞는 Windows 운영체제 버전별 통합 드라이버팩을 다운로드 받을 수 있는 화면이 나타납니다. 아래의 그림을 참조하여 웹사이트 상단에 있는 Download Driver Setup Program: 하단의 표에서 'Standard Driver'를 다운로드 받습니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

다음으로 다운로드 받은 압축파일을 압축해제한 다음 아래의 그림과 같이 'PL2303-Prolific_DriverInstaller_v1200.exe'의 설치 실행프로그램을 실행합니다. 설치 실행프로그램을 실행하기에 앞서 PC에 USB-Serial Controller가 연결된 상태라면, USB 커넥터를 PC USB 단자에서 반드시 분리해줍니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

실행된 설치 실행프로그램에서 설치에 앞서 준비과정을 처리하는 동안 잠시 기다립니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

설치에 필요한 모든 준비가 완료되면, 아래의 그림과 같이 설치 프로그램의 화면이 변경됩니다. 여기서 [Next >] 버튼을 클릭하여 설치를 본격적으로 진행합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

PL-2303 시리즈 IC 전체에 해당하는 모든 드라이버가 통합된 통합 드라이버 자동설치 프로그램으로 알아서 모든 드라이버에 대한 정보를 설치합니다. 설치 실행프로그램이 모든 설치 절차를 끝마칠 수 있도록 잠시 기다립니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

설치가 완료되면, 아래의 그림과 같이 설치 프로그램이 변경됩니다. 아래의 그림을 참조하여 [Finish] 버튼을 클릭하여, 모든 설치를 안전하게 종료합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

PC에 통합 드라이버가 모두 설치된 상태이기 때문에 앞서 PC에서 분리했던 USB-Serial Controller를 다시 연결해줍니다. 그럼 아래의 그림과 같이 '드라이버 소프트웨어 설치' 안내창이 자동으로 팝업되어 나타나며 드라이버를 자동으로 인식 / 설치합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

제 PC에서는 Prolific USB-to-Serial Comm Port(COM4)로 설치되었다고 나타납니다. 여기서 괄호안에 나타난 'COM4'는 추후 PC의 시리얼 터미널 프로그램에서 연결할 가상 COM 포트의 번호가 되니 참고합니다.

그럼 정상적으로 USB-Serial Controller가 설치가 되었는지 한 번 더 확인하는 작업을 해보도록 하겠습니다. 아래의 그림과 같이 앞서 다운로드 받은 설치관련 프로그램 폴더에서 'PL2303_CheckChipVersion_v1006.exe'를 실행합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

아래의 그림과 같이 'Check PL-2303 chip version v1006'이 실행되면, 앞서 드라이버가 설치된 가상 COM 포트 번호로 COM 포트를 설정한 다음 [Check] 버튼을 클릭합니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

정상적으로 USB-Serial Controller의 드라이버가 설치가 된 상태라면, 아래의 그림과 같이 프로그램 하단 터미널 창에 'This is a PL-2303 XA / HXA chip'이라는 문구가 나타납니다. 여기서 나타나는 문구는 실제 USB-Serial Controller에 내장된 PL-2303 IC의 부품번호에 따라 다르게 나타날 수 있으니 참고하시기 바랍니다.

USB 시리얼 포트 드라이버 - USB silieol poteu deulaibeo

참고로 Prolific사에서는 드라이버 다운로드 페이지 중앙에 'NOTE:'로 별도 공지해 놓은 내용을 바탕으로, Windows 8/8.1/10의 경우 PL-2303HXA와 PL-2303X의 IC는 공식적으로 지원하지 않는다고 합니다. 또 Windows Vista, XP, 2000, 98, ME의 경우에는 PL-2303 시리즈 통합 드라이버에 대한 기술지원을 중단한 상태입니다. 이에 따라 Prolific사는 공식적으로 PL-2303HXD (HX Rev D) 혹은 PL-2303TA의 IC를 사용하도록 권고하고 있습니다.

즉, 위의 내용을 모두 종합하였을 때, 제가 설치한 PL-2303 XA / HXA IC는 Windows7에서만 사용할 수 있다는 얘기가 됩니다. 역시 개발에 있어서는 아직까지 Windows7만한 윈도우 버전도 없는 것 같네요. 한편, 새로운 설계에 PL-2303 IC를 적용 중이시라면, 반드시 PL-2303HXD나 PL-2303TA의 IC 중에서 적용하시기 바랍니다.

포스팅을 함께 알아본 USB-Serial Controller 설치 방법! 어떠셨나요? 전자계통에서 연구개발직으로 근무하거나 이와 연동하는 PC 응용 프로그램을 개발하시는 분, 혹은 이와 같은 분야에서 공부를 하시는 학생분들에게는 나름 유용할 포스팅이 아닐까 싶습니다.

그럼 개발간에 꼭 필요한 USB-Serial Controller를 이용하여 여러분 모두 이루고자 하는 개발에 성공하시길 기원하겠습니다. 저는 이만 물러갑니다...