AT MEGA 128 기초와 응용 I 기본적인 구조.

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
컴퓨터와 인터넷.
재료수치해석 HW # 박재혁.
AVR - Chapter 11 황 지 연.
Cross Compiler를이용한 커널 컴파일 및 포팅
컴퓨터 프로그래밍 기초 [Final] 기말고사
CUDA Setting : Install & Compile
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
TMS320F2812의 GPIO의 이해.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
시스템 보안 [Buffer Overflow] DEC, 15, 2013 By 박동혁.
REVERSE ENGINEERING HeXA 1st
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
RS 및 D 플립플롭 RS Flip Flop 래치는 어떤 입력 레벨에 의해서 제어되는 데 플립플롭은 클록 입력이라고
JK 및 T 플립플롭 JK Flip-Flop JK 플립플롭은 디지털 시스템에서 가장 많이 사용되고 있는 플립플롭으로
제10강 중앙처리장치 1.
Root Filesystem Porting
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Root Filesystem Porting
DK-128 ADC 실습 아이티즌 기술연구소
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
PSW : PROGRAM STATUS WORD
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
14 마이크로 연산과 제어장치 IT CookBook, 컴퓨터 구조와 원리 2.0.
Cross Compiler를이용한 커널 컴파일 및 포팅
JA A V W. 03.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
뇌를 자극하는 Windows Server 2012 R2
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
DK-128 FND 실습 아이티즌 기술연구소
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
제4강 처리장치 1.
ARM Development Suite v1.2
ATmega128의 특징 아이티즌 기술연구소
AVR - Chapter 3 황 지 연.
Canary value 스택 가드(Stack Guard).
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
ARM Development Suite v1.2
컴퓨터구조 연습문제 발표 Chapter 3 - 컴퓨터의 기능 및 상호연결의 최상위 관점
논리회로 설계 및 실험 4주차.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
농구 로봇 따라해 보기.
TVM ver 최종보고서
발표자 : 이지연 Programming Systems Lab.
3.2 분기 명령어.
제10강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
제 4 장 Record.
CHAP 15. 데이터 스토리지.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Assembly 05 방호남 07 반지훈 09 박상욱.
ARM Development Suite v1.2
Presentation transcript:

AT MEGA 128 기초와 응용 I 기본적인 구조

AtMEGA128의 구조 개요 MCU보드 ■ MCU 회로 (micro controller Unit) MCU회로는 AT mega128 MCU, 리셋 회로, 글럭 발생 회로로 구성 되며, 클럭 발생 또 회로에는 16MHz크리스탈을 사용하였다. 또, A,B,C,D,E,F,G포트는 커넥터로 사용자의 개발 보드와 연결 할 수 있도 록 설계되었다. ■ ISP 다운로더 커넥터(In-System Programming) C 컴파일러에 내장된 프로그래머(Programmer)를 통해 MCU보드에 사용자가 작성한 프로그램을 다운로드 할 수 있도록 ISP커넥터이다. ■ 확장 커넥터 ATmega128의 모든 단자를 커넥터로 뽑아 인터페이스 보드 또는 사 용자가 설계하는 확장보드에 연결할 수 있다. ■ 전원 LED, 바이패스 콘덴서 바이패스 콘덴서는 고주파 노이즈를 바이패스 시키기 위하여 부착한 다.

AtMEGA128의 구조 개요 ATmega128의 블럭도 AVR RISC의 구조

AtMEGA128의 구조 개요 위의 오른쪽 그림은 AVR RISC의 내부구조를 보여준다. 고속 액세스가 가능한 32개의 8비트 범용 레지스터는 단일 클럭 사이클의 액세 스 시간을 갖는다. 즉, 한 개의 클럭 사이클 동안 한 개의 ALU동작이 가능하다는 것을 의미 한 클럭 사이클 동안 레지스터 파일에서 두 개의 오퍼랜드가 출력되는 동시에 명 령어는 실행되고 결과는 다시 레지스터 파일에 저장된다. http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=178101025&qb=66CI7KeA7Iqk7YSw&enc=utf8&section=kin&rank=1&search_sort=0&spq=1&pid=S78wUdoRR0Vssbtbkkwsssssss0-121736&sid=VL8uvgoUU2QAAEAzO8I * 오퍼랜드 : 연산의 대상 이 되는 것. A+B라는 연 산에서는 A를 제1오퍼랜 드, B를 제2오퍼랜드라고 한다.

AtMEGA128의 구조 개요 32개의 레지스터 중에 6개의 레지스터는 데이터 영역 주소를 지정하기 위한 16비트 간접 주소 포인터 레지스터로 사용할 수 있으며, 이러한 기 능을 갖는 레지스터는 16비트의 X,Y,Z레지스터이다. 이러한 레지스터를 범용 레지스터라 하는데 뒤에 내용가서 보기로 하자. 2.4.1 ALU(Arithmetic logic Unit) ALU는 32개의 범용레지스터와 직접 연결이 되어있다. ALU연산은 산술, 논리와 비트 연산의 세 범주로 나누어 진다. ALU연산이 실행되고 난 후에는 연산결과에 따라 MCU의 상태레지스터(SREG)의 비트값 에 영향을 준다.

