내장형 하드웨어/ATmega128

ATmega 123 - 특징, Havard architecture, RISC / CISC

동화다아아 2011. 4. 19. 15:41

 

- DK-128의Atmega128
 

메인보드 - 연산제어

확장보드 - 입출력

 



- AVR 마이크로 컨트

 

롤러의 개요


⇒ 마이크로 컨트롤러

 → 마이크로 컨트롤러 + 메모리 + 제어회로

 → 완전한 컴퓨터 구성(MCU)라고도 함.

 

- Microprocessor, Microcontroller

 

구 분

마이크로프로세서(Microprocessor)

마이크로컨트롤러(Microcontroller)

특징

․ CPU를 단일 IC 칩으로 만든 반도체

․ MPU(Micro-Processor)

․ 혼자서는 불완전하다.

 (주변 하드웨어들이 필요)

․ 범용적인 목적의 컴퓨터(PC)에 많이 사용

․ CPU +메모리 주변 하드웨어 회로

․ MCU(Micro-Controller unit)

․ Single-chip Microcontroller

 (1개의 칩으로 컴퓨터 구현이 가능)

․ 특별한 목적의 기기 제어용으로 많이 사용


 - AVR 마이크로 컨트롤러

 → 미국 ATmel사의 8bit 제어용 마이크로 프로세서

 → Advanced RISC 구조

 → 하버드 구조 처리 방식

  1) 매우 빠른 처리 속도

  2) 하버드 구조 : 데이터 버스와 주소 버스의 독립

 → 플래시 메모리 기술 접목

  칩 내 프로그램 내장 가능



하버드 구조(Harvard architecture)

 → 어드레스 버스와 데이터 버스를 독립적으로 분리

 → 주소 접근과 데이터 접근을 동시에 할 수 있음

 → CPU 처리속도 향상

 → 추가적인 회로 필요

 

하버드 구조(Harvard architecture)


 

폰 노이만 구조(Von Neumann Architecture)

 

- RISC / CISC 비교

RISC

CISC

 ․ 적고 단순한 명령 구조

 ․ 많은 레지스터

  - 빠른 처리 속도

  - 낮은 호환성

 ․ 많고 복잡한 명령어 구조

 ․ 적은 레지스터

  - 느린 처리 속도

  - 높은 호환성


ATmega 128

 → ATMEL 사에서 개발한 AVR 시리즈 중 하나.

 → 성능에 따라 - ATtiny Familly → 4bit (주로 장난감 등.)

                - AT90 Familly → 조금 더 발전

                - ATmega Familly → ATmega128 해당.

 → 8bit 마이크로 컨트롤러

 

ATmega128의 기본 구조와 기능

 → 8비트 CMOS형 마이크로컨트롤러

 → Harvard Architecture 설계

 → 프로그램 버스와 데이터버스로 분리

 → 내장 메모리

 → 프로그램메모리 128KB (프로그램 메모리를 따 ATmega128이다.)

 → SRAM 4KB

 → EEPROM 4KB


ATmega128의 특징

AVR은 8-비트 RISC(Reduced Instruction Set Computer)구조로 명령어가 간단하며 동작속도가 빠르고, 16MIPS(Million Instruction Per Second)의 성능을 보인다.


AVR의 장점은 C 언어뿐만 아니라 어셈블리 언어에서도 보다 더 최적화 된 코드 크기를 가지고 지금까지의 일반 프로세서보다 4~12배 빠르게 동작한다는 것이다.


또한 ATMEL의 비휘발성 메모리 기술을 기반으로 Flash Memory와 EEPROM을 기본 사양으로 내장하여 개발과 양산의 편리성과 주변회로(Glue Logic)를 최소화할 수 있도록 고려하였고, ISP(In-System Programming : 마이크로 컨트롤러가 PCB에 부착된 상태에서 Vcc 전원만으로 ISP Port 이용하여 내부 메모리에 프로그램을 Writing하는 기능)가 가능하도록 했다는 큰 장점을 가지고 있다. ATMEL은 기존의 RISC 구조와는 다르게 Enhanced RISC 구조를 AVR에 채택했다고 한다.


