ATmega128의 구조
Download
Report
Transcript ATmega128의 구조
ATmega128의 구조
및 TOOL의 이해
Robotics_LAB
발표자 : 유 홍 선
ATmega128의 특징
향상된 RISC 구조
32*8 범용 동작 레지스터 + 주변 컨트롤 레지
스터로 구성
16MHz에서 평균적으로 16MIPS의 속도로 명
령어를 처리
133종의 명령 세트를 가지며, 1클럭 사이클에
실행
2사이클 곱셈기를 칩에 내장
ATmega128의 특징
비휘발성 프로그램과 데이터 메모리
128K Byte In-System프로그램 플래쉬 메모리
독립 락 비트를 지원하는 옵션 부트 코드 섹션
칩에 냐장된 부트 프로그램으로 In-System 프
로그래밍 가능
4K Byte EEPROM
4K Byte 내장형 SRAM
최대 64K Byte 이상의 외부 메모리 영역을 갖
는다.
ATmega128의 외부 구조
ATmega128의 핀 구성
VCC
GND
PORT A(PA7..PA0)
내부적으로 풀업된 8비트 양방향 병렬 포트
외부 데이터 메모리를 액세스하기 위한 데이터 버스 및 하
위 어드레스 버스로 사용됨
PORT B(PB7..PB0)
내부적으로 풀업된 8비트 양방향 병렬 포트
PORT C(PC7..PC0)
내부적으로 풀업된 8비트 양방향 병렬 포트
외부 데이터 메모리를 액세스하기 위한 16비트 어드레스
중에서 상위 8비트 어드레스 버스로 사용
ATmega128의 핀 구성
PORT D(PD7..PD0)
내부적으로 풀업된 8비트 양방향 병렬 포트
PORT E(PE7..PE0)
내부적으로 풀업된 8비트 양방향 병렬 포트
PORT F(PF7..PF0)
내부적으로 풀업된 8비트 양방향 병렬 포트
A/D 컨버터의 입력포트
PORT G(PG4..PG0)
내부적으로 풀업된 8비트 양방향 병렬 포트
RESET
리셋 입력 핀으로서 50ns이상의 Low Lever 입력이 지속되면 리
셋이 발생한다.
ATmega128의 핀 구성
XTAL1
내부 클럭 발생 증폭회로의 입력 신호
XTAL2
내부 클럭 발생 증폭회로의 출력 신호
AVCC
A/D 컨버터의 전원 입력핀
ADC가 사용된다면 LOW-PASS필터를 경유하여 VCC와 연결
AREF
A/D 컨버터의 레퍼런스 전압 핀
PEN
SPI 활성화를 시키는 프로그래밍 인에이블 핀으로서 파워 온 리
셋시 LOW로 유지 함으로서 SPI활성화 상태가 된다.
ATmega128의 내부 구조
ATmega128의 내부 구조
ATmega128의 메모리 구조
메모리의 구조
프로그램 메모리
플래쉬 메모리
(128KB)
데이터 메모리
내부 SRAM
(4KB)
외부 SRAM
(~64KB 확장가능)
EEPROM
(4KB)
ATmega128의 메모리 구조
프로그램 메모리
Flash Memory
128K Byte (64K * 16bit)
16bit or 32bit
Application / Boot Flash section
Program Writing
SPI 통신방식을 이용한 ISP기능 이용
JTAG 에뮬레이터 사용
ATmega128의 메모리 구조
데이터 메모리
내부 데이터 메모리로서의 SRAM, 외부 데이
터 메모리 SRAM 그리고 내부 EEPROR로 3가
지 종류로 구성되어 있다
32 Registers($00~1F)
32레지스터는 AVR 모든 시리즈에서의 사용되는 범
용레지스터로서의 역할을 하게 된다.
ATmega128의 메모리 구조
데이터 메모리
64 I/O Registers($20~$5F)
160 Ext I/O Registers($60~$FF)
4Kbyte(4096*8bit)
각종 사용자변수 / 스택 영역으로 사용
외부 SRAM(0x1100~0xFFFF)
ATmega128에 추가된 각종 I/O 디바이스들을 제어하기 위한 레지스터
내부 SRAM(0x0100~0x10FF)
각종 I/O 디바이스들을 제어하기 위한 레지스터
사용자가 정해진 4KB보다 더 확장된 데이터메모리를 필요할 때 약 60KB의
외부 데이터 메모리영역으로 이용가능하다.
EEPROM
4Kbyte 내장
비휘발성
다른 데이터 메로리 어드레스 영역과는 별개의 영역을 할당 받게 된다.
단일 바이트로 읽고 쓸 수 있다.
ATmega128의 기본 하드웨어
메모리 록 비트와 퓨즈비트
메모리 보호 기능을 설정하는 용도로 1바이트
구조의 메모리 록 비트를 가지며, 기본적인 시
스템 설정용으로 3바이트 구조인 퓨즈 비트를
가지고 있다.
Flash Lock Bit
Boot Lock Bit
Fuse Bit : 103호환, 클럭선택, Start-up time
등의 설정
ATmega128의 기본 하드웨어
시스템 클럭
ATmega128의 기본 하드웨어
클럭 시스템
CPU Clock
I/O Clock
플래쉬 인터페이스의 동작을 제한한다.
ASY Clock
주요 I/O모듈에 의해 사용(타이머/카운트, SPI, USART)
외부인터럽트 모듈에 의해서도 사용된다.
FLASH Clock
AVR 동작을 고려한 시스템의 일부로써 동작
CPU 클럭을 정지시키면 범용동작과 계산을 수행하지 못 한다.
비동기 타이머/카운트가 32KHz 클럭 크리스탈로부터 직접 클럭 동
작을 하도록 해준다.
칩이 슬립모드에 있을 때 실시간 카운터처럼 사용할 수 있다.
ADC Clock
ADC 결과의 정확도를 높이기 위하여 CPU와 I/O클럭을 정지시켜서
디지털 회로에서 발생하는 노이즈를 감소시켜준다.
ATmega128의 기본 하드웨어
클럭 소스
외부 크리스탈, 세라믹레조레이터, 외부 저주파 크리
스탈, 외부 RC오실레이터, 내부 RC 오실레이터, 외부
클럭
시스템 리셋
Power-on Reset
External Reset
Watchdog Reset
Brown-out Reset
JTAG AVR Reset
ATmega128의 회로 구성
ATmega128의 회로 구성
ISP 회로도
ATmega128의 개발 TOOL
WinAVR의 AVR-GCC 컴파일러
WinAVR의 MFile 개발툴을 이용한 컴파일 옵
션 설정
시작 → 모든 프로그램 → WinAVR → MFile
ATmega128의 개발 TOOL
Main file name
Main함수가 있는 C언
어 소스 파일 이름을 입
력(예, main)
ATmega128의 개발 TOOL
MCU type
Output format
Optimization level
ihex (Inter HEX) 선택
‘s’로 설정
Debug format
AVR-ext-COFF
(AVR Studio 4.7+, VMLAB S.10+)
ATmega128의 개발 TOOL
Mfile 개발툴을 이용한 다운로드 옵션 설정
ATmega128의 개발 TOOL
WinAVR을 이용한 AVR 프로그램 개발 방법
실습 보드
디바이스 마트
(www.devicemart.co.kr)
AB-TB128(가격:1만원)
향후 세미나 일정
1
날짜
주제
11월 8일
Mega128 구조 및 TOOL
2
11월 22일
I/O 및 Timer/Count, PWM
3
11월 29일
A/D CONVERTER
비고
장소 : 공대 다동
A9-211
발표자 : 유홍선
4
12월 6일
USART, SPI, TWI 직렬통신
http://cafe.naver.com/roboticslab.cafe