ATmega 123 - 특징, Havard architecture, RISC / CISC
메인보드 - 연산제어 |
확장보드 - 입출력 |
- 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)
'내장형 하드웨어 > ATmega128' 카테고리의 다른 글
ATmega128 spec 분석, 포인터 복습 (0) | 2011.06.14 |
---|---|
ATmega Pin Configurations, DDR, PORT, PIN (0) | 2011.04.20 |