이번에 사용한 CPU는 ATMEL사의 MegaAVR 제품군 중의 ATmega128이다.


• 향상된 RISC 구조

- 133개의 강력한 명령어들이 대부분 단일 클럭으로 진행된다.

- 32 X 8 범용 트렌지스터 + 주변 컨트롤 레지스터로 구성되어 있다.

- 완전 정적인 동작을 한다.

- 16MHz 환경에서 16MIPS 이상의 성능을 가진다.

- 2 cycle 곱셈기를 내장하고 있다.


• 비휘발성 프로그램과 데이터 메모리

- 128 Kbyte In-System 프로그램 플래시 메모리를 장착하고 있다.

- 독립 락 비트를 지원하는 옵션 부트 코드 섹션을 가지고 있다.

- 칩에 내장된 부트 프로그램으로 In-System 프로그래밍이 가능하다.

- 4K Byte EEPROM(10000번의 삭제, 기록이 가능한 내구성)을 이용해 읽고 쓰는 동작을 동시에 수행 가능하다.

- 4K Byte의 내장형 SRAM이 장착되어 있다.

- In-System 프로그래밍을 위한 ISP 인터페이스 방식을 지원한다.

- 소프트웨어의 보안을 위한 프로그램 방식의 락을 설정할 수 있다.

- 최대 64Kbyte 이상의 외부영역 메모리를 가지고 있다.


• JTAG (IEEE std. 1149.1 호환) 인터페이스 제공한다.

- JTAG 표준에 근거한 Boundary-Scan 제공

- 방대한 칩 내장형 디버그 기능

- JTAG 인터페이스로 플래시, EEPROM, 퓨즈와 락비트를 프로그래밍 가능하다.


• Specification

- 두 개의 8bit Timer/Counters 와 독립된 프리스케일러, 비교모드를 제공한다.

- 두 개의 확장된 16bit Timer/Counters 와 독립된 프리스케일러, 비교모드, 캡쳐모드를 제공한다.

- 실시간 Counter와 독립된 발진기를 제공한다.

- 두 개의 8bit PWM Channel을 제공하며, 6개의 PWM Channel과 두 개의 16bits 사이의 프로그램 가능한 해상도를 지원한다.

- 비교기 출력

- 8bit Channel과 10bit ADC를 가지고 있다.

- 2 독립채널과 프로그램 가능한 1X, 10X, 200X의 Gain을 가진다.

- Byte 지향의 무선 직렬인터페이스를 가진다.

- 마스터/슬레이브의 SPI 직렬 인터페이스를 가진다.

- 프로그램 가능한 Watchdog Timer와 칩 내장형 발진기를 지원한다.

- 칩 내장형 아날로그 비교기를 장착한다.


• I/O Package


- 53개의 프로그램 가능한 I/O라인

- 64개의 TQFP와 64패드 MLF


• 동작 전원

- ATmega128L : 2.7V ~ 5.5V

- ATmega128 : 4.5V ~ 5.5V


• 동작 속도

- ATmega128L : 0 ~ 8MHz

- ATmega128 : 0 ~ 16MHz



D:\ATmega128_code 폴더 생성

해당 폴더에 main.c, make, self 파일 생성

해당 디렉토리에서 cmd 창을 띄운 후

 → make : 컴파일

 → make clean : 컴파일 한 파일 삭제

 → self : 시리얼 포트 연결


ATmega128의 기본 구조와 기능

 → 8비트 CMOS형 마이크로컨트롤러

 → Harvard Architecture 설계

 → 프로그램 버스와 데이터버스로 분리

 → 내장 메모리

 → 프로그램메모리 128KB (프로그램 메모리를 따 ATmega128이다.)

 → SRAM 4KB

 → EEPROM 4KB


 


D:\ATmega128_code 폴더 생성

해당 폴더에 main.c, make, self 파일 생성

해당 디렉토리에서 cmd 창을 띄운 후

 → make : 컴파일

 → make clean : 컴파일 한 파일 삭제

 → self : 시리얼 포트 연결

[참조]
ATmega128의 특징(http://blog.naver.com/lcw1318?Redirect=Log&logNo=50054060162)