WinCE Device Driver 실습 #4

Slides:



Advertisements
Similar presentations
1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
마이크로 시스템 1 선 덕 한선 덕 한 lecture7. LCD 구동. 마이크로 시스템 2 강의 목표 현재 디스플레이 장치로써 가장 널리 사용되어지는 LCD 을 프로세서 에서 어떻게 제어 하는지 알아본다.
1 시스템및센서네트워크연구실 마이크로콘트롤러응용설계 - 2 character LCD. 2 시스템및센서네트워크연구실 ATmega128.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
Image & Video processing
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
윈도우7 체크 설치 매뉴얼
Cross Compiler를이용한 커널 컴파일 및 포팅
AVR - Chapter 16 황 지 연.
10장 주변장치 (PIO) Slide 1 (of 28).
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
ANSYS17.2 Student 제품 무료 다운로드
Unix Project2 <test character device 생성>
어셈블리 문법 보강 4월 10일.
Windows 8 Ksystem G&I 설치.
Text LCD control.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Character LCD Controller 구현
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
WinCE Device Driver 실습 #4
DK-128 ADC 실습 아이티즌 기술연구소
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
LCD 모듈의 특징 LCD 컨트롤러 내장으로 모든 디스플레이 기능을 명령어로 제어 8비트 혹은 4비트로 인터페이스
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
Microprocessor I/O Port & CLCD Noh Jin-Seok.
Git 사용법 GitHub 가입 GitHub 새 저장소 만들기 Git 설치 로컬 저장소 만들기 로컬 저장소와 원격 저장소 연결
Cross Compiler를이용한 커널 컴파일 및 포팅
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Device Driver 임베디드 시스템 I.
SAS Statistical Analysis System 통계패키지 실습 (2011년 1학기)
LCD Controller Colorbar
영상처리 실습 인공지능연구실.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
WinCE Device Driver 실습 #2
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
ATmega128의 특징 아이티즌 기술연구소
7주차 실습 FPGA 보드 사용법.
계산기.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
LCD.
DK-128 개발환경 설정 아이티즌 기술연구소
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
06. 디바이스의 등록과 해제 김진홍
WinCE Device Driver 실습 #2
WinCE Device Driver 실습 #4
Homework #7 (1/3) 1. 다음 순서에 따라 수행하고, 그 과정의 화면을 캡쳐한다.
Platform Builder 사용법.
ARM Development Suite v1.2
Presentation transcript:

WinCE Device Driver 실습 #4 주제 LCD 디바이스 드라이버 작성 LCD 디바이스 드라이버 테스트 프로그램 작성

Character LCD 장치 개요 성질 Liquid Crystal Display 전압 부과시 일정한 방향으로 정렬 편광 성질을 통해 전압이 걸린 부분이 검게 표시 전력 소모가 적음 휴대용 마이크로 컴퓨터 시스템에 다수 사용 LCD패널과 제어기가 하나의 패키지 형태로 구성 제어기에 데이터 전송으로 원하는 정보가 디스플레이됨. Windows CE.Net

내부 모듈 구조 (1) 2개의 장치로 구성 LCD display 장치(HD44100): 2x16 문자 디스플레이 가능 LCD controller 장치(HD44780) : 8-비트 마이크로프로세서로 구성 Windows CE.Net

내부 모듈 구조 (2) HD44780의 내부 블록도 Windows CE.Net

내부 모듈 구조 (3) HD44780의 내부 레지스터 IR (Instruction Register) D.D.RAM과 C.G.RAM에 대한 주소정보와 클리어, 커서이동에 대한 명령코드를 가지는 레지스터 DR(Data Register) D.D.RAM과 C.G.RAM에 데이터를 읽거나 써넣을 때 사용되는 레지스터 AC(Address Counter) D.D.RAM과 C.G.RAM의 어드레스를 지정할 때 사용되는 레지스터 D.D.RAM(Display Data RAM) 8비트 문자코드의 디스플레이 데이터를 가지고있으며 최대용량은 80x8 비트인 80문자이다 C.G.ROM(Character Generator ROM) 문자 글씨체를 저장하고 있다 C.G.RAM(Character Generator RAM) 사용자가 문자를 새로이 만들 때 사용되는 RAM이다 Windows CE.Net

