Character LCD Controller 구현

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

아이튠즈 계정 생성. 1. 인터넷을 통해 설치한 아이튠즈를 실행 한 후 그림의 순서대로 선택을 합니다. 1 2.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
디지털시스템실험 2주차 고려대학교 전기전자전파공학부.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
코크파트너 설치 가이드 Window 7.
윈도우7 체크 설치 매뉴얼
10장 주변장치 (PIO) Slide 1 (of 28).
CUDA Setting : Install & Compile
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
7-Segment FND Controller 구현
Quartus II 사용법 VHDL을 이용한 디지털 시스템 설계.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
Text LCD control.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
Root Filesystem Porting
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
Root Filesystem Porting
IT CookBook, VHDL을 이용한 FPGA 디지털 설계
WinCE Device Driver 실습 #4
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
LCD 모듈의 특징 LCD 컨트롤러 내장으로 모든 디스플레이 기능을 명령어로 제어 8비트 혹은 4비트로 인터페이스
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
디지털 시스템 설계(3).
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Device Driver 임베디드 시스템 I.
LCD Controller Colorbar
영상처리 실습 인공지능연구실.
WZC 무선 연결 방법 (Windows XP Ver.).
툴 설치 가이드 PrimeTime SynopsysMentor.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
7주차 실습 FPGA 보드 사용법.
계산기.
WinCE Device Driver 실습 #4
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
LCD.
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
DK-128 직렬통신 실습 아이티즌 기술연구소
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
논리회로 설계 및 실험 4주차.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
숙제 작성 및 제출 과정 김진하 2008/03/14.
WinCE Device Driver 실습 #4
Platform Builder 사용법.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
논리회로 설계 및 실험 8주차.
Presentation transcript:

Character LCD Controller 구현 Lecture #11

학습목표 다양한 실습을 통해 VHDL의 응용능력을 기른다 기본적인 타이밍도의 이해 및 응용능력을 배양한다 주로 사용되는 출력 장치인 Character LCD 장치의 특성을 이해한다 모바일컴퓨터특강

강의순서 Character LCD 장치 PXA255-FPGA – LCD 회로도 구성 Character LCD Controller 설계 Character LCD Controller 테스트 모바일컴퓨터특강

Output Device – Character LCD (1) ASCII 코드를 받아 문자를 출력하는 LCD 장치 임베디드 장치에 가장 많이 사용되는 출력 장치 휴인스 교재 p.327 ~p.356 참고 모바일컴퓨터특강

Output Device – Character LCD (2) 모바일컴퓨터특강

Output Device – Character LCD (3) Character LCD의 핀번호(HD44780, HD44780A) 16 Characters x 2 Lines 핀번호 기호 입/출력 기능 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 모바일컴퓨터특강

Output Device – Character LCD (4) HD44780의 내부 블록도 모바일컴퓨터특강

Output Device – Character LCD (5) 내부 레지스터 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이다 모바일컴퓨터특강

Output Device – Character LCD (6) 기 능 제어신호 제어 명령 Execute Time 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 모바일컴퓨터특강

Output Device – Character LCD (7) 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의 주소 모바일컴퓨터특강

Output Device – Character LCD (8) 사용자 정의 문자 출력하기 사용자 정의 문자 패턴의 크기 5x7  8 바이트 정보로 표현 IR 레지스터에 CG-RAM 주소 설정 DR 레지스터에 문자 패턴 정보 1 바이트 설정 8 바이트 정보 입력이 완료될 때까지 2, 3번 과정 반복 DD-RAM에 출력하고자 하는 사용자 정의 문자의 코드(0x00~ 0x07)을 설정 사용자 정의 문자 출력 모바일컴퓨터특강

