ATmega128A Datasheet(특징 및 메모리)WinAVR설치

 

#1. ATmega128A Datasheet

 

학습목표 - ATmega128A의 데이터 시트를 보고 특징에 대해 안다.

 

ATmega128A Datasheet 계속

 

특별한 마이크로컨트롤러 특징

- 파워 리셋과 브라운 아웃 디텍터

 

//브라운 아웃 - 입력되는 전원에 따라 칩의 일부만 작동하는 것 - > 표준 전압 이하에서 작동하지 않게 해준다.

 

- 내부적으로 조정된 RC oscillator(발진기)

 

// Crystal oscillator와 회로로 주파수를 만들어 낼 수 있다.

// RC oscillator는 저주파수를 만들고 정확도가 떨어진다. 가격은 싸다.

 

- 내외부의 interrupt

 

#2. ATmega128A Datasheet

 

학습목표 - ATmega128A의 데이터 시트를 보고 특징에 대해 안다.

 

 

 

// Interrupt <-> polling

// 기계에 문제가 있을 때 알려주는 것을 interrupt'라고 한다. ex) 가스 누수 경보기

// 문제가 있는 지 찾아보는 것을 polling'이라고 한다. ex) 수동 바이러스 검사

// polingCPU core를 사용하여 작동한다.

// 칩에서 비싸다는 의미는 회로를 가지고 있다는 것이다.

 

- 6가지 슬립 모드

- 소프트웨어로 시간 주파수 선택 가능

- Fuse 조작을 통한 ATmega103 호환모드

 

// 스위치를 통해 전원이 들어가지 않았을 시

 

// 합선은 저항이 0일 때 전류가 무한대로 흐를 때를 말한다.

 

// 전기는 흐르기 쉬운 곳으로 흐른다.

 

// 저항이 어디 붙어 있느냐에 따라서 풀업/풀다운으로 나뉜다. 풀업/풀다운은 애매한 상태(3의 상태)를 없애기 위해 사용된다.

 

- 풀업 저항으로 한 번에 끌 수 있다.

 

입출력과 패키지

 

- 53개의 프로그래밍 가능한 라인

 

- 64 lead(다리, )

 

#3. ATmega128Acompiler 설치

 

WinAVR을 다운로드 받는다.

 

WinAVR 가장 최근 버전(WinAVR-20100110...exe)

 

// Sourceforge는 오픈소스를 제공하는 커뮤니티이다.

 

AVR Studio에는 compile 기능이 없다. compile 후에 chip에 프로그램을 전송시키는 역할만 한다.

 

WinAVR을 다운받으면 설치한다.

 

! 별 특이사항 없이 계속 진행하고, 실행시킨 후 시리얼 넘버를 넣어준다.

 

실습 - WinAVR로 컴파일)

 

 

AVR폴더를 새로 만들어서 기본형에 #include가 빠진 기본형을 만들고 main.c로 저장하자.

 









#4. ATmega128A Datasheet

 

학습목표 - ATmega128A의 데이터 시트를 보고 메모리에 대해 안다.

 

 

데이터 시트 계속

 

작동 볼트

- 2.7 - 5.5V (저전압에서 돌아가지만 성능이 떨어진다. 5.5V이상의 전압이 들어가면 타 버린다.)

 

속도 등급

- 0 - 16MHz

 

 

1. Pin Configurations

 

//작대기가 들어간 핀은 0이 들어가면 동작한다. 64 - 53 = 11개는 작대기가 들어간 핀이다.

7. 메모리

 

7.1 플래쉬 메모리(PC로 치면 하드 디스크)

 

//ATmega128A3가지 메모리로 구성되어 있다.(FLASH, SDRAM, EEPROM)

 

//데이터 시트는 16진수를 표시하기 전에 달러 표시로 알려준다. ex) $FFFF

 

- 플래쉬 메모리 용량은 65,546 -> 64kbyte

 

// Flash메모리는 한 칸에 2byte이다.

 

기본 명령어가 2byte 혹은 4byte이다.

Flash64K * 2byte로 구성되어 있다. 즉 총 메모리는 128K이다.

 

7.2 SRAM 메모리(RAM)

 

일반 모드에서는 4096바이트를 사용 가능하며 외부장치 부착하여 64K 용량 확장 가능

 

확장된 160개의 입출력 레지스터의 사용 여부에 따라 AB로 나뉜다.

 

지정된 메모리 주소에 값을 입력하면 동작이 실행되는 것을 I/O Mapped Memory 방식이라고 한다.(레지스터가 주소를 가지고 있다!)

 

이것은 C언어로 레지스터를 건드릴 수 있다는 것을 의미한다.

 

I/O Mapped I/O는 메모리 address가 없음으로 C로는 직접 프로그래밍 할 수 없고 Assembly어로만 조작이 가능하다.

 

내일(3/4)은 주소를 이용하여 CPU에 불을 켜 볼 것이다.

 

 








 

 

반응형
Posted by newind2000