CS/마이크로프로세서 17

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

본문 LED와 스위치 제어 이론 지난 시간에 배운 입출력 포트를 레지스터로 제어하여 LED를 점등해 보자. 일단 J-KIT-128-1의 회로도를 살펴보면, LED가 PORTA와 연결되어 있음을 알 수 있다. 또한 LED가 LED의 양극이 MCU와 연결되어 있다는 것을 확인할 수 있다. 이는 Current Source 방식을 채용하고 있다는 것을 의미한다. 이 방식은 핀의 출력이 1일 때 LED가 점등된다. 실습을 진행하기 위해선 핀당 허용 전류를 확인하고, 저항을 선택하는 과정이 필요하나 J-KIT-128은 이미 모듈화가 되어 있어 생략해도 된다. 그리고 LED 점등 시 추가적인 제어를 위해 스위치를 사용한다. 스위치 1은 PORTE의 4번 핀과 연결되어 있고, 스위치 2는 PORTE의 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) 방식을 최초로 도입해 프로그램 개발 시간을 단축하였다. 또한 레지스터를 기반으..

[마이크로프로세서] 메모리 분류

메모리 분류 개요 지난 컴퓨터 구조 시간에 메모리에 관해 전반적인 공부를 했었다. 이번 시간에는 메모리 분류에 초점을 맞춰 공부해 보도록 하겠다. 본문 해당 사진은 메모리를 제조 재료, 휘발성 등으로 나눈 분류표다. 우리가 중점적으로 다뤄야 하는 것은 반도체 메모리며, 이를 휘발성과 비휘발성으로 나눠 알아보자. 휘발성 메모리(RAM) 먼저 휘발성 메모리는 크게 SRAM과 DRAM으로 나눌 수 있다. SRAM은 속도가 빠르지만 가격이 비싸다는 단점이 있고, 반대로 DRAM은 속도가 느린 대신 가격이 싸다는 장점이 있다. 따라서 이 둘의 특성에 맞게 자주 접근할 수 있는 캐시 메모리는 SRAM으로 만들고, 자주 접근하지 않지만 용량이 큰 주기억장치 메모리는 DRAM으로 만든다. 비휘발성 메모리(ROM) 롬은..

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

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

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

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