BRIEFING
Chrome Web Serial용 USB-UART 어댑터: FT232RL vs CP2102
결론
Chrome의 Web Serial API로 USB-UART 어댑터를 사용할 때 FT232RL과 CP2102 계열은 모두 사용할 수 있다. 브라우저 입장에서는 특정 USB-UART 칩보다 운영체제에 정상적인 serial port로 노출되는지가 더 중요하다.
브라우저에서 두 종류 모두 운영체제의 serial port로 노출되는지가 핵심이다. 전기적 연결 선택은 별개의 문제다. FT232RL을 썼다는 이름만으로 1.8V·3.3V·5V 출력이나 보호회로를 확정할 수 없고, CP2102라는 이름만으로 그 반대도 확정할 수 없다. 인용한 두 제조사의 칩 데이터시트는 이번 검토에서 읽히지 않았다. 연결 전에는 구매할 정확한 모듈의 회로도·점퍼가 TX/RX에 미치는 영향·핀 배치와 연결 대상의 허용 I/O 전압을 확인해야 한다.
Chrome Web Serial에서 칩 차이는 크지 않다
Web Serial API는 웹페이지가 운영체제에 노출된 serial port를 읽고 쓸 수 있게 한다. USB-UART bridge가 OS 드라이버를 통해 virtual serial port로 잡히면 FT232RL과 CP2102 모두 같은 방식으로 접근할 수 있다.
기본 흐름은 navigator.serial.requestPort()로 사용자가 포트를 선택하고 port.open({ baudRate: 115200 })으로 여는 방식이다.
Chrome 문서 기준으로 Web Serial은 ChromeOS, Linux, macOS, Windows의 데스크톱 Chrome에서 지원된다. requestPort()는 사용자 동작에 의해 호출되어야 하며, Web Serial 자체는 secure context에서만 사용할 수 있다. 일반 웹 배포라면 HTTPS가 필요하다.
Android에서는 데스크톱 Chrome과 같은 형태의 Web Serial 지원을 전제로 하면 안 된다. USB serial을 다루려면 WebUSB와 polyfill 같은 별도 경로가 필요할 수 있다.
FT232RL과 CP2102 비교
| 항목 | FT232RL | CP2102 |
|---|---|---|
| Chrome Web Serial | 가능 | 가능 |
| 최대 baud rate | 칩 데이터시트와 실제 모듈 양쪽 확인 필요 | 칩 데이터시트와 실제 모듈 양쪽 확인 필요 |
| 기본 UART I/O 전압 | 실제 모듈의 VCCIO·level 선택 회로 확인 필요 | 실제 모듈의 VDD·signal level 확인 필요 |
| 여러 로직 레벨 대응 | 해당 판매 모듈의 점퍼·TX/RX 실제 전압 확인 필요 | 구매할 모듈의 I/O 전압·레벨 변환 회로 확인 필요 |
| hardware flow control | 구매할 모듈에 필요한 CTS/RTS/DTR 핀이 실제로 나오는지 확인 | 구매할 모듈에 필요한 CTS/RTS/DTR 핀이 실제로 나오는지 확인 |
| 범용 디버깅 어댑터 | 확인된 전압·핀·보호회로가 대상 장비에 맞을 때 후보 | 확인된 전압·핀·보호회로가 대상 장비에 맞을 때 후보 |
| 단순 TX/RX/GND 연결 | 실제 제품 핀과 대상 전압이 맞으면 후보 | 실제 제품 핀과 대상 전압이 맞으면 후보 |
여기서 중요한 것은 칩 데이터시트와 실제 모듈 구현을 구분하는 것이다. 같은 FT232RL이나 CP2102를 사용해도 모듈 제조사가 어떤 핀을 꺼냈는지, 로직 레벨 선택 회로를 넣었는지, 보호회로를 넣었는지에 따라 실사용성이 크게 달라진다.
5V/3.3V 표기의 함정
USB-UART 모듈 상품명에 5V/3.3V라고 적혀 있다고 해서 반드시 UART 신호 레벨까지 5V와 3.3V 사이에서 전환할 수 있다는 뜻은 아니다.
일부 모듈의 5V/3.3V 표기는 공급 전원 핀을 뜻할 수도 있다. UART TX/RX 신호 레벨과 연결 대상의 허용 전압은 상품명만으로 추정하지 말고 실제 모듈 회로도·칩 데이터시트·대상 기기의 핀 사양을 함께 확인해야 한다. 이번 검토에서는 CP2102의 정확한 최대 속도와 전압 한계를 원문 데이터시트로 재확인하지 못했다.
비교 대상 FT232RL 판매사 페이지는 점퍼로 5V·3.3V·1.8V 전원과 신호 및 일부 제어핀 레벨을 선택할 수 있고 보호회로가 있다고 판매자가 설명한다. 이번 검토가 회로도나 해당 실물을 측정한 것은 아니므로 이를 구매할 FT232RL 모듈의 검증된 TX/RX 전압·보호성능으로 옮기지 않는다. 여러 전압의 장비를 다룬다면 칩 명칭보다 정확한 제품의 회로도와 점퍼 상태를 확인하고 대상 장비의 전원·신호 허용 범위에 맞는지부터 판단해야 한다. 이 확인 없이 저전압 UART 장비에 연결하지 않는다.
어떤 것을 고르는 것이 좋은가
FT232RL 모듈을 고를 조건
- 1.8V, 3.3V, 5V UART를 모두 다룰 가능성이 있다.
- 여러 종류의 SBC, MCU, 네트워크 장비를 한 어댑터로 디버깅한다.
- 대상 장비에 필요한 baud rate와 실제 모듈·드라이버의 지원범위를 확인해야 한다.
- RTS/CTS/DTR 같은 제어선을 쓸 가능성이 있다.
- 가격보다 범용성·보호회로·구성 유연성이 중요하다.
이 조건은 FT232RL 제품을 살펴볼 이유가 되지만 해당 모듈의 TX/RX·제어선 전압, 실제 점퍼 동작과 보호회로가 확인되기 전에는 구매 우위나 연결 안전을 보장할 수 없다. 필요한 전압이 지원되지 않으면 부품명과 관계없이 다른 검증된 레벨 변환 제품을 선택한다.
CP2102 계열을 고를 조건
- 대상 장비가 거의 항상 3.3V UART다.
- TX/RX/GND 정도만 사용한다.
- 작은 크기와 단순한 연결이 더 중요하다.
- 대상 장비의 통신 속도에 실제 모듈·드라이버가 적합한지 확인했다.
이 경우에도 실제 CP2102 모듈의 I/O 전압, 대상 장치 허용 전압, 노출 핀과 필요한 통신속도가 확인됐다면 후보가 된다. 이 자료만으로 어느 칩·모듈이 항상 더 안전하거나 빠르다고 결론내리지는 않는다.
CP2102N·CP2102C와는 구분해야 한다
CP2102라는 이름으로 판매되는 기존 모듈과 CP2102N·CP2102C 같은 다른 칩/보드 조합을 한데 묶으면 안 된다. 이전 본문에 있던 CP2102C의 VIO 최저 1.71V 수치는 이번 검토에서 해당 제조사 원문을 읽어 확인하지 못했으므로 설계·구매 기준으로 제시하지 않는다. 필요한 신호 전압은 해당 칩의 읽을 수 있는 최신 데이터시트와 정확한 모듈 회로로 확인해야 한다.
따라서 새 PCB를 직접 설계하거나 최신 부품을 선택하는 문제라면 FT232RL vs 고전적 CP2102 비교 결과를 그대로 적용하지 말고 CP2102N/CP2102C 같은 최신 부품의 데이터시트를 다시 비교해야 한다.
이 Briefing의 결론은 해당 FT232RL 범용 모듈과 일반적인 CP2102 USB-UART 모듈 중 하나를 구매해 Chrome Web Serial 및 하드웨어 디버깅에 사용하는 상황을 기준으로 한다.
관련 문서
- 웹 터미널
- 브라우저 터미널의 PTY·WebSocket·보안
출처
- FTDI, FT232R USB UART IC Datasheet v2.12\nhttps://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R_V212.pdf
- Silicon Labs, CP2102/9 USB-to-UART Bridge Controller Data Sheet\nhttps://www.silabs.com/documents/public/data-sheets/CP2102-9.pdf
- Silicon Labs, CP2102C Data Sheet\nhttps://www.silabs.com/documents/public/data-sheets/cp2102c-datasheet.pdf
- Chrome for Developers, Read from and write to a serial port\nhttps://developer.chrome.com/docs/capabilities/serial
- MDN, Web Serial API\nhttps://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API
- 가치창조기술, FT232RL USB-TTL 시리얼 변환 모듈 5V/3.3V/1.8V 로직\nhttps://m.vctec.co.kr/product/ft232rl-usb-ttl-%EC%8B%9C%EB%A6%AC%EC%96%BC-%EB%B3%80%ED%99%98-%EB%AA%A8%EB%93%88-5v33v18v-%EB%A1%9C%EC%A7%81-usb-serial-conveter-ft232rl-5v33/16583/