home sitemap contact us login join intranet
회사소개 제품소개 제품구매 고객지원 자료실 커뮤니티
공지사항
자주묻는질문
�P고답하기
커뮤니티 > 자주묻는질문
 
 
FAQ 목록으로
Q

[질문]DVI 연결시 자동조정을 못하나요?

topsol 2008.09.08 조회 1,262
A

우선 오토가 뭐하는 기능인지 잘 모르셔서 그런 질문을 하게 된 건데요,

이참에 자세히 알고 가세요.

 

컴퓨터내의 칼라정보는 RGB의 디지털 정보들입니다. 각각 8비트씩 세칼라니까 24비트칼라 데이터입니다. 이 칼라데이터가 PC내에서 돌아다니다가 그래픽카드까지 갈 때는 모두 디지털이고 그 디지털 데이터들은 기준신호인 클럭신호에 동기화 됩니다. 클럭이 한번 뛸때마다 모니터로 치면 하나의 점을 처리합니다.

 

그런데 가령 1680*1050 모니터라면 가로로 1680개의 클럭신호가 필요할 것입니다. 이것이 세로로는 1050개 라인이 있으니 1680개 x 1050라인=단 한장의 화면에 표시되는 클럭의 수가 나오겠지요. 그런데 모니터는 초당 60장의 화면을 보여줍니다. 그래서 1680*1050*60을 계산하면 1초에 얼마나 높은 클럭이 PC내 그래픽 카드에서 움직여야 하는지 답이 나오죠.

 

그런데 모니터의 가장 첫번째 라인부터 한 점을 뿌린다라고 알려 주는 것이 바로 수평동기신호입니다. 다음 라인의 시작에서 또 수평동기 신호를 줘야 하고 매라인마다 점의 시작신호를 모니터로 줘야 합니다. 한장의 화면이 끝나면 수직동기신호를 줘서 다음장 화면의 시작을 알립니다.

 

질문자의 의문은 지금부터 시작입니다.

예전의 모니터는 아날로그 방식의 모니터를 사용했는데 지금도 여전히 하향호환성 때문에 아날로그 모니터를 사용합니다. PC내 디지털 신호가 모니터로 전송하려면 RGB의 24가닥의 신호선 뿐만 아니라 한점을 알리는 클록신호, 한라인의 시작을 알리는 수평동기신호, 한장의 화면의 시작을 알리는 수직동기신호까지 24+1+1+1=27가닥의 신호선이 필요합니다. 너무 많죠?

 

게다가 클록을 선으로 전송하면 너무 빨라서 다 일그러져 버립니다. 그래서 어떻게 하면 가닥수를 줄일까 고민하다가 아날로그 전압으로 바꾸는 방식이 탄생된 것입니다. 각 칼라의 8가닥을 한가닥으로 바꿔서 보내면 8가닥을 일단 한가닥으로 줄일 수 있습니다. 디지털 8비트중 가장 어두운 칼라는 0000 0000 모두 0일 때 겠지요. 가장 밝은 색일 때가 1111 1111 이겠지요. 0000 0000 일 때 0V 아날로그 신호로 바뀌고, 1111 1111 일때 0.7V 아날로그 전압으로 바뀝니다. 그 사이는 0V~0.7V 사이의 256가지 전압이겠지요. 0000 0000 ~ 1111 1111 은 총 256단계입니다.   2의 8승을 수학적으로 계산하면 256입니다.

 

그런데 RGB 3개니까 256*256*256=1670만가지 칼라 조합이 되겠지요.

이 RGB가 한꺼번에 보내야 한 점의 칼라를 표현할 수 있으니 아날로그 선도 RGB 세가닥을 보내면 되겠죠. 문제는 클록과 수평,수직동기신호인데요, 이것 만큼은 한가닥씩들이니 아날로그로 바꿔바야 의미가 없겠죠. 그래서 각각 따로 보내는데, 문제는 클록입니다. 클록을 보냈는데 선으로 보내면 엄청나게 빨라서 왜곡될 수가 있습니다. 한번의 클록에 한 점을 표시하는데 이게 일그러지면 한점을 표시 못하게 되겠죠.

 

동기신호들은 매 1680개 마다 한번씩 또는 1050라인마다 한번씩 나오니까 클록보다는 느립니다. 아날로그 CRT 모니터들은 좌에서 우로 대충 시간의 흐름에 떄려넣어서 한점씩 뿌려도 그런대로 화면을 볼 수 있었지만 LCD모니터는 바둑판 처럼 격자 모양의 점들로 이루어져 있습니다. 그래서 한 격자마다 정확하게 한점을 표시하려면 결국 클록도 보내줘야 합니다.

 

