[AVR] ATmega128

이여진·2023년 7월 23일
0

AVR

목록 보기
1/6
post-thumbnail

📌 AVR

AVR이란 ATMEL사가 개발한 것으로 마이크로컨트롤러이다.
ATmega128은 8비트 AVR 마이크로컨트롤러로 연구실에서 세미나를 진행할 때 공부하고, 사용했었던 내용들을 정리해보려한다.

 

📌 Features

🍀 고성능, 저전력의 8bit 마이크로 컨트롤러

🍀 고급 RISC 구조

RISC란 Reduced Instruction Set Computer의 약자로 CPU 명령어의 개수를 줄여 하드웨어 구조를 좀 더 간단하게 만드는 방식을 의미한다.

RISC라 하면 자동적으로 CISC가 떠오르게 되는데, RISC와 CISC를 들어보기만 했지 정확히 뭔지는 모르기 때문에 검색해보았다.

RISCCISC
Reduced Instruction Set ComputerComplex Instruction Set Computer
적은 수의 명령어를 수행하도록 설계 된 마이크로 프로세서복잡한 명령어 집합을 갖는 CPU 아키텍처
효율적이고 특화 된 CPU 구조회로 복잡, 병렬 처리가 쉽지 않음
속도가 빠르고 가격 저렴속도가 느리고 복잡

 

RISC랑 CISC의 장단점에 대해서는 알게 되었는데 실제로 어떤 경우에 RISC 방식을 사용하고, CISC 방식을 사용하는지 검색해봤다.

주로 볼 수 있는 컴퓨터가 CISC 방식이며, 예시로는 인텔, AMD가 있다고 한다.
또한 워크스테이션, 대형 서버가 RISC 방식을 사용하며, 예시로는 ARM이 있다고 한다.

CISC 방식의 경우 필요한 모든 명령어들을 갖춘 마이크로 프로세서이고, RISC는 자주 사용하는 것들만을 갖춰서 효율성과 속도가 높은 것 같다.

🍀 고내구성, 비휘발성 메모리

🍀 JTAG 인터페이스 기능 가짐

JTAG이란 Joint Test Action Group의 약자로 디지털 회로에서 특정 노드의 입출력을 위해 직렬 통신 방식으로 출력 데이터를 전송하거나 입력 데이터를 수신하는 방식을 뜻한다.

🍀 주변 장치 기능

  • 2개의 8비트 타이머/카운터와 2개의 16비트 타이머/카운터 가짐
  • 시스템 클럭을 발생하는 내부 RC 오실레이터 회로 가짐
  • 8채널 10비트 AD 컨버터 가짐
  • 2개의 전이중 통신이 가능한 USART 직렬통신 포트 가짐
  • 아날로그 비교기 가짐
  • SPI 및 TWI 직렬통신 포트 가짐

🍀 특수 마이크로컨트롤러 기능

  • 내부 보정된 RC 오실레이터 가짐
  • 6가지 절전모드

🍀 입출력 핀 및 패키지

  • 64개의 핀
  • 53개의 프로그래밍 가능한 입출력 핀

🍀 동작전압 및 동작속도

  • 동작전압 : 4.5~5.5V
  • 동작속도 : 0~16MHz

 

📌 ATmega128 보드회로도

위에 보이는 사진은 ATmega128 보드회로도이다.

연구실에서 ATmega128 관련 세미나를 진행할 때, 개념공부 뿐만 아니라 직접 회로도를 보고 납땜을 하고, 코딩을 하였는데 1주차 때는 ATmega128 기본 개념을 공부하고 main 부분, LED 부분, ISP 부분, 전원부분을 납땜 해주었다.

 

📌 ATmega128 납땜


1주차 관련 납땜 후 기판의 모습은 위의 사진과 같다.
실험 수업 때 보던 회로와는 비교가 안될 정도로 복잡해서 엄청 애먹었던 기억이 난다.
납땜 후 뒷면을 보았을 때 구분이 가게 하기 위해서 Vcc 부분은 빨간 선으로, GND 부분은 검정 선으로 해주었고, 파트별로 전선 색깔을 다르게 해주었다.

🍀 main 부분

main 부분의 경우 노란선을 이용해서 납땜해주었다.

main 부분을 보면 오실레이터가 달려있는데, 오실레이터라는 것 자체를 처음 들어서 오실레이터가 무엇인가 알아보았다.

✨오실레이터

  • 능동 발진 소자 : 전류, 전압이 인가되어야 동작이 결정되는 소자
  • 자체만으로 발진 회로가 내장되어 있어 주변 회로가 필요 없음
  • 전원 공급만 되면 주파수 신호가 출력
  • 반드시 전원, GND, OUTPUT, N.C 4개의 핀 필요
  • 수십 MHz 이상 주파수를 필요로 하는 경우 사용

ATmega128의 경우 동작 속도가 0~16MHz인데, 여러 오실레이터 중에 16MHz 수정발진기를 사용한 것은 동작속도 때문이라는 것을 알게되었다.

 

🍀 LED 부분


LED 부분의 경우 흰색 선을 이용해서 납땜해주었다.

 

🍀 ISP 부분, 전원 부분


ISP 부분과 전원부분의 경우 파란선을 이용하여 납땜해주었다.


전원부분에 보면 레귤레이터 LM7805CT를 사용했는데, 레귤레이터라는 것을 처음 들어봐서 레귤레이터가 무엇인지에 대해서 알아보았다.

레귤레이터란 일정 전압을 잡아주는 역할을 하는 소자로 어떠한 전압이 들어오더라도 정해진 전압만을 출력한다.

조금 더 공부해보니 레귤레이터에는 리니어 방식스위칭 방식이 있었다.

✨리니어 방식

  • 직접적으로 전압을 떨어뜨리는 방식으로, 변환 과정에서 발열이 심하며 전력 효율이 낮다.
  • 전류 요구량이 낮은 회로에 이용한다.
  • 78XX 시리즈 : 입력전압을 + 변환하여 출력한다.
  • 79XX 시리즈 : 출력 전압에 대한 - 전압으로 변환한다.
  • 뒤의 두 자리 수는 전압을 의미한다.

✨스위칭 방식

  • 출력단으로 흘려주는 펄스의 양을 조절해 전압을 정밀하게 조정하는 전압 변환기이다.
  • 발열이 적고, 큰 전력을 흘릴 수 있으며, 가격이 비싸다.

내가 사용한 LM7805CT의 경우 위에 공부한 것을 토대로 해석해보면 리니어 방식을 사용하였으며, 입력 전압을 5V로 변환하여 출력해준다는 것을 알 수 있다.

어떻게 보면 당연한게 ATmega128의 동작 전압이 4.5V~5.5V이기 때문에 LM7805를 사용할 수 밖에 없다.

납땜 후 제대로 납땜이 되었나 확인하기 위해서 12V를 전원부에 공급해주고 멀티미터로 찍어서 5V가 출력되는지 확인해주었다.

 

🤣 느낀점

진짜 전혀 모르던 개념을 처음 접하게 되어 복잡하고 어렵다는 생각이 제일 먼저 들었던 것 같다. 납땜할 때도 이렇게까지 복잡한 납땜을 해본적이 없어서 어려움이 있었다.

 

profile
The sky is the limit

1개의 댓글

comment-user-thumbnail
2023년 7월 23일

좋은 글 감사합니다.

답글 달기