내부 모듈 구조 (4) HD44780의 핀 할당 핀번호 기호 입/출력 기능 1 VSS 입력 0V (GND) 2 VDD +5V 3 VO 가변저항 10K를 달아서 LCD 글자의 밝기를 조절 4 RS LCD 자체의 명령과 데이터 입력을 제어.   ‘0’= 명령입력 ‘1’= 데이터입력 5 R/W ‘1’= Read,  '0'= Write 6 E Enable신호로 명령이 하나 입력될 때마다 펄스를 하나씩 내주어야 한다. 7 DB0 양방향 데이터 버스 8 DB1 9 DB2 10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 Windows CE.Net

내부 모듈 구조 (5) HD44780에서의 레지스터 전송 제어 RS(Register select) Low : IR, High : DR을 선택 RW : 레지스터에 데이터 Read/Write E(Enable) High 상태에서 명령/데이터를 출력하고, LCD가 명령을 처리할 시간을 지연한 후 Low 상태로 변환 RS RW E 1 RS RW E RS 동작에 따른 IR 선택 RS RW E 1 RS RW E 1 RS 동작에 따른 DR 선택 Windows CE.Net

내부 모듈 구조 (6) HD44780의 제어 명령 기 능 제어신호 제어 명령 Execute Time Clear Display RS R/W D7 D6 D5 D4 D3 D2 D1 D0 Clear Display 1 1.64mS Return Home 40uS Entry Mode Set I/D S Display on/off Control D C Cursor or Display Shift S/C R/L Function Set D/L N F Set CG RAM Address CG RAM Address Set DD RAM Address DD RAM Address Read Busy Flag and Address BF Address Counter Data Write to CG RAM or DD RAM Write Address Data Read to CG RAM or DD RAM Read Address Windows CE.Net

내부 모듈 구조 (7) 명령어 종류 표시 클리어 Cursor home 화면 클리어 후 커서는 홈 위치(00번지)로 돌아감 커서를 LCD 홈으로 리턴 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 X Windows CE.Net

내부 모듈 구조 (8) 명령어 종류 엔트리 모드 표시 ON/OFF 제어 커서의 진행 방향이나 표시된 문자를 쉬프트 시킬 것인지 설정 I/D (Increment/Decrement) 1 (address +1) 0 (address -1) S(shift) I/D=1, S=1 : 왼쪽으로 쉬프트 I/D=0, S=1 : 오른쪽으로 쉬프트 S=0 : 표시된 문자는 쉬프트되지 않는다. 표시 ON/OFF 제어 D=1 : 표시 on, D=0 : 표시 off C=1 : 커서 on, C=0 : 커서 off B=1 : 문자 on, B=0 : 문자 off DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 I/D S DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 D C B Windows CE.Net

내부 모듈 구조 (9) 명령어 종류 커서/표시 Shift 램의 내용은 변경하지 않고 커서 이동과 표시 쉬프트 제어 S/C=0, R/L=0 : 커서 위치를 좌로 이동(AC -= 1) S/C=0, R/L=1 : 커서 위치를 우로 이동(AC += 1) S/C=1, R/L=0 : 표시 전체를 좌로 이동, 표시는 커서에 따라 움직임 S/C=1, R/L=1 : 표시 전체를 우로 이동, 커서는 움직이지 않는다. DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 S/C R/L X Shift Left (0x18) Shift Right (0x1C) 01 02 …. 0F 10 41 42 …. 4F 50 27 01 …. 0D 0E 67 41 …. 4D 4E Windows CE.Net

내부 모듈 구조 (10) 명령어 종류 Function set DL=1 : 8비트 인터페이스 세트 N=0,F=0 : 1행, 5x7 dot N=0,F=1 : 1행, 5x10 dot N=1,F=x : 2행, 5x7 dot DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 DL N FL X Windows CE.Net

