ATtiny85: 핀 구성, 블록 다이어그램 및 프로그래밍

1월 07 2026
근원: DiGi-Electronics
탐색: 334

ATtiny85는 공간과 전력 사용이 중요한 단순 제어 작업을 위해 설계된 소형 8비트 마이크로컨트롤러입니다. 메모리, 타이머, 아날로그 입력, 직렬 통신을 8핀 패키지에 결합합니다. 이 글에서는 사양, 핀배열, 내부 구조, 전원 및 클럭 설정, 프로그래밍, 회로, 그리고 일반적인 문제에 대한 상세한 정보를 제공합니다.

Figure 1. ATtiny85

ATtiny85 개요 

ATtiny85는 공간, 전력 소비, 부품 수를 최소화해야 하는 간단한 제어 작업을 위해 설계된 컴팩트한 8비트 마이크로컨트롤러입니다. 8핀 형태 팩터는 회로 크기, 배선 복잡성, 시스템 비용을 줄이면서도 기본적인 제어 기능을 제공합니다.

시장에 오랜 기간 존재했음에도 불구하고, ATtiny85는 안정성, 강력한 문서, 그리고 일반적인 개발 도구와의 호환성 덕분에 여전히 널리 사용되고 있습니다. 넓은 전압 범위에서 동작하며 여러 클럭 옵션을 지원하여 신뢰성 있고 예측 가능한 동작이 필요한 컴팩트하고 저전력 설계에 적합합니다.

ATtiny85 기술 사양 

아니요. 핀8
CPURISC 8비트 AVR
작동 전압1.8에서 5.5 V
프로그램 메모리8K
프로그램 메모리 유형플래시
RAM512 바이트
EEPROM512 바이트
ADC 채널 수10비트 4
비교기1
패키지PDIP (8핀) SOIC(8핀) TSSOP (8핀) QFN/MLF (20핀)
발진기최대 20 MHz
타이머 (2)8비트 타이머
강화된 전원 리셋
파워업 타이머
입출력 핀6
제조사마이크로칩
SPI
I2C
워치독 타이머
브라운 아웃 감지 (BOD)
리셋
USI (범용 직렬 인터페이스)
최소 작동 온도-40도
최대 작동 온도125 C

ATtiny85 핀 구성

Figure 2. ATtiny85 Pinout Configuration

이름주요 기능
1PB5리셋, GPIO (퓨즈가 변경된 경우)
2PB3GPIO, ADC
3PB4GPIO, ADC
4GND그라운드
5PB0GPO, PWM, MOSI
6PB1GPO, PWM, MISO
7PB2PPI, ADC, SCK
8VCC전원 공급

ATtiny85는 PDIP-8과 QFN/MLF-20 패키지로 제공됩니다. 두 기기는 내부 회로가 동일하지만, 핀 배열이 다릅니다. PDIP-8 패키지는 기본 핀만 노출하며 기본 회로에서 사용하기 쉽습니다. 반면 QFN/MLF-20 패키지는 연결 안 된 핀을 포함합니다.

대부분의 핀은 여러 기능을 지원합니다. 단일 핀은 디지털 입력 또는 출력 역할을 하거나, 아날로그 신호를 읽거나, PWM 출력을 생성하거나, 직렬 통신을 지원할 수 있습니다. 이 다기능 설계 덕분에 ATtiny85는 작으면서도 유연성을 제공합니다. RESET 핀은 퓨즈 설정을 변경하여 핀으로 설정할 수도 있지만, 이 경우 외부 리셋 기능은 제거됩니다.

ATtiny85 블록 다이어그램

Figure 3. ATtiny85 Block Diagram

ATtiny85는 플래시 메모리에 저장된 명령어를 실행하는 AVR 처리 코어를 중심으로 설계되었습니다. SRAM은 작동 중 임시 데이터에 사용되며, EEPROM은 전원이 차단될 때 유지해야 하는 비휘발성 데이터를 저장합니다. 프로그램 카운터, 스택 포인터, 레지스터는 명령어 흐름과 데이터 처리를 관리합니다.