그런데 과거 CRT때 정의된 아날로그 신호로는 클록이 오지 않기 때문에 LCD 모니터 입장에서 보면 황당한거죠. 그래서 AUTO라는 기능을 만들수 밖에 없었는데, 이것은 아날로그 신호가 수평동기 신호와 함께 들어 오면 수평동기신호 간의 시간 간격을 보고 미리 모니터 안에 저장해 놓은 표와 비교해서 대충 PC가 어떤 해상도 모드로 쏘고 있구나 정도만 알아차립니다.

 

화면 위치도 잘 안맞고 점도 각 격자에 1:1 대응해서 못들어가고 흐트러집니다. 그래서 이 AUTO기능을 통해서 동기신호의 시작을 기준으로 점의 시작과 갯수(1680개)등에 맞게 임의의 클록을 내 보냅니다. 이미 동기신호 간격을 보고 저장된 표를 통해 1680*1050모드일거라는 사실은 모니터는 알고 있습니다. 그래서 각 라인마다 1680개의 클록으로 RGB의 각 아날로그 신호로 부터 한점씩 가져다가 모니터 격자에 채워넣습니다.

 

문제는 모니터의 첫번째 점부터 채워 나가야 할지 아니면 그전부터, 또는 몇개 이후부터 채워야 할지는 여전히 잘 모릅니다. 왜냐하면 첫 시작점을 나타내던 수평동기신호가 입력되고 나서 블랭크(빈 시간) 타임을 조금 갖고서 데이터들이 유효하기 때문에 몇번째 데이터부터 유효한 신호인지 모릅니다.

 

클록은 모니터가 내부적으로 만들어 내긴 했는데 동기신호가 시작된 후 몇번째 부터 칼라신호라고 인정하고 모니터의 좌표(1,1)에 첫번째 데어터를 넣을 것인가...

 

모니터내의 CPU는 복잡한 계산을 합니다. 첫번째 라인도 몇번째 클록부터 뭔가 칼라신호가있더라... 두번때 라인도 몇번째 클록부터 뭔가칼라신호가 있더라...세번째도... 아 각 라인마다 가령 17번째부터 공통적으로 뭔가 같은 칼라들이 나오는군...이라고 판단하고 각라인 마다(수평동기신호마다) 17번째 점부터 LCD 모니터의 첫번째 점으로 표시하기 시작합니다.

 

이런 일련의 과정들을 AUTO라고 합니다.

 

--------------------------

 

DVI는 RGB 24가닥을 아날로그 전압으로 바꾸지 않습니다. RGB 24가닥, 수평동기신호, 수직동기신호, 심지어 클록까지 다 보내버립니다. 한가지 더 보태서 상기 예처럼 클록의 17번째부터 화면의 시작이다! 라는 정보마져 보내버립니다. 이를 디스플레이 인에이블(DE)라고 부릅니다. 따라서 RGB24+수평1+수직1+클록1+DE1 = 28가닥의 신호가 필요하군요. ㄱ,렇담 DVI케이블이 엄청 두꺼워야 하겠군요.

 

하지만 이 디지털 신호는 그냥 보내지 않습니다. 그렇다고 아날로그로도 안바꿉니다.그런데도 선의 가닥이 많지 않습니다. 방법은 시분할... 모니터로 보내야할 디지털데이터는 총 28비트이란걸 아시겠죠? 이것을 4가닥으로 만듭니다. 어떻게 만드는고 하니...

 

28비트를 4로 나누면 안나눠지죠. 하지만 4x8=32... 즉 한가닥에 8비트씩 나눠서 보내면 32비트를 동시에 보낼 수 있군요. 그런데 DVI는 한가닥으로는 클록으로 써버립니다. 결국 3가닥 밖에 안남습니다. 28비트중 한비트는 클록이므로 1비트를 빼면 27비트를 나머지 3가닥으로 보내야 하죠. 그럼 27을 3으로 나누면 한가닥으로 9비트씩 보내면 되겠군요. 그런데 실제로는 27가닥이 아니라 스페어로 몇비트 더 보냅니다. 다른 제어용도로 쓸 수 있도록 남겨놓은 거죠.

 

