디스플레이

[디스플레이] Video Synchronize (Vsync, Hsync, DE)

스테고사우르스 2023. 1. 7. 20:40

디스플레이에는 수많은 픽셀이 있습니다.

 

그럼 0과 1로 들어오는 데이터로 화면을 어떻게 구현할까요?

 

오늘 배울 부분은 화면을 출력할때 sync를 맞춰주는 것입니다.

 

 

 

Vsync (Vertical Synchronize): 한 프레임이 시작될 때 시작 지점을 나타내는 신호

Hsync (Horizontal Synchronize): 한 line이 시작될 때 시작 지점을 나타내는 신호

DE (Data Enable) : 실제 데이터가 입력됨을 나타내는 신호

 

화면에는 굉장히 많은 픽셀들이 있습니다.

 

그리고 화면의 세로줄은 line(줄) 단위로 나눌 수 있습니다.

 

글로는 이해가 잘 안되기 때문에 그림으로 표현해보겠습니다.

 

 

 

Vsync 한주기마다 화면이 한 장면씩 출력됩니다.

 

Vsync 한 주기에는 수 백 line 이상이 있는데요,

이 line은 Hsync 주기의 개수와 같습니다.

 

Hsync 한 주기 안에는 실제로 데이터가 들어옴을 나타내는 신호인 DE가 출력되고,

DE가 active인 구간에는 실제 RGB data가 출력됩니다.

 

 

이제 Full HD (1920 x 1080), 60Hz 기준으로 볼까요?

 

60Hz이므로  1초당 60장의 화면이 출력됩니다.

즉, 1초에 60개의 Vsync가 나온다는 뜻이죠.

 

하나의 Vsync 안에는 Hsync가 1080개 있을겁니다.

Full HD (1920 x 1080)는 1080 line이 있기 때문이죠.

 

Hsync의 active 구간에는 DE가 출력되고,

DE가 active일 때는 1920개의 RGB data가 출력됩니다.

 

 

이때, timing diagram 상에서 Hsync와 DE의 아귀가 딱 맞지 않은 것을 확인하셨나요?

 

이유는 Blank pixel 때문입니다.

 

실제 패널은 데이터가 입력되어 보여지는 부분과 아무런 신호도 들어오지 않는 blank pixel이 존재합니다.

 

신호의 delay를 비롯하여 구동 시 발생할 수 있는 오차를 줄이기 위해

여유를 두고 신호를 입력합니다.

 

역시 글보다는 그림이 이해에 더 도움이 되겠죠?

 

 

BP: Back Porch
FP: Front Porch

 

이처럼 Vsync와 Hsync가 1인 구간 앞뒤로 Porch가 존재합니다.

이 부분이 바로 blank 구간입니다.

 

이렇게 blank 구간을 빼고 나면 최종적으로 빗금친 구간이

실제로 화면이 출력되는 Active 구간이 되겠죠.

 

 

이렇게 Video Sync에 대해 알아보았는데요,

다음 글에서는 VESA spec에 맞춰서 실제로 구현해보겠습니다.