1 / 27

ATmega128 의 구조 및 TOOL 의 이해

ATmega128 의 구조 및 TOOL 의 이해. Robotics_LAB 발표자 : 유 홍 선. ATmega128 의 특징. 향상된 RISC 구조 32*8 범용 동작 레지스터 + 주변 컨트롤 레지스터로 구성 16MHz 에서 평균적으로 16MIPS 의 속도로 명령어를 처리 133 종의 명령 세트를 가지며 , 1 클럭 사이클에 실행 2 사이클 곱셈기를 칩에 내장. ATmega128 의 특징. 비휘발성 프로그램과 데이터 메모리 128K Byte In-System 프로그램 플래쉬 메모리

veta
Download Presentation

ATmega128 의 구조 및 TOOL 의 이해

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선

  2. ATmega128의 특징 • 향상된 RISC 구조 • 32*8 범용 동작 레지스터 + 주변 컨트롤 레지스터로 구성 • 16MHz에서 평균적으로 16MIPS의 속도로 명령어를 처리 • 133종의 명령 세트를 가지며, 1클럭 사이클에 실행 • 2사이클 곱셈기를 칩에 내장

  3. ATmega128의 특징 • 비휘발성 프로그램과 데이터 메모리 • 128K Byte In-System프로그램 플래쉬 메모리 • 독립 락 비트를 지원하는 옵션 부트 코드 섹션 • 칩에 냐장된 부트 프로그램으로 In-System 프로그래밍 가능 • 4K Byte EEPROM • 4K Byte 내장형 SRAM • 최대 64K Byte 이상의 외부 메모리 영역을 갖는다.

  4. ATmega128의 외부 구조

  5. ATmega128의 핀 구성 • VCC • GND • PORT A(PA7..PA0) • 내부적으로 풀업된 8비트 양방향 병렬 포트 • 외부 데이터 메모리를 액세스하기 위한 데이터 버스 및 하위 어드레스 버스로 사용됨 • PORT B(PB7..PB0) • 내부적으로 풀업된 8비트 양방향 병렬 포트 • PORT C(PC7..PC0) • 내부적으로 풀업된 8비트 양방향 병렬 포트 • 외부 데이터 메모리를 액세스하기 위한 16비트 어드레스 중에서 상위 8비트 어드레스 버스로 사용

  6. 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 입력이 지속되면 리셋이 발생한다.

  7. ATmega128의 핀 구성 • XTAL1 • 내부 클럭 발생 증폭회로의 입력 신호 • XTAL2 • 내부 클럭 발생 증폭회로의 출력 신호 • AVCC • A/D 컨버터의 전원 입력핀 • ADC가 사용된다면 LOW-PASS필터를 경유하여 VCC와 연결 • AREF • A/D 컨버터의 레퍼런스 전압 핀 • PEN • SPI 활성화를 시키는 프로그래밍 인에이블 핀으로서 파워 온 리셋시 LOW로 유지 함으로서 SPI활성화 상태가 된다.

  8. ATmega128의 내부 구조

  9. ATmega128의 내부 구조

  10. ATmega128의 메모리 구조

  11. ATmega128의 메모리 구조 • 프로그램 메모리 • Flash Memory • 128K Byte (64K * 16bit) • 16bit or 32bit • Application / Boot Flash section • Program Writing • SPI 통신방식을 이용한 ISP기능 이용 • JTAG 에뮬레이터 사용

  12. ATmega128의 메모리 구조 • 데이터 메모리 • 내부 데이터 메모리로서의 SRAM, 외부 데이터 메모리 SRAM 그리고 내부 EEPROR로 3가지 종류로 구성되어 있다 • 32 Registers($00~1F) • 32레지스터는 AVR 모든 시리즈에서의 사용되는 범용레지스터로서의 역할을 하게 된다.

  13. ATmega128의 메모리 구조 • 데이터 메모리 • 64 I/O Registers($20~$5F) • 각종 I/O 디바이스들을 제어하기 위한 레지스터 • 160 Ext I/O Registers($60~$FF) • ATmega128에 추가된 각종 I/O 디바이스들을 제어하기 위한 레지스터 • 내부 SRAM(0x0100~0x10FF) • 4Kbyte(4096*8bit) • 각종 사용자변수 / 스택 영역으로 사용 • 외부 SRAM(0x1100~0xFFFF) • 사용자가 정해진 4KB보다 더 확장된 데이터메모리를 필요할 때 약 60KB의 외부 데이터 메모리영역으로 이용가능하다. • EEPROM • 4Kbyte 내장 • 비휘발성 • 다른 데이터 메로리 어드레스 영역과는 별개의 영역을 할당 받게 된다. • 단일 바이트로 읽고 쓸 수 있다.

  14. ATmega128의 기본 하드웨어 • 메모리 록 비트와 퓨즈비트 • 메모리 보호 기능을 설정하는 용도로 1바이트 구조의 메모리 록 비트를 가지며, 기본적인 시스템 설정용으로 3바이트 구조인 퓨즈 비트를 가지고 있다. • Flash Lock Bit • Boot Lock Bit • Fuse Bit : 103호환, 클럭선택, Start-up time등의 설정

  15. ATmega128의 기본 하드웨어 • 시스템 클럭

  16. ATmega128의 기본 하드웨어 • 클럭 시스템 • CPU Clock • AVR 동작을 고려한 시스템의 일부로써 동작 • CPU 클럭을 정지시키면 범용동작과 계산을 수행하지 못 한다. • I/O Clock • 주요 I/O모듈에 의해 사용(타이머/카운트, SPI, USART) • 외부인터럽트 모듈에 의해서도 사용된다. • FLASH Clock • 플래쉬 인터페이스의 동작을 제한한다. • ASY Clock • 비동기 타이머/카운트가 32KHz 클럭 크리스탈로부터 직접 클럭 동작을 하도록 해준다. • 칩이 슬립모드에 있을 때 실시간 카운터처럼 사용할 수 있다. • ADC Clock • ADC 결과의 정확도를 높이기 위하여 CPU와 I/O클럭을 정지시켜서 디지털 회로에서 발생하는 노이즈를 감소시켜준다.

  17. ATmega128의 기본 하드웨어 • 클럭 소스 • 외부 크리스탈, 세라믹레조레이터, 외부 저주파 크리스탈, 외부 RC오실레이터, 내부 RC 오실레이터, 외부 클럭 • 시스템 리셋 • Power-on Reset • External Reset • Watchdog Reset • Brown-out Reset • JTAG AVR Reset

  18. ATmega128의 회로 구성

  19. ATmega128의 회로 구성 • ISP 회로도

  20. ATmega128의 개발 TOOL • WinAVR의 AVR-GCC 컴파일러 • WinAVR의 MFile 개발툴을 이용한 컴파일 옵션 설정 • 시작 → 모든 프로그램 → WinAVR → MFile

  21. ATmega128의 개발 TOOL • Main file name • Main함수가 있는 C언어 소스 파일 이름을 입력(예, main)

  22. ATmega128의 개발 TOOL • MCU type • Output format • ihex (Inter HEX) 선택 • Optimization level • ‘s’로 설정 • Debug format • AVR-ext-COFF (AVR Studio 4.7+, VMLAB S.10+)

  23. Mfile 개발툴을 이용한 다운로드 옵션 설정 ATmega128의 개발 TOOL

  24. ATmega128의 개발 TOOL • WinAVR을 이용한 AVR 프로그램 개발 방법

  25. 실습 보드 • 디바이스 마트(www.devicemart.co.kr) • AB-TB128(가격:1만원)

  26. 향후 세미나 일정

  27. Thank You http://cafe.naver.com/roboticslab.cafe

More Related