Output Device – Character LCD (9) Function Set(이진수:001x xx00). Display ON/OFF Control(0000 1xxx) Setting. Entry Mode Set(0000 01xx). DD RAM 주소 Setting. 문자 데이터를 연속으로 보낸다 (예) process( LCD_mode ) begin case LCD_mode is when "0001" => data<="00111100"; -- Function Setting : D/L=1(8bits Interface),NF=11(5x7문자 2 lines) when "0010" => data<="00111100"; when "0011" => data<="00111100"; when "0100" => data<="00111100"; when "0101" => data<="00000001"; -- Display Clear : LCD화면 지움, 커서위치는 홈, DDRAM의 주소카운터는 0 when "0110" => data<="00000110"; -- Entry Mode Setting : I/D=1, S=0 디스플레이는 시프트되지 않음. when "0111" => data<="00001100"; -- Display On/Off setting : DCS=100 ( 모든 글자가 나타남. 커서는 없음.) when "1000" => data<= Dsp_Data; -- Display Data when others => data<="00000000"; end case; end process; 모바일컴퓨터특강

Output Device – Character LCD (10) tAH : Address Hold Time tAS : Address Setup Time PWEH : Enable Pulse Width tDSW : Data Setup Time tH : Data Hold Time tcycE : Enable Cycle Time Timing Diagram(Write) min=60ns min=20ns min=450ns min=195ns min=10ns min=1000ns 모바일컴퓨터특강

Output Device – Character LCD (11) tAH : Address Hold Time tAS : Address Setup Time PWEH : Enable Pulse Width tDDR : Data Delay Time tH : Data Hold Time tcycE : Enable Cycle Time Timing Diagram(Read) min=60ns min=20ns min=450ns max=360ns min=5ns min=1000ns 모바일컴퓨터특강

PXA255-FPGA – LCD 회로 구성 (1) 모바일컴퓨터특강

PXA255-FPGA – LCD 회로 구성 (2) 모바일컴퓨터특강

PXA255-FPGA – LCD 회로 구성 (3) 모바일컴퓨터특강

PXA255-FPGA – LCD 회로 구성 (4) 모바일컴퓨터특강

Character LCD Controller 설계 (1) 단독 모드 (FPGA Mode Dip S/W – off, on) PXA255-FPGA 보드의 8-bit dip switch 값을 읽어 일련의 메시지와 함께 LCD 장치에 출력 연동 모드 (FPGA Mode Dip S/W – on, on) PXA255-Pro3 main board에서 전송된 I/O 신호를 받아 LCD 장치에 출력 FPGA Mode Dip S/W 설정에 따라 동작 모드를 결정 모바일컴퓨터특강

Character LCD Controller 설계 (2) lcd_2x16.vhd – 단독 동작 모드를 설계한 VHDL 파일 dip_sw.vhd – 8-bit dip switch 값을 읽는 구성요소를 설계한 VHDL 파일 iom_mode.vhd – 연동 동작 모드를 설계한 VHDL 파일 mux_iom.vhd – FPGA Mode Dip S/W 설정에 따라 I/O을 선택하는 multiplexing 기능을 설계한 VHDL 파일 상기의 VHDL 파일 소스는 별도의 유인물 참조 모바일컴퓨터특강

Character LCD Controller 설계 (3) io_top.bdf - top-level block diagram file 모바일컴퓨터특강

Quartus II Project 파일 생성 (1) New Project Wizard를 통한 Quartus II Project 생성하기 File 메뉴에서 New Project Wizard를 실행하여 새로운 프로젝트를 생성 모바일컴퓨터특강

Quartus II Project 파일 생성 (2) New Project Wizard ① Project를 설치할 경로 와 프로젝트의 이름과 top-level entity 이름을 지정 모바일컴퓨터특강

Quartus II Project 파일 생성 (3) New Project Wizard ② 오른쪽의 그림은 다음 단계인 설계된 파일이 있으면 추가 하는 단계 추가할 파일이 프로젝트 디렉토리에 있다면 [ADD ALL] 버튼을 클릭하면 모두 추가 [...] 버튼을 클릭하여 그림과 같이 4개의  파일을 추가 [Next]버튼을 눌러 다음 설정으로 이동 모바일컴퓨터특강

