TFT LCD 모듈 사양을 살펴본 적이 있다면, 아마도 “RGB 인터페이스”가 전기 인터페이스로 나열된 것을 보았을 것입니다. 이는 3.5인치에서 7.0인치 범위에서 가장 일반적인 디스플레이 인터페이스 중 하나이지만, 많은 엔지니어들이 호스트 시스템에서 실제로 요구하는 것에 대해 혼란스러워합니다. SPI나 MCU 인터페이스와 달리, RGB 인터페이스는 디스플레이 측에 프레임 버퍼가 없습니다. 이 단일 차이가 모든 것을 형성합니다: 어떤 MCU나 MPU가 필요한지, PCB를 어떻게 배선할지, 그리고 디자인이 실제로 작동할 수 있을지 여부입니다.
이 기사는 RGB 인터페이스가 실제로 무엇인지, 신호가 어떻게 작동하는지, MCU 및 LVDS 인터페이스와 어떻게 비교되는지, 그리고 병렬 RGB를 지원하는 CDTECH TFT 모듈이 어떤 것이 있는지를 설명합니다. 끝까지 읽으면 RGB 인터페이스가 귀하의 디자인에 적합한 선택인지, 아니면 대신 LVDS를 고려해야 하는지 알 수 있을 것입니다.
RGB 인터페이스란 무엇인가? 디스플레이 데이터에 대한 병렬 접근 방식
RGB 인터페이스는 때때로 병렬 RGB, TTL RGB 또는 DPI(디스플레이 병렬 인터페이스)라고 불리며, 픽셀 색상 데이터를 병렬 데이터 라인을 통해 전송하는 디지털 디스플레이 인터페이스입니다. 표준 24비트 구성의 경우, 이는 빨강 8개, 초록 8개, 파랑 8개로 총 24개의 데이터 라인을 의미하며, 최소 4개의 동기화 신호: HSYNC, VSYNC, DE(데이터 활성화), PCLK(픽셀 클럭)가 필요합니다.
RGB와 MCU 또는 SPI와 같은 인터페이스를 구분짓는 주요 차이점은 다음과 같습니다: RGB 디스플레이는 내부 프레임 버퍼나 GRAM이 없습니다. 디스플레이는 단일 픽셀도 기억하지 않습니다. 당신, 또는 더 정확히 말하면 당신의 호스트 프로세서는 패널이 기대하는 새로 고침 속도로 매 프레임의 모든 픽셀을 지속적으로 전송해야 합니다. 데이터를 전송하는 것을 중단하면 화면이 빈 화면이 되거나 마지막으로 수신된 줄에서 멈춥니다. CRT 모니터처럼 생각해 보세요: 호스트는 비디오 스트림을 생성할 책임이 있으며, 패널은 실시간으로 도착하는 것을 단순히 표시합니다.
반면 MCU 및 SPI 인터페이스는 디스플레이 드라이버 IC 내부의 GRAM에 명령 및 픽셀 데이터를 전송합니다. 디스플레이 컨트롤러는 패널 새로 고침을 내부적으로 처리합니다. 이는 변경된 픽셀만 업데이트하고 나머지는 그대로 두는 것을 의미합니다. 이는 MCU에 더 쉽지만 전체 화면 애니메이션이나 비디오에는 훨씬 느립니다. RGB 인터페이스는 MCU 오버헤드를 원시 대역폭으로 교환합니다: 60Hz에서 전체 프레임을 문제없이 전송할 수 있지만, 호스트 프로세서는 실시간 비디오 신호를 생성할 수 있어야 합니다.
RGB 인터페이스 신호 라인: HSYNC, VSYNC, DE, 및 PCLK
모든 병렬 RGB 인터페이스는 공통의 타이밍 및 데이터 신호 세트에 의존합니다. 이러한 신호를 이해하는 것은 보드 초기화 중 디버깅에 매우 중요합니다. 잘못 구성된 타이밍 매개변수 하나가 빈 화면을 바라보게 만들 수 있습니다.
데이터 라인 (R[7:0], G[7:0], B[7:0]): 이들은 픽셀 색상 값을 전달합니다. 전체 24비트 구성은 24개의 모든 라인을 사용하며 1,670만 가지 색상을 표시할 수 있습니다. 많은 설계가 낮은 비트 깊이를 사용하여 핀 수를 줄입니다:
- RGB888 (24비트): 색상 채널당 8비트, 1,670만 색상. 24개의 모든 데이터 라인을 사용합니다.
- RGB666 (18비트): 색상 채널당 6비트, 262K 색상. 18개의 데이터 라인을 사용합니다. 각 채널의 하위 2비트는 GND에 연결하거나 플로팅 상태로 둘 수 있습니다.
- RGB565 (16비트): 빨강 5비트, 초록 6비트, 파랑 5비트, 65K 색상. 16개의 데이터 라인을 사용합니다. 핀 수가 제한된 임베디드 시스템에서 매우 일반적입니다.
PCLK (픽셀 클록): 이 클록의 상승 또는 하강 엣지에서 각 픽셀의 데이터가 전송됩니다. 필요한 PCLK 주파수는 다음과 같이 계산됩니다: PCLK = 총_수평_픽셀 x 총_수직_라인 x 새로 고침_비율. 60Hz에서 800 x 480 디스플레이의 경우 약 25~33MHz가 필요할 수 있으며, 이는 대부분의 임베디드 MPU의 능력 내에 있습니다.
HSYNC (수평 동기): 각 라인의 끝을 표시합니다. 라인의 마지막 픽셀 이후, 컨트롤러는 HSYNC 펄스를 발행하고 디스플레이는 다음 라인을 위해 열 포인터를 왼쪽 가장자리로 재설정합니다.
VSYNC (수직 동기): 각 프레임의 끝을 표시합니다. 프레임의 마지막 줄 이후에 컨트롤러는 VSYNC 펄스를 발행하고, 디스플레이는 행 포인터를 상단으로 재설정합니다.
DE (데이터 활성화): 일부 패널은 HSYNC/VSYNC 대신 또는 추가로 DE 모드를 사용합니다. DE는 활성 픽셀 영역에서 활성-하이이며, 블랭킹 간격 동안에는 낮습니다. 많은 임베디드 설계는 타이밍 컨트롤러 구성을 단순화하기 때문에 DE 모드를 선호합니다.
RGB vs. MCU vs. LVDS: 어떤 인터페이스가 귀하의 설계에 적합한가
RGB, MCU 및 LVDS 중에서 선택하는 것은 네 가지 요소에 따라 달라집니다: 디스플레이의 크기, 보드와 패널 간의 거리, 호스트 프로세서의 능력, 그리고 제품의 EMI 여유입니다. 다음은 실용적인 비교입니다:
| 특징 | RGB (Parallel) | MCU (8080/6800) | LVDS |
|---|---|---|---|
| 신호 유형 | 병렬 TTL (24-28선) | 읽기/쓰기 제어가 있는 병렬 | 직렬 차동 쌍 |
| 전형적인 와이어 수 | 20~28 신호선 | 12~16 신호선 | 4~8 신호선 (1-2 쌍 + CLK) |
| 최대 케이블 길이 | 15-20 cm (왜곡 및 EMI에 의해 제한됨) | 20-30 cm | 1-5 미터 |
| 전형적인 해상도 | 최대 800×480, 일부 1024×600 | 최대 480×320 | 최대 1920×1080 |
| 프레임 버퍼 | 호스트 RAM에만 | 디스플레이 GRAM (드라이버 IC) | 호스트 RAM에만 |
| 호스트 요구 사항 | LCD 컨트롤러 필요 (MPU 또는 고급 MCU) | GPIO 또는 FSMC가 있는 모든 MCU | LVDS 송신기 또는 LVDS 출력이 있는 SoC 필요 |
| EMI 성능 | 높음: 24라인 동시 전환 | Moderate | 낮음: 차동 신호가 방사선 제거 |
| 가장 적합한 | 컴팩트 임베디드 HMI, IoT 패널, 핸드헬드 장치 | 간단한 계측기 디스플레이, 저해상도 GUI | 산업용 제어 패널, 차량 대시보드, 긴 케이블 구간 |
| 전형적인 CDTECH 크기 범위 | 2.9″에서 10.1″ | 1.9″에서 4.3″ | 5.0″에서 15.6″ |
더 간단하게 생각할 수 있는 방법입니다. 디스플레이가 4.3인치 미만이고 GUI가 기본적이라면 MCU가 종종 충분하고 설계하기도 더 쉽습니다. 3.5에서 7.0인치 범위에 있고 부드러운 60Hz 애니메이션이 필요하며 프로세서에 LCD 컨트롤러가 있다면 RGB 인터페이스가 실용적인 선택입니다: 빠르고 직접적이며 임베디드 생태계에서 잘 지원됩니다. 디스플레이가 7인치 이상이거나 케이블 길이가 20cm를 초과하거나 차량 또는 의료 제품에 대한 EMC 인증을 통과해야 하는 경우 LVDS를 사용하세요. LVDS의 차동 신호는 긴 거리에서 병렬 RGB와 함께 발생하는 소음 문제를 해결합니다.
CDTECH RGB 인터페이스 TFT LCD 모듈 크기별
CDTECH에서 제가 일하는 팀은 컴팩트 2.9인치 바형 디스플레이부터 10.1인치 패널까지 RGB 인터페이스를 갖춘 다양한 TFT LCD 모듈을 제공합니다. 모든 모델은 표준 또는 산업 온도 등급의 IPS 또는 TN 기술을 사용합니다. 전체 라인업은 다음과 같습니다:
| 크기 | 모델 | 유형 | 해결 | 명도 | Temp Range | 노트 |
|---|---|---|---|---|---|---|
| 2.9″ 바 | S029HQ05NS | IPS | 320×120 | 300 nits | -20/70°C | 바형 |
| 2.9″ 바 | S029GQ07NS | 테네시주 | 320×120 | 300 nits | -20/70°C | SPI/MCU도 지원 |
| 3.5″ | S035GQ09NS/HS/ES | 테네시주 | 320×240 | 350/500/800 니트 | -20/70°C | 3가지 밝기 단계, SPI/MCU도 지원 |
| 3.5″ | S035HQ55NS/HS/ES | IPS | 320×240 | 350/500/1000 니트 | -20/70°C | 최대 1000 니트의 햇빛 가독성 |
| 3.5″ | S035CHV85EN | IPS | 320×480 | 700 니트 | -20/70°C | 세로 방향 |
| 3.9″ 바 | S039QWQ01HS | 테네시주 | 480×128 | 500 니트 | -20/70°C | 바형 |
| 3.9″ 바 | S039HWQ12HS | IPS | 480×128 | 500 니트 | -20/70°C | 넓은 시야각 바 |
| 4.0″ | S040HWV08NN | IPS | 480×480 | 350 니트 | -20/70°C | 정사각형 형식 |
| 4.3″ | S043HWQ50HG/EG | IPS | 480×272 | 500/1000 니트 | -30/85°C | 산업용 온도, 햇빛 옵션 |
| 4.3″ | S043HWV94NS/HS/ES | IPS | 800×480 | 350/500/1000 니트 | -30/85°C | 넓은 온도, 3가지 밝기 옵션 |
| 4.3″ 바 | S043HWV104EN | IPS | 800×130 | 800 니트 | -20/70°C | 바 타입, 고휘도 |
| 4.6″ 바 | S046QWV11HS | 테네시주 | 800×320 | 550 니트 | -20/70°C | 바형 |
| 4.6″ 바 | S046HWV14EA | IPS | 800×320 | 700 니트 | -20/70°C | 넓은 시야각 바 |
| 5.0″ | S050BWV105ES | IPS | 800×480 | 1000니트 | -30/85°C | 산업용 온도, 햇빛 가독성 |
| 5.0″ | S050HWV18NS/HS/ES | IPS | 800×480 | 350/500/1000 니트 | -20/70°C | 3가지 밝기 단계 |
| 5.0″ | S050QWQ06NG/HG/EG | 테네시주 | 480×272 | 300/500/950 니트 | -20/70°C | 예산 친화적인 옵션 |
| 5.8″ | S058HWV08HS | 테네시주 | 800×320 | 500 니트 | -20/70°C | 중형 와이드스크린 |
| 6.3″ 바 | S063BWV01HN | IPS | 800×280 | 500 니트 | -20/70°C | 바형 |
| 6.5″ 바 | S065BWS07HG | IPS | 1024×400 | 600 nits | -20/70°C | 고해상도 바 타입 |
| 7.0″ | S070SWV49NG/HG/EG | 테네시주 | 800×480 | 350/700/1000 니트 | -20/70°C | 인기 있는 7″ 플랫폼 |
| 7.0″ | S070QWV75ND | 테네시주 | 800×480 | 350 니트 | -30/85°C | 넓은 산업용 온도 |
| 7.0″ | S070SWV169ED | IPS | 800×480 | 1000니트 | -20/70°C | 듀얼 모드: RGB 및 LVDS |
| 8.0″ | S080QSV26EA | 테네시주 | 800×600 | 1000니트 | -20/70°C | 4:3 비율, 고휘도 |
| 10.1″ | S101QWS68HD | IPS | 1024×600 | 500 니트 | -20/70°C | 가장 큰 RGB 모델 |
테이블을 이동하면서 RGB 인터페이스의 최적 지점이 3.5인치에서 7.0인치 범위임을 확인하세요. 7.0인치를 초과하면 대부분의 제품이 LVDS로 이동하며, S080QSV26EA와 S101QWS68HD만 RGB에 남아 있습니다. 이는 의도적입니다: 병렬 RGB는 핀 수와 신호 무결성으로 인해 높은 해상도에서 관리하기가 더 어려워집니다.
RGB 인터페이스를 위한 실용적인 설계 고려사항
PCB 레이아웃 및 신호 무결성
25에서 33 MHz에서 동시에 전환되는 24개의 데이터 라인은 방사 방출의 원인이 됩니다. 몇 가지 레이아웃 습관은 첫 번째 통과에서 EMC 테스트에 실패하지 않도록 도와줍니다:
- RGB 트레이스 길이를 일치시키고, 특히 PCLK에 대한 데이터 라인을 주의하세요. 클럭과 데이터 간의 스큐가 1~2ns를 초과하면 패널 끝에서 샘플링 오류가 발생할 수 있습니다.
- RGB 트레이스 아래에 고체 접지 평면을 사용하세요. 평면의 분할을 가로지르거나 스위칭 전원 공급 장치 근처로 라우팅하지 마세요.
- 오버슈트와 링잉을 줄이기 위해 각 데이터 라인의 소스 끝에 시리즈 종단 저항기(22~33옴)를 추가하세요.
- 패널이 리본 케이블을 통해 연결된 별도의 보드에 있는 경우, 데이터 라인 그룹 사이에 접지선을 교차 배치하세요. 예를 들어, GND-R7-R6-R5-R4-GND-R3-R2-R1-R0-GND와 같이 배치하여 크로스토크를 최소화하세요.
케이블 길이 제한
표준 FFC 또는 FPC 케이블을 통한 병렬 RGB의 실제 한계는 약 15~20cm입니다. 그 이상에서는 클럭과 데이터 라인 간의 스큐가 제어 불가능해지고, 케이블이 안테나처럼 작동하기 시작합니다. 기계적 설계로 인해 더 긴 길이가 필요하다면 RGB를 강제로 사용하지 마세요. LVDS, 여기서 차동 신호는 미터 길이의 케이블을 훨씬 적은 EMI로 쉽게 처리합니다.
새로 고침 속도 계산
PCLK가 충분히 빠른지 확인하려면 이 공식을 사용하세요:
PCLK = H_total x V_total x Refresh_Rate
H_total은 활성 수평 픽셀과 수평 백 포치, 프론트 포치 및 동기화 폭을 포함합니다. 일반적인 800 x 480 패널에서 60Hz의 표준 블랭킹 간격을 사용할 경우, H_total은 약 1056이고 V_total은 약 525입니다. 이는 약 33.3 MHz에 해당합니다. LCD 컨트롤러의 최대 주파수가 25 MHz인 경우, 50 Hz로 낮추거나 더 작은 블랭킹 간격을 가진 패널을 선택해야 할 수 있습니다.
전원 시퀀싱
RGB 디스플레이 모듈은 일반적으로 논리(VCC, 일반적으로 3.3V)와 백라이트(VLED, LED 문자열 구성에 따라 9V에서 20V까지)용으로 별도의 전원 레일을 가지고 있습니다. 올바른 순서로 전원을 켜십시오: VCC 먼저, 그 다음 RGB 신호(고-Z로 구동되거나 유효한 데이터로 구동될 수 있음), 그리고 마지막으로 백라이트입니다. 올바른 시퀀스를 따르지 않으면 부팅 시 하얀 플래시가 발생하거나 극단적인 경우 드라이버 IC에 래치업 손상이 발생할 수 있습니다.
RGB에서 LVDS로 전환할 시기
RGB 인터페이스를 성공적으로 사용하고 제품이 작동한다면 변경할 이유가 없습니다. 그러나 병렬 RGB를 초과했으며 LVDS를 살펴봐야 할 신호는 다음과 같습니다:
- 해상도 목표가 1024×600을 초과합니다. 60Hz에서 1280×800의 PCLK는 70 MHz를 초과하며, 병렬 TTL 신호는 신중한 종단 및 평형화 없이는 보기 좋지 않습니다.
- 보드와 디스플레이 사이의 케이블 길이가 20cm를 초과합니다. LVDS는 바로 이 문제를 해결하기 위해 설계되었습니다.
- EMC 사전 적합성을 진행 중이며 RGB 버스가 가장 큰 방출원입니다. LVDS로 전환하면 다른 변경 없이 방사 방출을 10~15 dB 줄일 수 있습니다.
- 프로세서에 28개의 여분 GPIO가 없으며 핀 다중화가 악몽이 되고 있습니다. 4선 LVDS 링크(1 클럭 쌍 + 단일 링크용 3 데이터 쌍)는 많은 핀을 확보해 줍니다.
S070SWV169ED와 같은 일부 CDTECH 모듈은 동일 패널에서 RGB와 LVDS를 모두 지원하여 깔끔한 마이그레이션 경로를 제공합니다: LVDS로 하나의 보드를 설계하고 개발 중에는 RGB 모드에서 동일 패널을 사용하며, 생산을 위해 LVDS로 전환합니다.
자주 묻는 질문
내 MCU에는 LCD 컨트롤러가 없습니다. RGB 인터페이스 디스플레이를 여전히 사용할 수 있나요?
아니요, 직접적으로는 아닙니다. RGB 인터페이스는 호스트가 HSYNC, VSYNC, DE 및 PCLK가 포함된 연속 비디오 신호를 생성해야 합니다. STM32F4 또는 PIC32와 같은 표준 마이크로컨트롤러는 이 주변 장치를 가지고 있지 않습니다. 세 가지 옵션이 있습니다: LCD 컨트롤러가 있는 MCU로 전환하기 (ESP32-S3, LTDC가 있는 STM32F7 또는 많은 NXP i.MX RT 부품과 같은), 타이밍 생성을 처리하는 외부 RGB-to-LVDS 브리지 칩을 추가하기, 또는 자체 GRAM이 있는 MCU 인터페이스 디스플레이로 전환하여 호스트 측 컨트롤러가 필요하지 않게 하는 것입니다.
RGB 인터페이스로 구동할 수 있는 최대 해상도는 얼마인가요?
실제로 60Hz에서 약 1024×600 해상도가 필요하며, 이는 대략 50~55 MHz의 PCLK를 요구합니다. 그 이상에서는 병렬 버스에서 신호 무결성이 실제 문제로 발생합니다. 일부 애플리케이션 프로세서는 병렬 RGB를 통해 1280×800을 지원할 수 있지만, 매우 조밀한 레이아웃, 직렬 종단 및 일반 제품이 허용하는 것보다 짧은 케이블이 필요할 것입니다. 1280×800 이상의 해상도에는 LVDS 또는 MIPI DSI가 표준 선택입니다.
RGB 출력을 LVDS로 변환할 수 있나요, 아니면 그 반대도 가능한가요?
네, 그리고 이것은 실제로 일반적인 디자인 패턴입니다. TI SN75LVDS83B 또는 Toshiba TC358762XBG와 같은 전용 브리지 IC는 병렬 RGB를 LVDS(송신 측)로 변환하고, TI DS90CF386과 같은 장치는 LVDS를 다시 병렬 RGB(수신 측)로 변환합니다. 이러한 브리지는 투명합니다: LCD 컨트롤러를 RGB 타이밍에 맞게 설정하면 브리지가 데이터를 LVDS 쌍으로 직렬화합니다. CDTECH는 LVDS 패널과 RGB 지원 MPU를 사용하고자 하는 고객을 위해 이 변환을 처리하는 어댑터 보드도 제공합니다.
내 RGB 디스플레이가 깜빡이거나 찢어지는 이유는 무엇인가요?
RGB 디스플레이에서 깜박임은 보통 세 가지 중 하나로 귀결됩니다. 첫째, PCLK 극성을 확인하세요: 일부 패널은 상승 에지에서 샘플링하고, 다른 패널은 하강 에지에서 샘플링하며, 이를 잘못 설정하면 잘못 샘플링된 픽셀이 발생합니다. 둘째, 블랭킹 타이밍 매개변수(프론트 포치, 백 포치, 동기 폭)가 패널 데이터 시트와 정확히 일치하는지 확인하세요; 유사한 패널에서 얻은 근사 값은 거의 작동하지 않습니다. 셋째, 무작위 깜박임 대신 찢어짐이 보인다면, LCD 컨트롤러가 프레임 버퍼를 읽는 동안 업데이트되고 있을 가능성이 높습니다. 그래픽 스택에서 vsync 동기화된 버퍼 교환을 활성화하거나 더블 버퍼링 방식을 사용하세요.
RGB565 vs RGB888: 색상 차이가 실제로 중요해지는 때는 언제인가?
산업용 HMI, 계기판 및 대부분의 임베디드 GUI의 경우, RGB565(65K 색상)는 완벽하게 적합하며 8개의 GPIO 핀을 절약합니다. 인간의 눈은 일반적인 시청 거리에서 5인치 또는 7인치 패널에서 색상 깊이가 부족한 것을 거의 구별할 수 없습니다. UI에 부드러운 사진 그라디언트가 포함되거나 정확한 브랜드 색상이 필요하거나 디스플레이가 충분히 크고(8인치 이상) RGB565에서 밴딩이 눈에 띄게 되는 경우 RGB888(16.7M 색상)이 중요합니다. 하나의 실용적인 접근 방식: PCB를 RGB888을 지원하도록 설계하되 프로토타입 단계에서는 상위 5/6/5 비트만 채웁니다. 색상 밴딩이 신경 쓰인다면 다음 보드 회전에서 나머지 8라인을 추가하세요.
RGB 인터페이스 TFT 모듈이 필요한 디자인 작업 중이신가요? 제가 CDTECH에서 일하는 팀은 2.9인치 바 디스플레이부터 10.1인치 패널까지 20개 이상의 병렬 RGB 모델을 제공하며, 밝기 옵션은 최대 1000 니트, 산업 온도 범위는 -30도 C까지 가능합니다. 맞춤형 FPC 길이, 커넥터 방향 및 터치 패널 통합도 가능합니다. [email protected]으로 연락 주시면 적합한 제품을 찾는 데 도움을 드리겠습니다.


답글쓰기