본문 바로가기
학점은행제/첫 학기 - 수업

[과제] 마이크로프로세서 - 카운터

by 코곰 2020. 12. 22.

다음 답변은 KG아이티뱅크 2학기 3기수 마이크로프로세서  수업의 과제에 대한 개인적인 답변입니다.

이에 받은 점수와 무관하게 학기를 마무리하며 개인적으로 기록을 남기고자 포스팅합니다.

 

주제

 

1. 마이크로프로세스와 마이크로컴퓨터의 차이점을 설명 하세요

 

마이크로프로세서는 작은 실리콘 칩 위에 전자 신호나 전력을 스위칭하거나 증폭시키는 트랜지스터를 수천만 개 집적한 소자이다. ‘마이크로 '프로세서라는 이름이 말하듯 아주 작은 처리기를 뜻하는 것이다. 산술논리장치(ALU), 제어장치(CU), 레지스터 등을 포함하여 중앙처리장치 (CPU, Central Processing Unit)의 역할을 할 수 있다. 다만 마이크로프로세서는 연산만 가능하며 입출력장치나 기억장치와 같이 쓰이지 않으면 개별적으로 사용될 수 없다. 마이크로컴퓨터 (혹은 마이크로컨트롤러)는 이를 확장시켜, 마이크로프로세서를 중심으로 입출력 (I/O)장치, 기억장치 (RAM, ROM ) 등 주변장치를 추가하여 구동되게 만든 것이다. 하나의 칩 위에 구성하는 단일 칩 마이크로컴퓨터, 하나의 보드 위에 구성하는 단일 보드 마이크로컴퓨터 등이 있다. 따라서 마이크로프로세서는 CPU 역할을 하는 작은 칩이며, 이것 다른 부품들과 조합되어 구동이 가능케 된 것이 마이크로컴퓨터이다.

 

2. 타이머 카운터에서 Over Flow Mode 동작에 대해 설명 하세요

 

타이머 / 카운터란, Atmega128을 비롯한 마이크로컨트롤러 (MCU, Micro Controller Unit) CPU에 부담을 주지 않고 자체적으로 시간 / 숫자를 셀 수 있도록 도와주는 부분이다. 타이머는 내부 클럭을 세는 것, 그리고 카운터는 외부 입력에 의한 클럭을 세는 것이라 할 수 있다. [2]Atmega128에는 타이머/카운터 0, 1, 2, 3이 존재하며, 0 2 8비트 구조이다. 8비트 타이머 / 카운터의 모드는 파형 모드 발생 모드에 따라 일반 모드, 고속 PWM모드, 위상정정 PWM, CTC모드로 나뉠 수 있는데, 논하고자 하는 오버플로 개념은 일반모드에 적용되는 개념이다. 일반모드는 TCCRn 레지스터에서 WGMn1 WGMn0 0으로 세팅하면 구현된다. 일반모드로 설정되면 TCNTn 레지스터가 내부 클럭을 세기 시작하는데, TCNTn 1번의 클럭 당 1씩 증가하게 된다. 8비트 타이머기에 이 숫자가 1111 1111 (혹은 0xFF)이 되면 최대값에 도달한 것이며, 이 때 다음 카운트 시 0으로 리셋된다. 이 때 발생하는 인터럽트를 바로 오버플로 인터럽트라고 지칭한다. 오버플로 인터럽트 모드를 사용하기 위해서는 TIMSK 레지스터에서 활성화시키면 된다. 따라서, 오버플로 모드는 타이머에서 타이머 값이 레지스터의 최대 범위를 벗어나 0으로 리셋될 때 인터럽트를 발생시키는 시스템이다.

 

 

 

출처:

 

[1] 학점은행제 마이크로프로세서 교안, 아이티뱅크, 2020

 

[2] “노베이스 AVR - 타이머 / 카운터 0 (Normal Mode).” Wandering :  네이버 블로그, m.blog.naver.com/PostView.nhn?blogId=iintuition_.

댓글