마이크로컨트롤러 5

[마이크로프로세서] ATmega 128 디지털 입출력 제어

디지털 입출력 개요 지난 시간에 ATmega 128에 다양한 입출력 포트를 제어할 수 있다고 배웠었다. 이번 시간에는 범용 입출력 포트의 LED 기능을 이용해 점등해 보는 시간을 가지도록 해보자. 필자는 ATmega 128을 CPU로 장착한 JKit-128을 기준으로 설명하겠다. 본문 범용 입출력 포트 데이터 메모리에는 범용 레지스터 영역, I/O 레지스터 영역, 확장 I/O 레지스터 영역, SRAM 영역으로 나뉜다고 했었다. 이중 8비트의 입출력은 PA~PF 6개, 5비트의 입출력 포트는 PG 1개다. 범용으로 사용될 경우 읽기, 수정, 쓰기 기능을 수행할 수 있는데, 이는 포트를 비트 단위로 입/출력으로 자유롭게 설정 가능함을 의미한다. 이러한 기능의 제어는 I/O 레지스터로 설정한다. 물론 해당 제..

[마이크로프로세서] ATmega 128 구조

ATmega 128 구조 개요 지난 시간에 ATmega 128에 대한 대략적인 개요를 파악했었다. 이번 시간에는 ATmega 128의 CPU와 메모리 구조를 파악해 보는 시간을 가지도록 해보자. 시작하기 앞서 ATmega 128은 프로그램(SRAM)과 데이터(FLASH, EEPROM)가 분리되어 있으므로 Havard 구조를 채택하고 있다는 점 알아두자. 그리고, 해당 구성요소들은 컴퓨터 구조 시간에서 한 번씩 다뤘던 내용이므로, 헷갈린다면 해당 게시글들을 확인해 보자. 본문 CPU 구조 ATmega 128의 CPU 구조다. 여기서 ALU를 포함해 범용 레지스터(General Purpose Register), 상태 제어 레지스터(Status and Control), 프로그램 카운터, 플래시 메모리, 명령 ..

[마이크로프로세서] ATmega AVR 개요

ATmega AVR 개요 ATmega AVR은 ATMEL(현 Microchip) 사에서 제작한 RISC 구조의 저전력 CMOS 마이크로컨트롤러다. 이 마이크로컨트롤러는 다양한 종류의 I/O 메모리, 페리페럴(Peripheral) 옵션(CPU 외부에 위치한 장치들)을 제공하고 있어, 다양한 임베디드 시스템 개발에 활용되고 있다. 특히 AVR RISC 구조는 CISC에 비해 10배 이상 빠른 속도로 프로그램이 실행될 수 있는 코드 체계를 갖추고 있다. 즉, 대부분의 명령이 단일 클럭(1MHz당 1MIPS)으로 실행하며, 프로그램 메모리와 데이터 메모리를 동시에 접근할 수 있다. 또한 ISP(Im-System Programming) 방식을 최초로 도입해 프로그램 개발 시간을 단축하였다. 또한 레지스터를 기반으..

[마이크로프로세서] 분류

마이크로컨트롤러 분류 개요 마이크로컨트롤러는 여러 기준에 따라 분류될 수 있다. 주요 분류 기준은 비트 수, 메모리 접근 방식, 그리고 명령어 구성 방식이다. 각 분류 기준에 따라 마이크로컨트롤러의 특성과 사용법이 달라질 수 있으므로, 이를 이해하고 적절한 마이크로컨트롤러를 선택하는 능력이 필요하다. 따라서 이번 시간에는 이러한 분류법에 대해 배워보도록 하겠다. 본문 비트 수에 의한 분류 비트 수에 의한 마이크로컨트롤러의 분류는 주로 데이터 버스의 너비를 기준으로 한다. 이는 마이크로프로세서가 한 번에 처리할 수 있는 데이터의 양을 의미하는데, 비트 수에 따라 다음과 같이 주요 분류가 이루어진다. 먼저 8비트 마이크로프로세서는 주로 센서 데이터의 읽기, 기본적인 모터 제어, 그리고 간단한 통신 기능과 같..

[마이크로프로세서] 개요

Micro Processor 개요 지난 컴퓨터 구조 시간에서 배웠듯이, 컴퓨터는 하드웨어와 소프트웨어로 구성되는 명령어를 처리하는 기계다. 우리가 일반적으로 사용하는 범용 컴퓨터(PC)는 그 구조 내에 다양한 부품과 기능들을 내장하고 있어, 복잡한 작업들도 손쉽게 처리할 수 있다. 그렇다면 컴퓨터의 핵심이 되는 기본 구성 요소는 무엇일까? 바로 CPU, 메모리(주 메모리, 보조 메모리), 입출력 장치다. 이러한 핵심 부품들이 통합된 장치를 컴퓨터로 정의할 수 있다. 이때, 마이크로컴퓨터라는 용어는 이러한 핵심 부품들을 포함하면서도, 마이크로프로세서를 중심으로 간소화된 구조를 가진 컴퓨터를 의미한다. 초기의 마이크로컴퓨터는 대형 컴퓨터나 미니 컴퓨터에 비해 작고, 특정한 목적에 맞춰진 작업을 수행하도록 설..