본문 바로가기
임베디드/FW

[MCU] AVR ATmega128

by Murciellago 2022. 9. 24.
반응형
SMALL

마이크로 컨트롤러 유닛(Microcontroller unit)을 줄여서 MCU라고 한다.

 

마이크로 컨트롤러는 무수히 많은 제조사가 있는데 그 중에서 ATmega128을 많이 사용해 왔었다.

 

지금은 아두이노나 라즈베리파이를 많이 사용하고 있겠지만 말이다.

 

MCU는 초기 선정할 때에 필요한 요소가 

 

프로세서 속도, 프로세서 비트 수, 메모리 용량, 사용자의 쓰고자하는 입출력 장치 이다.

 

ATmega128에 대해 예를 들면

 

프로세서 속도는 8M/16Mhz 를 사용할 수 있지만 16Mhz를 사용한다고 보면

 

1초당 16000만개를 처리할 수 있는 장치가 되겠다.(파트넘버에 따라 8Mhz까지 되는것이 있으니 확인 필요)

 

비트 수는 ATmega128로 따지면 8비트로 내장된 MCU이다.

 

메모리 용량은 ATmega128은 내부에 128k Byte 플래쉬와, 4k EEPROM, 4k SRAM이 있다.

 

외부에 64k Byte 까지 장착 가능하다.

 

이 외에도 범용 입출력 장치나 USART, SPI, ADC, PWM 등 사용할 수 있는 장치를 가지고 있다.

 

 

1. ATmega128 pin map 및 datasheet

ATmega128A datasheet.pdf
6.05MB

2. 핀 기능

 

위 핀맵을 보면 각 핀들이 가지고 있는 기능들이 있다.

 

전원핀(VCC : +전원, AVCC: 아날로그 전원, GND: 접지)

PORT A ~ G : 범용 입/출력 or 해당되는 기능 사용 가능

RESET : MCU 리셋 입력(프로세서에 LOW를 입력하면 리셋)

XTAL : 외부 크리스탈으로 클럭을 사용

AREF : ADC 기준 전압

PEN : SPI 프로그램을 사용 가능하게 하는 핀

 

3. 레지스터

 

레지스터는 명령어를 수행하거나 데이터를 저장하지 않고 빠른 수행을 할 수 있도록 한다.

간단하게 말하면 데이터를 임시로 저장하여 명령어를 사용한다고 보면 될듯 하다.

ATmega128은 수 많은 레지스터를 가지고 있으며 담당하는 레지스터가 있다.

메모리에 대한 레지스터도 있고, 범용 입출력에 대한 레지스터 또는 상태를 확인하는 레지스터도 있다.

 

4. 메모리

 

메모리 구조가 가장 중요하다고 볼 수 있다.

각 해당하는 주소에 데이터들을 할당하고 있는데 각 메모리 특징에 따라 속도도 달라지므로

사용자가 메모리 관리를 할 수 있어야 한다.

 

Flash는 비휘발성 메모리로 전원이 꺼져도 데이터가 소멸하지 않고

MCU에 ISP 툴을 사용하여 Flash에 데이터를 다운로드하면 메모리 내용을 변경 불가하며 읽기만 가능하다.

데이터메모리는 레지스터 및 데이터를 쓰고/읽기가 가능하며 메모리 주소가 있어 할당된 주소에만 사용가능하며

부족할 경우 외부 메모리를 장착 가능하지만 속도는 내부보다 느리다.

EEPROM은 비휘발성 메모리이다. 기능들을 사용하는데 꼭 필요한 데이터나 전원이 꺼지더라도 사용해야할 경우에는 이 비휘발성 메모리를 사용해서 데이터를 보관한다. 내장용 EEPROM은 읽기에는 사용횟수가 없는 방면 쓰기는 100,000번까지 사용할 수있다. 

 

 

 

ATmega128 은 이렇게 정리하도록 하겠습니다.

반응형
LIST

'임베디드 > FW' 카테고리의 다른 글

[ATmega] ATmel Studio ISP 설정  (0) 2022.09.25
[MICROCHIP] ATMEL Studio 7.0 프로그램 다운로드  (0) 2022.09.24

댓글