따라서 4가닥중 하나는 클록으로, 나머지 3가닥은 각각 10비트씩 보냅니다. 한가닥으로 어떻게 10비트씩 보낼까죠? 시리얼로 보내는 거죠. 한가닥으로 클록을 보낸다고 했습니다. 한가닥에 클록 한번 보낼 때 각 10비트선은 10번을 한가닥에 주루루룩 보내버립니다. 그래야 한점을 표시할 수 있게 되죠.  

 

근데 아까 설명할 때 클록은 선으로 보내면 일그러진다고 했잖아요? 그런데 다른 가닥들은 클록 한번 보낼 때 10번이나 더 보내야 하는데 그럼 속도는 클록 속도보다 10배나 빨라지는데 도저히 아날로그도 아니고 빨리 보내면 다 일그러지고 말텐데...

 

그래서 생각해 낸 것이 트위스트케이블 방식입니다. 4가닥의 각 가닥은 한쌍으로 갑니다. 그래서 8가닥이 되어야 합니다. 각 가닥은 선이 꼬아져 있습니다. 랜선을 보시면 트위스트입니다. 꼬아져 있다는 말이죠. 어떤 신호를 보낼때 그냥 단선으로 보내면 일그러지니까 두선으로 보내되 한선으로는 정상적인 신호를 다른 한선으로는 그 신호를 뒤집어서 보냅니다. 신호가 모양은 같은데 +/-로 신호를 뒤집고, 선을 꽈서 보내면 받는 쪽에서 정확하게

고속신호라도 신호를 꺼낼 수 있다는 사실을 발견했습니다.

 

그래서 랜선도 고속으로 보내야 하므로 각 선들은 꽈져 있는 거죠. DVI도 마찬가지입니다. 클록보다 10배나 빠른 데이터선을 보낼 수 있게 되었죠. 따지고 보면 랜에서 쓰던 방식을 카피한 거죠. 그렇게 받은 30비트 데이터는 모니터 내에 미리 준비된 30비트 가닥에 주루루 각각 하나씩 던져줍니다. 클록 한번에 시작했다 끝날 즈음엔 이미 30비트는 다 채워져 있겠죠. 클록 한번에 30비트가 전송된 셈입니다.

 

그 30비트 안에는 모니터의 색깔이 시작되는 정보까지 담겨져 있는데, AUTO가 필요할까요? 불필요하죠. DVI로 연결하면 그래서 AUTO기능은 자동으로 꺼버립니다.

 

그런데 질문자님은 이런 사실도 모른채로 DVI를 쓰는데도 화면이 구리니까 AUTO키를 누르면 화면이 좋아질거다!라고 생각하는 것 자체가 잘못입니다. 근데 질문자님께서는 어쨌건 화면이 좀 구리니까 AUTO기능을 쓰면 더 깨끗해 지지 않겠나라고 생각했을 텐데 다른 원인때문입니다.

 

LCD는 아까 격자라고 했습니다. 1680*1050 (22")모니터라면 각 라인은 1680개의 격자가 있는 것인데 만약 윈도우즈 설정에서 해상도를 1024*768로 맞춘다고 생각해 보세요. 한 라인에 1024개의 점을 쏘아 버리면 한 라인에 1680개의 격자가있는 LCD에 채워지겠습니까? 무조건 1:1로 매칭되어야 하는데요.

 

깨끗한 화면 구리지 않는 화면을 보시려면 무조건 1:1이어야 합니다. 즉 윈도우즈에서도 모니터 해상도를 정확히 알고 그 해상도에 맞춰줘야 한다는 거죠. 그런데 안맞춰줄 경우엔 1024개가 펼쳐져서 1680개의 격자에 들어갑니다. 갯수가 안맞으니 1680개로 펼쳐진 후 빈칸은 앞뒤칼라의 비스므리한 색깔로 채워집니다. 1024개가 1680개로 채워진 셈이죠. 때문에 화면이 구리게 나오는 것처럼 보입니다.

 

이런 채워넣는 일은 모니터내에서 스케일러 라는 칩에서 합니다.

그렇담 메뉴얼 찾아보니 내 모니터는 1680*1050 모니터 인데, 윈도우즈 디스플레이 설정을 보니 1680*1050 모드가 없다 이겁니다. 1:1로 맞춰줘야 깨끗한 화면을 볼 수 있는데 말이죠. 그건 그래픽카드 문제입니다. 그래픽 카드가 특정 해상도를 지원 안할 수도 있습니다. 하지만 최신 그래픽카드 드라이버를 설치하시면 그 해상도도 지원할 수 있을 것입니다. 

 

따라서 질문의 답은 DVI에서는 AUTO 기능은 있을 수 없다!  입니다.  

이 답변이 도움이 되셨나요?