Quartus II Project 파일 생성 (4) New Project Wizard ③ EDA Tool 에 대한 설정을 하는 부분 Third party EDA tool을 사용한다면 설정하고, 사용하지 않는다면 [Next]버튼을 눌러 다음 설정으로 이동 모바일컴퓨터특강

Quartus II Project 파일 생성 (5) New Project Wizard ④ Device Family를 설정하는 부분 PXA255-FPGA보드는 Cyclone을 사용 모바일컴퓨터특강

Quartus II Project 파일 생성 (6) New Project Wizard ⑤ PXA255-FPGA에는 EP1C12Q240C8을 사용하고 있으므로 해당 Device를 선택 오른쪽 메뉴의 Filter사용 하면 쉽게 선택할 수 있다 모바일컴퓨터특강

Quartus II Project 파일 생성 (7) New Project Wizard ⑥ 지금까지 설정을 확인하는 단계 프로젝트경로와 프로젝트 이름, top-level design entity 이름, 추가한 파일의 개수를 확인 모바일컴퓨터특강

Quartus II Project 파일 생성 (8) 모바일컴퓨터특강

Quartus II Project 파일 생성 (9) Pin Assignment Pin assignment 메뉴를 이용하여 pin 정보 입력 Pin Assign File 수정 - io_top.qps 파일을 열어서 옆 그림에 제시된 정보를 고려하여 핀 매핑에 대한 정보를 수정 모바일컴퓨터특강

Quartus II Project 파일 생성 (10) 모바일컴퓨터특강

Quartus II Project 파일 생성 (11) 사용하지 않는 핀들에 대한 설정 Device 설정 창에서 Device & Pin Options을 선택 모바일컴퓨터특강

Quartus II Project 파일 생성 (12) Unused Pin에 대한 설정 Reserve all unused pins에서 As Input, tri stated를 선택 외부에 아무런 영향을 주지 않기 위함 모바일컴퓨터특강

Quartus II Project 파일 생성 (13) Configuration에 대한 설정 그림과 같이 Configuration scheme와 device를 설정 모바일컴퓨터특강

Quartus II Project 파일 생성 (14) 기타 설정 General 탭에서  Auto-restart configuration after error을 선택 FPGA에서 에러가 발생하면 자동으로 다시 Configuration하게 설정 모바일컴퓨터특강

Quartus II Project 파일 생성 (15) Compilation 지금까지의 설정이 정상적으로 이루어졌다면 Processing 메뉴에서 Start Compilation을 실행 컴파일이 완료되면 ‘Full compilation was successful‘ 이라는 메시지를 보여주며 컴파일이 끝나게 된다 모바일컴퓨터특강

Quartus II Project 파일 생성 (16) Configuration 지금까지의 과정이 모두 끝났다면 FPGA로 Configuration을 하여야 한다 Programmer 실행 - EPC2에 다운로드 하거나 FPGA에 Configuration 하기 위해서 Programmer를 실행 모바일컴퓨터특강

Quartus II Project 파일 생성 (17) Configuration 파일 불러오기 Byteblaster 케이블이 JTAG 포트에 연결된 상태에서 [Auto Detect] 를 하면 EPC2와 EP1C6 두 개의 장치를 검출 <none>를 더블 클릭하여 EPC2에는 io_top.pof 파일을, EP1C6에는 io_top.sof파일을 설정한다 모바일컴퓨터특강

Quartus II Project 파일 생성 (18) Configuration Program/Configure에 체크 옵션에 체크를 한다 [Start]버튼을 클릭하면 체크한 항목에 대해서만 Download 및 Configuration을 수행한다 [Start]버튼을 클릭하여 실행한다 모바일컴퓨터특강

Character LCD Controller 테스트 디바이스 드라이버 설치 및 테스트 프로그램 실행 FPGA Mode Dip S/W를 (on, on)으로 설정하여 연동 모드 선택 디바이스 드라이버와 테스트 프로그램을 타겟 보드에 다운로드하고 실행시킨다 # mknod /dev/TXTLCD c 242 0 # insmod lcd_driver.o # chmod 777 test_lcd # ./test_fnd 모바일컴퓨터특강