타이밍 기능은 두 개의 내부 8비트 타이머와 워치독 타이머로 처리됩니다. 워치독은 정상적인 프로그램 실행이 중단되면 장치를 초기화하여 신뢰성을 향상시킵니다. 내부 발진기가 클럭 신호를 제공하고, 중앙 집중식 타이밍 제어가 모든 내부 모듈을 동기화합니다.

입출력 작업은 외부 핀에 직접 연결된 포트 레지스터를 통해 관리됩니다. 이 장치는 ADC와 비교기와 같은 아날로그 회로도 통합합니다. 모든 내부 블록은 공유 데이터 경로를 통해 연결되어 있어 메모리, 처리 논리, I/O 간 효율적인 통신이 가능합니다.

ATtiny85 전원, 클럭, 퓨즈 설정

• ATtiny85는 외부 클럭 부품 없이도 작동할 수 있는 내부 RC 발진기를 포함하고 있습니다.

• 더 높은 타이밍 정확도가 필요할 때 외부 클럭 소스나 크리스탈을 사용할 수 있습니다.

• 퓨즈 설정은 클럭 소스, 시작 지연, 브라운아웃 감지 레벨, RESET 핀 동작을 제어합니다.

• 낮은 클럭 속도로 동작하면 전력 소비와 전기 잡음이 줄어듭니다.

• 브라운아웃 감지는 저전압에서 안정성을 향상시키지만 전류 소모를 약간 증가시킵니다.

ATtiny85 GPIO 제한 및 안전 작동

• GPIO 핀은 신호 제어용으로 설계되었으며 외부 부하에 전원을 공급해서는 안 됩니다.

• GPIO 핀에 연결된 LED는 손상을 방지하기 위해 전류 제한 저항기가 필요합니다.

• 모터, 릴레이 및 기타 고전류 장치는 외부 트랜지스터 또는 MOSFET을 사용하여 제어되어야 합니다.

• 내부 풀업 저항기를 활성화하여 버튼과 스위치 연결을 단순화할 수 있습니다.

• 모든 GPIO 전압은 영구적인 손상을 방지하기 위해 지정된 한계 내에 있어야 합니다.

ATtiny85 ADC 및 아날로그 기능

특징설명
ADC 해상도10비트
입력 채널최대 4
참고 문헌 옵션VCC 또는 내부 참조
특수 모드ADC 노이즈 감소 절면

ATtiny85는 내장된 아날로그-디지털 변환기를 갖추고 있어 변화하는 전압 레벨을 측정하고 이를 디지털 값으로 변환합니다. 측정 품질은 안정적인 기준 전압, 깨끗한 전원 연결, 적절한 신호 배선에 달려 있습니다. ADC 노이즈 감소 절전 모드를 사용하면 변환 시 내부 잡음이 낮아져 읽기 일관성과 전반적인 신뢰성이 향상됩니다.

ATtiny85 USI와의 직렬 통신

ATtiny85는 범용 직렬 인터페이스(USI)를 통한 직렬 통신을 지원합니다. 이 유연한 인터페이스는 펌웨어를 통해 SPI 모드로 동작하거나 I²C 스타일 통신을 지원하도록 구성할 수 있습니다. 단일 공유 하드웨어 블록을 사용하여 기기는 컴팩트한 크기를 유지하면서도 기본적인 데이터 교환을 가능하게 합니다.

USI는 소프트웨어 제어에 크게 의존하기 때문에 신중한 타이밍 관리가 필요합니다. 간단하고 저속 통신 작업에 적합하지만, 대형 마이크로컨트롤러에 사용되는 전용 SPI 또는 I²C 주변기기보다 자동화 기능이 적습니다.

아두이노 IDE를 통한 ATtiny85 프로그래밍

