본문내용
1. 마이크로프로세서와 마이크로컨트롤러
1.1. 마이크로프로세서의 정의 및 구성
마이크로프로세서는 초소형 연산 처리 장치라고 불리는 컴퓨터의 중앙처리장치이다. 구체적으로 CPU가 직접 이해할 수 있게 하기 위해 단계별로 실행과정을 나누어 처리를 위한 마이크로 코드를 작성 후 이 마이크로 코드에 의해 단계적으로 처리하는 논리회로이다. 처음에는 하나의 칩으로 만들어졌으나 점점 다른 하드웨어 요소들을 집적시키며 CPU-코어라는 말로 다른 요소들과 구분되어 왔다. 컴퓨터 전체 시스템의 위치와 입장에서의 CPU가 동작방식에서 나온 마이크로프로세서와 같은 말이다.
마이크로프로세서는 ALU, 레지스터, 제어 유니트, CPU 내부버스로 구성되어 있다. ALU는 arithmetic and logic unit의 준말로 덧셈, 뺄셈, 곱셈, 나눗셈과 같이 산술 연산들과 AND, OR, NOT, XOR과 같이 논리 연산들을 수행할 수 있는 회로들로 이루어진 하드웨어 모듈이다. 레지스터는 CPU내부에 위치한 엑세스 속도가 가장 빠른 기억장치로 특수목적의 레지스터와 일반 목적용 레지스터로 레지스터들의 수가 제한되어 있다. 제어 유니트는 제어라는 말과 같이 프로그램 코드(명령어)를 해석하고 그것을 실행하기 위해 제어 신호등을 순차적으로 발생하는 하드웨어 모듈이다. CPU내부버스는 ALU와 레지스터들 간의 데이터 이동을 위한 데이터 선들과 제어 유니트로부터 발생되는 제어신호 선들로 구성된 내부버스다. CPU에서의 버스는 컴퓨터 안의 부풀들 혹은 컴퓨터 사이의 데이터와 정보를 전송하는 통로를 의미한다. 외부의 시스템 버스들과는 직접 연결되는 구조가 아닌 버퍼 레지스터들 혹은 시스템 버스 인터페이스 회로를 통하여 외부 시스템 버스와 접속을 한다.
1.2. 마이크로컨트롤러의 정의
microcontroller unit의 준말인 MCU로도 불리는 마이크로컨트롤러는 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어 특정 기능을 수행하는 컴퓨터를 의미한다. 마이크로컨트롤러는 CPU코어(마이크로프로세서), 메모리, 그리고 프로그램 가능한 입/출력을 가지고 있다. NOR 플래시 메모리, EPROM 그리고 OTP과 ROM등의 메모리를 가지고 있어 정해진 기능을 수행 할 수 있도록 코딩하고 CPU가 이해 할 수 있게 한다. 이러한 과정을 실행되기 위한 변수나 데이터 저장을 위해 적은 용량의 SRAM을 가지고 있다. 기타 칩에 따라 EEPROM을 내장할 때도 있다. 마이크로컨트롤러는 기계나 기타 제어가 필요한 시스템에 대해 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템인 임베디드 애플리케이션을 위해 디자인되었고 임베디드 시스템에 널리 사용된다.
1.3. ATmega128의 정의 및 특징(용도)
ATmega128은 ATMEL사의 8비트 AVR 마이크로컨트롤러의 megaAVR 계열 중 하나로, 64핀 TQFP 패키지의 저전력 8비트 CMOS 마이크로컨트롤러이다. 주요 특징은 다음과 같다.
첫째, ATmega128의 내부 구조는 RISC 아키텍처로 구성되어 있다. 대부분의 명령어가 1클럭 사이클에 실행되며, 32개의 8비트 범용 레지스터를 가지고 있다. 이를 통해 16MIPS의 높은 처리 능력을 제공한다. 또한 내장 곱셈기로 2사이클에서 곱셈 연산이 가능하다.
둘째, ATmega128은 다양한 메모리 자원을 가지고 있다. 최대 256kB의 플래시 메모리, 4kB의 EEPROM, 8kB의 SRAM을 포함한다. 이를 통해 대용량 프로그램 코드와 데이터 처리가 가능하다.
셋째, 고성능과 저전력 설계가 특징이다. 16MHz 동작 주파수에서 16MIPS의 성능을 발휘하면서도 상대적으로 낮은 전력을 소모한다. 이를 통해 배터리 구동 및 저전력 임베디드 시스템에 적합하다.
넷째, JTAG 인터페이스를 지원하여 온-칩 디버깅, 플래시/EEPROM 프로그래밍 등이 가능하다. 또한 6가지 슬립 모드와 brownout 검출기 등의 전력 관리 기능도 갖추고 있다.
이처럼 ATmega128은 RISC 구조, 풍부한 메모리 자원, 고성능 저전력 설계, 다양한 인터페이스 등의 특징을 가지고 있어 임베디드 시스템 및 산업용 제어 장치 등 다양한 분야에 활용될 수 있는 우수한 마이크로컨트롤러라고 할 수 있다.
1.4. ATmega128의 사용방법
ATmega128을 사용하려면 5가지 이상의 부품이 필요하다. 각각 컴파일러, ATmega128칩, ISP케이블, 브레드보드, 그리고 LED, 버튼과 같이 각종 전자부품들이 있다.
컴파일러의 경우 ATMEL STUDIO 7.0이 가장 보편화되고 무료이다. ATmega128칩은 1개지만, 이 칩을 직접 납땜해서 사용하기에 초보자들에게 매우 어려워서 미리 납땜되있고 ...