AtMEGA128의 구조 개요 ■ SREG(Status Register) : 상태 레지스터 상태 레지스터는 일반적으로 산술연산 명령어가 실행될 때마다 값이 변 하는 레지스터, 각 비트마다 특정비트가 있다. Bit7-I : 전역 인터럽트 인에이블(Global interrupt Enable) 비트 이 비트는 인터럽트를 인에이블(실행)시키기 위해서 반드시 셋되어야 한다. * 인터럽트 : 실행 중인 프로그램을 일시 중단하고 다른 프로그램을 끼워 넣어 실행시키는 것. Bit6-T : 비트 복사 저장(Bit Copy Storage)비트 이 비트는 비트 복사 저장명령BLD (bit Load)와 BST(Bit Store)의 소스 로서 사용된다.

AtMEGA128의 구조 개요 Bit5-H : 하프 캐리 플래그(Half Carry Flag) 비트 이 비트는 산술 연산에서 발생되며, 3비트째에서 4비트째로 자리 올림 이나 자리빌림이 있을 때 셋이 된다. Bit4-S : 부호 비트(sign Bit) Bit3-V : 2의 보수(이진수) 오버플로우 플래그(2’s Complement Overflow Flag) 비트 Bit2-N : 음수 플래그(Negative Flag) 비트 산술 및 논리 연산 후에 음의 결과를 나타낸다. Bit1-Z : 제로 플래그(Zero Flag) 비트 산술 및 논리 연산 후에 결과가 0임을 나타낸다. Bit0-C : 캐리 플래그(Carry Flag) 비트

AtMEGA128의 구조 개요 2.4.2 범용 레지스터 범용 레지스터는 데이터 메모리 영역에서 직접 맵핑(mapping)이 가능하 도록 32개의 영역에 대한 데이터 메모리 주소가 할당되어있다. 또 R26~31은 간접주소 지정방식을 위한 주소 포인터로 사용된다. 이 세 개의 간접 주소 레지스터 X,Y,Z,는 아래 그림과 같다. 이 레지스터들은 다 른 주소 지정 방식과 달리 고정 변위,자동증가, 자동감소 기능을 갖고있 다.

AtMEGA128의 구조 개요 2.4.3 스택 포인터(SP : Stack pointer) 스택은 임시 데이터, 국소 변수, 인터럽트 또는 서브 루틴을 실행할 때 리턴 주소를 저장하기 위한 영역이며, 스택 포인터는 이러한 스택을 관리 하기 위한 포인터 레지스터이다. * 서브루틴 : 프로그램 가운데 하나 이상의 장소에서 필요할 때마다 되 풀이해서 사용할 수 있는 부분적 프로그램 2.4.4 명령 실행 타이밍 AVR MCU는 외부에 연결된 수정발진기에 의해 발생된 시스템 클럭으로 구동된다. 위 그림은 하버드 아키텍처와 고속 액세스 레지스터 파일 개념에 의해 동작하는 병렬방식의 명령 패치와 명령 실행을 볼 수 있다.

AtMEGA128의 구조 개요 메모리에 크게 2가지 종류가 있다. 데이터 메모리 프로그램 메모리 ㄱ. 부트 플래시 섹션 ㄴ. 어플리케이션 플래시 섹션 2.4.5 플래시 프로그램 메모리 Atmega128은 ISP기능을 갖는 플래시 메모리 128K바이트를 내장하고 있고 모든 명령어가 16비트 or 32비트이기 때문에 플래시 메모리는 64Kx16비트로 구성 되어있다. 이 프로그램은 SPI시리얼통신을 이용한 ISP(in-system programming) 기능을 가지고 있으며, 적어도 10,000번의 쓰기 및 삭제가 가능하다. 프로그램 메모리 영역에 정의된 상수를 액세스할 때 Z레지스터가 사용되는 데 128Kx8비트형식으로 액세스 하기 때문에 2개의 64Kx8비트 영역으로 나누 어 액세스하여야 하며, 이를 위해 RAMPZ레지스터의 RAMPZ0비트가 미리 설 정되어야 한다.

AtMEGA128의 구조 개요 ■ RAMPZ(RAM Page Z Select Resigter)레지스터 : RAM페이지 선택 레지스터 이 레지스터는 ATmega128의 내부 플래시 프로그램 메모리에서 64KB단 위로 구분되는 2개의 페이지중 어느 것을 사용할지를 정한다. 프로그램 메모리 영역의 상수를 엑세스 할 때는 16비트의 Z레지스터가 사용되어 64KB가지 밖에 지정할 수 없기 때문에 현재 액티브 페이지가 0 인지 1인지를 이 비트로 미리 정해 주어야 한다.