Figure 4. ATtiny85 Programming Through the Arduino IDE

• ATtiny85는 ATtiny 호환 코어를 설치한 후 Arduino IDE에서 프로그래밍할 수 있습니다.

• 프로그래밍은 USB 프로그래머나 ISP로 설정된 Arduino를 사용하여 수행됩니다.

• Arduino IDE의 보드 설정은 ATtiny85의 선택한 클럭 속도와 동작 전압에 맞춰야 합니다.

• 코드에 사용되는 PIN은 물리적 핀 배열과 다르므로, 배선 전에 반드시 신중히 확인해야 합니다.

최소 신뢰성 ATtiny85 회로

Figure 5. Minimal Reliable ATtiny85 Circuit

이 회로는 안정적인 작동에 필요한 기본 부품만 사용합니다. VCC와 GND 핀이 전원을 공급하여 내부 논리가 올바르게 작동할 수 있도록 합니다. 내부 발진기는 타이밍을 제어하므로 외부 클럭 부품이 필요하지 않습니다.

47 Ω 저항을 통해 연결된 LED는 출력을 제어하면서 LED와 GPIO 핀을 모두 보호합니다. RESET 핀은 장치 재프로그래밍이나 재시작을 위해 여전히 접근 가능합니다. 외부 부품이 매우 적어 기본 응용에 간단하고 신뢰할 수 있는 기반을 제공합니다.

ATtiny85 흔한 문제점 및 빠른 점검

문제무엇을 점검하거나 고쳐야 할까요?
코드 업로드 실패ISP 배선을 확인하고 RESET 퓨즈 설정
잘못된 타이밍선택한 클럭 소스와 퓨즈 구성 확인
불안정한 ADC 측정값접지 개선과 적절한 디커플링 커패시터 추가
통신 오류USI 설정 및 타이밍 설정 검토
과열 핀부하 전류를 줄이고 외부 드라이버 부품 사용

결론

ATtiny85는 핵심 제어 기능을 매우 컴팩트한 형태로 결합했습니다. 사양, 핀 기능, 내부 블록, 전원 설정 등이 실제 회로에서 어떻게 작동하는지 설명합니다. 적절한 GPIO 처리, ADC 사용, 직렬 설정, 그리고 최소한의 회로를 통해 ATtiny85는 명확하게 이해할 수 있고 안정적이고 저전력 설계에 적용할 수 있습니다.

자주 묻는 질문 [자주 묻는 질문]

ATtiny85는 얼마나 전력을 사용하나요?

전력 사용량은 전원 전압, 클럭 속도, 활성 기능에 따라 달라집니다. 클럭 속도를 낮추고 사용하지 않는 주변기기를 비활성화하면 전류 소비가 줄어듭니다.

ATtiny85에 외부 클럭이 필요한가요?

아니요. ATtiny85는 내부 RC 발진기를 갖추고 있어 외부 클럭 부품 없이도 작동할 수 있습니다. 외부 클럭은 타이밍 정확도를 높이기 위해서만 필요합니다.

RESET 핀을 일반 I/O 핀으로 사용할 수 있나요?

네. RESET 핀은 퓨즈 설정을 통해 GPIO로 구성할 수 있습니다. 이로 인해 표준 ISP 프로그래밍이 비활성화되고, 장치를 재프로그래밍하려면 고전압 프로그래밍이 필요합니다.

ATtiny85가 모터나 릴레이를 직접 구동할 수 있나요?

아니요. ATtiny85 GPIO 핀은 신호 제어용으로만 사용됩니다. 모터와 릴레이는 외부 트랜지스터나 MOSFET을 사용해 구동되어야 합니다.

왜 ATtiny85 ADC 수치가 불안정한가요?

불안정한 ADC 수치는 보통 전력 잡음이나 접지 불량 때문에 발생합니다. 적절한 디커플링 커패시터를 추가하고 ADC 노이즈 감소 모드를 사용하면 안정성이 향상됩니다.