내부 모듈 구조 (11) 명령어 종류 C.G. RAM 주소 설정 D.D. RAM 주소 설정 DB7 DB6 DB5 DB4 DB3 1 A5 A4 A3 A2 A1 A0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 A6 A5 A4 A3 A2 A1 A0 Windows CE.Net

내부 모듈 구조 (12) Display Data RAM의 주소와 LCD의 문자위치의 관계 D.D.RAM은 8비트 문자코드에 상응하는 디스플레이 데이터를 저장한다 80개의 문자를 저장하며, 아래는 16문자 2라인 LCD의 경우를 나타낸 것임 첫 번째 라인의 끝과 두 번째 라인의 시작의 주소가 연결되지 않으므로 각각의 라인이 끝나게 되면 D.D.RAM의 주소를 새로이 설정해야 한다 열위치-> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1행 -> 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 2행 -> 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F D.D.RAM의 주소 Windows CE.Net

내부 모듈 구조 (13) 사용자 정의 문자 출력하기 사용자 정의 문자 패턴의 크기 5x7  8 바이트 정보로 표현 IR 레지스터에 CG-RAM 주소 설정 DR 레지스터에 문자 패턴 정보 1 바이트 설정 8 바이트 정보 입력이 완료될 때까지 2, 3번 과정 반복 DD-RAM에 출력하고자 하는 사용자 정의 문자의 코드(0x00~ 0x07)을 설정 사용자 정의 문자 출력 Windows CE.Net

LCD 장치 초기화 과정 Windows CE.Net

LCD 회로도 Windows CE.Net

LCD 디바이스 드라이버 작성 디바이스 드라이버 작성 헤드파일 작성 Def 파일 작성 /wince420/platform/pxa255pro3/drivers/fpga_lcd/fpga_lcd.cpp 헤드파일 작성 /wince420/platform/pxa255pro3/drivers/fpga_lcd/fpga_lcd.h Def 파일 작성 /wince420/platform/pxa255pro3/drivers/fpga_lcd/fpga_lcd.def Windows CE.Net

LCD 디바이스 드라이버 작성 Sources 파일 작성 OS 이미지에 드라이버 추가 레지스트리 등록 /wince420/platform/pxa255pro3/drivers/fpga_lcd/sources OS 이미지에 드라이버 추가 /wince420/platform/pxa255pro3/cesysgen/files/platform.bib 레지스트리 등록 /wince420/platform/pxa255pro3/cesysgen/files/platform.reg Windows CE.Net

LCD 디바이스 드라이버 작성 소스 빌드 OS이미지 생성 PB상에서 build – open build release directory fpga_lcd 디렉토리로 이동 커맨드라인에서 set WINCEREL = 1 입력 커맨드라인에서 build –cfs OS이미지 생성 커맨드라인에서 makeimg Windows CE.Net

LCD 테스트 프로그램 작성 신규 작성 Platform Builder의 File 메뉴에서 New Project or File..을 실행 적절한 애플리케이션 이름을 Project name에 작성한다. A simple Windows CE application을 선택한다. 소스코드를 작성 Build 또는 Build(selection only)를 실행하여 빌드한다. Windows CE.Net

LCD 테스트 프로그램 작성 기존의 프로젝트 추가 소스코드를 적절한 경로에 복사한다.(예, C:\WINCE420\PUBLIC\pxa255pro3_HH) Platform Builder의 File View 창에서 Insert Existing Project를 선택 *.pbp 파일을 선택한다.(제공된 소스를 카피한 디렉토리의 파일) 프로젝트가 추가되었다.(File View 창에서 확인) Build 또는 Build(selection only)를 실행하여 빌드한다. Windows CE.Net

다운로드 및 테스트 다운로드 테스트 테스트 프로그램 종료 PB 상에서 Target – Run programs Available program에서 lcd_test_app.exe 선택 테스트 프로그램 종료 PB상에서 Target – CE Target Control 타겟 컨트롤창에서 gi all 입력 타겟 컨트롤창에서 kp 프로세스번호 입력 Windows CE.Net