- LCD화면 가로축 * 세로축 인 2차원평면.
- 화면 한 개의 정보들 = frame , 초당 30frame을 출력해야 눈에 보인다
- 해상도 = 가로픽셀수 * 세로픽셀수(줄)
- 픽셀수와 해상도는 비례
#픽셀
- LCD data 기본단위
- 색상정보 + 좌표(x,y)
- 좌측상단이 원점인 (0,0) 부터 증가하는 형태 (--> dma제어기를 거치멘 좌측하단이 원점이 된다)
- 엄청난 data를 높은 주파수로 보내야 초당 3frame출력이 가능하다.
# LCD controller (video controller)
- AP내 data를 lcd화면으로 내보내기 위해서 주파수를 조절해주는 장치
- LCD에 정확한 주파수로 데이터 전달이 가능
- frame단위로 data전달
- frame단위로 buffer버퍼가 존재 = ** frame buffer **
# frame buffer **중요**
- 외부 메모리 사용할때 데이터메모리가 필요하다.
- 외부 메모리를 사용해야하므로 dma장치를 통해 전달된다
- 2차원 배열로 데이터 형식을 만든다 (프레임 단위로)
# dma 방식 **중요**
- 내부 메모리의 크기의 여유가 없을 경우 사용. DMA 방식을 통해 LCD에 픽셀 데이터를 보낸다
- 많은 양의 데이터를 전달해야할 떄 유용하다
display data -> frame buffer -> LCD controller - dma장치를 통해 -> LCD화면
# 해상도 , color data길이 설정
lcd화면은 가로480 , 세로272 픽셀로 구성됨

초록은 64레벨 -> 사람의 눈이 초록색에 더 민감하므로 1비트를 더 할당했다.
# 16비트 컬러모드
- 하나의 레지스터에 두 픽셀을 담을 수 있다. -> 데이터양이 비례하게 줄어든다
# Init_LCD 메소드 // lcd 초기설정
VCLK : 수직 클럭
HCLK : 수평 클럭
TFT LCD Pannel : LCD종류
16bpp Mode : 16비트 컬러모드를 사용할 것이다
# PutPixel (int x, int y, int color)
- (x,y)좌표에 color색으로 점을 찍는다
- 데이터는 2차원 배열이지만, frame buffer로 가려면 1차원 Data구조로 변형해야한다.
- x,y 좌표는 메모리주소이다. 메모리에 담기는 data는 컬러.

# DrawLine (x1,y1,x2,y2,color)
- 점과 점 사이를 보강하는 알고리즘이 필요.
# DrawImage
- 해당 영역에 픽셀을 메꾸는 것이 아니라 만들어진 이미지가 넣어진다.
# SetFullFrame
- LCD화면 전체를 채워지게 하는 함수
'전공 과목 이수1👨💻 > 임베디드시스템' 카테고리의 다른 글
임베디드시스템 터치스크린 이론 (0) | 2021.12.21 |
---|---|
임베디드 업/다운 카운팅 (0) | 2021.10.05 |
~BUZZER 임베디드 이론 (0) | 2021.09.08 |
임베디드 Code composer에디터 및 라이브러리 설치 및 환경 설정 (0) | 2021.09.08 |
(9/1)임베디드시스템이란? (0) | 2021.09.01 |