6. VGA Peripheral (1)

[VGA]

) Video Graphics Array

) R(RED), G(GREEN), B(BLUE) // R - 3bit, G - 3 bit, B - 2bit

) 두 개의 싱크 시그널(동기화 신호)가 있다. - 수평(H_SYNC)과 수직(V_SYNC)
> 즉,  5개의 아날로그 시그널이 존재합니다.

 

래스터 스캔(Raster Scan)

) 두 싱크 신호가 동작하는 방식.

) 좌상단 부분에서 픽셀 하나씩을 우측으로 차례로 뿌리고 한 줄 끝나면 다음줄로 가서 다시 뿌리는 방식으로 진행해서 한 모니터에서 모든 진행이 끝나면 다시 처음 좌상단 부분으로 돌아와서 이 행동을 반복합니다.

) H_SYNC : 신호가 모든 부분에서 발생하는 것이 아니라 한 줄의 끝에 다다랐을 때 이 신호가 발생함에 따라 다음 줄로 넘어갈 수 있도록 한다.

) V_SYNC : 마찬가지로 매 신호가 아닌 맨 마지막 줄에서 이 모니터에 픽셀을 다 썼음을 알려주는 신호이다. 신호가 발생하면 맨 처음 좌상단 부분으로 돌아가게 한다.

) 어느 시점에 신호를 주는지에 따라 해상도와 주사율이 결정됩니다.

ex1) H_SYNC가 640번에 한 번씩 발생하면 가로로 640픽셀이, V_SYNC가 480번에 한 번씩 발생하면 세로로 480픽셀이 있어 해상도는 640 X 480로 결정이 됩니다.

 

파란색 부분은 실제 그림이 나오는 영역이고 하얀 부분은 싱크 신호가 발생하는 영역입니다.

실제 싱크 신호가 나오는 영역은 Sync Pulse이고 그 영역의 전후는 여유 시간으로 Front Porch와 Back Porch라고 합니다.

가로로 640 픽셀이 아닌 640 + 16 + 96 + 48 = 800 픽셀이 됩니다.

세로도 마찬가지로 480이 아닌 실제 Vertical 영역은 525가 됩니다.

따라서, 640 X 480의 60Hz라고 한다면, 800 X 525 X 60 = 25,200,000의 클락 사이클을 갖게 됩니다.

 

 

[VGA Peripheral In SoC]

) VGA를 SoC와 연결하기 위해서는 당연 히 VGA 케이블이 필요합니다. 이 케이블을 통해 SoC에서 나오는 신호를 모니터에 띄울 수 있게 합니다.

) 모니터는 두 영역으로 나뉘게 되는데 Text Region과 Image Region으로 나뉩니다.

 

 

[AHB VGA Peripheral Architecture]

- 총 5 가지의 요소

) 1. AHB interface

) 2. VGA interface

) 3. Image Buffer For Displaying Imags

) 4. Text Console For Displaying Texts

) 5. Multiplexer(MUX)

 

 

VGA Interface는 H_SYNC, V_SYNC, R, G, B만 내보내는 것이 아닌, 내부에 주소 값을 보내기도 합니다. 

 

Image Buffer는 그림 영역에 무슨 타입, 어떤 색깔이 저장되어야 하는지에 대한 메모리를 가지고 있다.

 

 

 

) 래스터 스캔으로 픽셀을 뿌려주게 됩니다.

) 예로 (x, y) = (0, 0)이라는 값이 VGA Interface에서 Text Console로 들어가게 됩니다. 그렇게 되면 Text Console 내부에 있던 (0, 0)에 해당하는 글자를 파악하 그 부분에 뿌려줄 Text Color를 리턴해서 VGA Interface에 다시 들어가게 됩니다. 그렇게 되면 해당하는 색깔이 아웃풋 Color로 나오게 됩니다. 이를 차례차례 뿌려주게 되면 모니터에 보이게 될 것입니다. 그림에서의 영역 또한 마찬가지로 적용이 됩니다.

) 만일, Color 값 자체를 변경하고 싶다면 AHB Interface를 통해 메모리에 값을 변경시켜주면 되겠습니다.

 

 

 

 

 

/////////////////////////////////////////////

수정중

 

 

'IDEC > Cortex - M0' 카테고리의 다른 글

8. Interrupt Mechanism  (0) 2023.07.24
7. VGA Peripheral (2)  (0) 2023.07.24
5. Timer / GPIO / 7-Segment Peripherals  (0) 2023.07.19
4. AHB UART Peripheral  (0) 2023.07.19
3. AMBA 3 AHB-LITE Bus Architecture  (0) 2023.07.14