ATtiny13
8 битный AVR микроконтроллер с 1 КБ внутрисистемно программируемой Flash памяти
| 1158 Kb Engl Описание микросхемы ATtiny2313 Предварительная информация |
| Rus Система команд и архитектура |
| Програмное обеспечение |
| Инструментальные средства для 8-разрядных AVR-микроконтроллеров |
| Примеры применения микроконтроллеров AVR в устройствах управления 3-фазными бесколлекторными электродвигателями постоянного тока |
- Высококачественный низкопотребляющий 8- битный AVR микроконтроллер
- Передовая RISC архитектура
— 120 команд, большинство которых выполняется за один тактовый цикл
— 32 8 битных рабочих регистра общего применения
— Полностью статическая архитектура - Энергонезависимая память программ и данных
— 1 КБ внутрисистемно программируемой Flash памяти программы, способной выдержать 10 000 циклов записи/стирания
— 64 байта внутрисистемно программируемой EEPROM памяти данных, способной выдержать 100 000 циклов записи/стирания
— 64 байта встроенной SRAM памяти (статическое ОЗУ)
— Программируемая защита от считывания самопрограммируемой Flash памяти программы и EEPROM памяти данных - Характеристики периферии
— Один 8- разрядный таймер/счетчик с отдельным предделителем и два ШИМ канала
— 4 канальный 10 битный АЦП со встроенным ИОН
— Программируемый сторожевой таймер со встроенным генератором
— Встроенный аналоговый компаратор - Специальные характеристики микроконтроллера
— Встроенный отладчик debugWIRE
— Внутрисистемное программирование через SPI порт
— Внешние и внутренние источники прерывания
— Режимы пониженного потребления Idle, ADC Noise Reduction и Power-down
— Усовершенствованная схема формирования сброса при включении
— Программируемая схема обнаружения кратковременных пропаданий питания
— Встроенный откалиброванный генератор - Порты ввода — вывода и корпусное исполнение
— 8 выводные PDIP и SOIC корпуса: 6 программируемых линий ввода-вывода - Диапазон напряжения питания
— от 1.8 до 5.5 В - Индустриальный рабочий температурный диапазон
- Потребление
— Активный режим:
290 мкА при частоте 1 МГц и напряжении питания 1.8 В
— Режим пониженного потребления
0.5 мкА при напряжении питания 1.8 В
Блок- схема ATtiny13:
Расположение выводов ATtiny13:
ATATtiny13 — низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATtiny13 достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.
AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.
ATtiny13 имеет следующие характеристики: 1 КБ внутрисистемно программируемой Flash память программы, 64 байтную EEPROM память данных, 64 байтное SRAM (статическое ОЗУ), 6 линий ввода — вывода общего применения, 32 рабочих регистра общего назначения, 8 битный таймер/счетчик со схемой сравнения, внутренние и внешние источники прерывания, 4 канальный 10 битный АЦП, программируемый сторожевой таймер со встроенным генератором и три программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, но ОЗУ, таймер/счетчик, АЦП, аналоговый компаратор и система прерываний продолжают функционировать. В режиме Power-down регистры сохраняют свое значение, но генератор останавливается, блокируя все функции прибора до следующего прерывания или аппаратного сброса. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода за исключением АЦП, что позволяет минимизировать шумы при выполнении преобразования.
Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти.
ATTiny13 – небольшой размер – хороший потенциал.
ATTiny13 небольшой микроконтроллер (8 ног), наверное, самый дешевый в серии AVR. Выпускается в двух вариантах – обычном (ATTiny13) и с пониженным питанием (ATTiny13V). За пониженное питание приходится платить понижением тактовой частоты микроконтроллера (более медленная работа).

Общие характеристики:
- 120 инструкций оптимизированных для программирования на языках высокого уровня;
- 32 регистра общего назначения;
- почти каждая инструкция выполняется за 1 такт генератора, за счет чего быстродействие достигает 20 MIPS (20 миллионов операций за секунду);
- 1килобайт флеш-памяти для программ (самопрограмируется);
- 64байт EEPROM (энергонезависимая память);
- 64байт SRAM (оперативная память).
Что мы имеем из периферии?
- один 8 битных таймера/счетчика;
- два ШИМ канала;
- 4 канальный 10ти битный АЦП;
- аналоговый компаратор;
- SPI последовательный интерфейс;
- Watchdog таймер, внешние прерывания на всех ножках.
Особые плюшки:
- внутрисхемная отладка по одному проводу debugWIRE;
- программирование по последовательному SPI интерфейсу;
- различные источники прерывания как внешние, так и внутренние, 3 режима «Сна», детектор понижения питания, встроенный задающий генератор.

Питание, частота:
1.8 – 5.5В (для ATTiny13V) до 10МГц
2.7 – 5.5В (для ATTiny13) до 20МГц
В рабочем режиме потребляет 240мкА при питании 1.8В и частоте задающего генератора 1МГц. В режиме энергосбережения Power-down кушает меньше 0.1мкА при 1.8В
Программирование:
Для микроконтроллера наиболее удобен режим программирования по последовательному SPI интерфейсу. Для реализации этого режима необходимо подключить микроконтроллер к программатору по SPI интерфейсу (MOSI, MISO, SCK, RESET, GRD), запитать микроконтроллер номинальным напряжением. Микроконтроллер может программироваться прямо в рабочей схеме (внутрисхемное программирование) но при этом должно соблюдаться условие – линиям SPI интерфейса при программировании не должно ничего мешать (большие емкости, маленькие сопротивления относительно общего провода и т.д.). Более подробно почитать про внутрисхемное программирование и программаторы >
ATTiny13 был обновлен (буковка А в конце). В результате обновления ATTiny13 перешел на новую технологию Atmel picoPower, а значит уменьшилось потребление энергии как в штатном режиме, так и в режимах энергосбережения, убрано разделение микроконтроллера на обычное и низковольтное питание (теперь все микроконтроллер можно запитать от 1.8 до 5.5В, при этом лишь необходимо соблюдать ограничения по частоте от 4МГц (для 1.8В) до 20Мгц).
ATTiny13А уже не редкость в продаже, кроме того, его цена немного меньше предшественника. В виду совместимости ATTiny13А и ATTiny13 устройства будут собираться на ATTiny13, а прошивки должны работать и на новых микроконтроллерах.
Заключение:
ATTiny13 маленький, но быстрый микроконтроллер. Наверное, самый дешевый из серии AVR. Широко доступен в продаже. Наличие в ATTiny13 АЦП позволяет использовать его для обработки аналоговых выносных датчиков и передачи цифрового сигнала в основной контроллер (как пример – применение ATTiny13+датчик температуры обойдется дешевле и функциональнее чем DS18B20). Маленький планарный корпус позволяет делать устройства небольшого размера. Из недостатков стоит отметить скромную функциональность, малое количество памяти и небольшое число ножек. Вывод: ATTiny13 просто незаменим для обработки сигналов с датчиков, для применения в компактных устройствах и устройствах не требующих сложных вычислений и большой функциональности.
Даташит для ATTiny13 берем здесь:
[Загрузка не найдена]
Datasheet ATTiny13A, Errata, Application Notes смотрим на официальной страничке.
Микроконтроллеры ATTiny13A. Восстанавливаем новогоднюю елку.

Иногда нужно запрограммировать маленькую задачку, для которой даже Ардуино слишком избыточен. Для таких небольших задач могут подойти маленькие, недорогие и очень маломощные контроллеры ATTiny.
В этом обзоре я и расскажу о них, как их готовить и с чем есть.
Купил я ATTiny13 довольно давно. Лежали они и ждали своего часа. И тут на работе я нашел настольную световодную елочку со сгоревшей начинкой. Вот тут то и вспомнил про этик контроллеры.
Но все по порядку
Начнем с характеристик ATTiny13
Это 8-битные контроллеры от корпорации Atmel c RISC-архитектурой и сверхнизким потреблением.
- Память для программ (FLASH) — 1Кб
- Энергонезависимая память данных (EEPROM) — 64 Байт
ОЗУ — 64 Байт
Число входов/выходов — 6
Выходов ШИМ — 2
Аналоговых входов (АЦП 10бит) — 4
Таймер 8 бит — 1
Напряжение питания 1.8 — 5.5В
Рабочая частота — до 20МГц
Потребление в активном режиме 1.8В/ 1МГц — 190мкА
Потребление в режиме сна 1.8В/1МГц — 24мкА
Подробнее можно узнать из даташитаЯ приобрел тиньки в корпусе DIP8. В корпусе SOP8 они стоят дешевле

По сравнению с ATMega328P из этого обзора они очень маленькие
Программирование ATTiny
Программировать я решил из Arduino IDE, Тем более я уже настраивал эту среду для работы с «народным WiFi» ESP8266На сайте arduino.cc есть ветка, посвященная работе ATTiny13 в среде Ардуино. Оттуда же качаю ATTiny core for Arduino IDE. Распаковываю архив в папку c:\Program Files (x86)\Arduino\hardware\ и в Arduino IDE появляются дополнительные платы
Теперь загрузка программ. Объем памяти микропроцессора всего 1Кб и никакой загрузчик туда не поместится. Поэтому загрузка скетчей производится программатором по ISP. USBAsp, которым я программировал Atmega328 работать с тинькой не захотел. Нужна специальная прошивка программатора, с которой я не стал возиться. Программировать микроконтроллер можно и при помощи любой Ардуины. Для этого собираю такую схему:
В Arduino IDE выбираю «Файл->Образцы->ArduinoISP» и загружаю в Ардуино скетч программатора. Затем выбираю «Инструменты->Программатор->Arduino as ISP». Теперь можно загружать простые скетчи в тиньку. Следует отметить, что ATTiny13 core for Arduino содержит ограниченный набор функций Ардуино.
- random()
- randomSeed()
- millis()
- micros()
- delay()
- delayMicroseconds() *
- analogRead()
- analogWrite()
- pinMode()
- digitalRead()
- digitalWrite()
- pulseIn() (Untested)
- shiftIn() (Untested)
- shiftOut() (Untested)
Применение ATTiny13
Решил восстановить такую елочку со световодами
Изначально там стояла галогенная лампочка на 12В и моторчик, который крутил цветной диск-светофильтр
Все это благополучно померло. Собираю такую схему с кусочком светодиодной ленты:
на макетной плате
Пусть тинька плавно изменяет цвета ленты. Но для этого нужно 3-х канальный ШИМ, а у ATTiny13 аппаратно только два таких выхода. Значит ШИМ будет программный на 3 канала, управляемый встроенным таймером.

После этого остается только закрепить плату и ленту в корпусе елочки. Белый скотч наклеиваю для улучшения светоотражения внутри черного корпуса

Елочка готова. Светит не хуже чем с галогенной лампочкой


ATtiny13 8-bit AVR Microcontroller
- ATtiny2313A (Exact Alternative with the new release)
- ATtiny417
- ATtiny28L
- ATtiny48
- ATmega88PA
- ATmega8A
- ATmega8515
- ATmega8535
- ATmega645A
- ATmega6490
-
ATtiny13 AVR Microcontroller
-
ATtiny13 Microcontroller Pinout
ATtiny13 is a high-performance and low power technology 8-bit AVR RISC architecture based Microcontroller unit that has 8 pins out of which 6 pins can be used as I/O pins. It has Powerful instruction architecture that provides a processing speed of 1 MIPS per MHz while balancing power consumption at the same time processing high-speed performance. The speed could reach up to 20 MIPS if 20 Mhz max frequency is used.
ATtiny13 Pin Configuration
Pin Number
Pin Name
Description
Pin of Port B Bit 5 or ADC Input Channel 0 or debugWIRE I/O or Pin change Interrupt 0, source 3 or Reset pin mainly used for programming
Bidirectional I/O Pin of Port B Bit 3 or ADC Input Channel 3 or External Clock Input or Pin change Interrupt 0, source 3
Bidirectional I/O Pin of Port B Bit 4 or ADC Input Channel 2 or Pin change Interrupt 0, source 4
Ground Pin of MCU
Bidirectional I/O Pin of Port B Bit 0 or SPI MOSI used for programming or Analog comparator + or Pin change interrupt0, source 0 or Timer/Counter0 compare Match A Out
Bidirectional I/O Pin of Port B Bit 1 or Analog comparator input — or External input 0 input or Timer/Counter1 Compare Match B Out or Pin change Interrupt 0, source 1 or SPI MISO used for programming
Bidirectional I/O Pin of Port B Bit 2 or ADC Input Channel 1 or Timer/Counter0 Clock Source or Serial Clock input or Pin change Interrupt 0, source 2 or external clock input, used for programming
Positive Pin of MCU (+5V)
Features and Specifications of the ATtiny13 Microcontroller
ATtiny13 — Simplified Features and Specification
Operating Voltage (V)
Number of I/O pins
Program Memory (KB)
Note : Complete technical details can be found in the ATtiny13 Datasheet, linked at the bottom of this page.
Alternative for ATtiny13
Alternative products for ATtiny13 microcontroller are listed in the below —
Introduction to ATtiny13
ATtiny13 is a high-performance and low power technology 8-bit AVR RISC architecture based Microcontroller unit that has 8 pins out of which 6 pins can be used as I/O pins. It has Powerful instruction architecture that provides a processing speed of 1 MIPS per MHz while balancing power consumption at the same time processing high-speed performance. The speed could reach up to 20 MIPS if 20 Mhz max frequency is used.
ATtiny13 also comes with the debugWIRE On-Chip debugging feature, In-system Programmable SPI Port, Low-Power Idle, Power-down, and Standby Modes. It also uses a programmable brownout detection circuit.
It has a wide operating voltage range, from 1.8V to 5.5V. Thus, it can be used in 1.8V, 3.3V, or 5.0V logic level operations. However, 0-4 Mhz operation is supported by the 1.8V input voltage for ATtiny13V. For frequency up to 10 Mhz minimum voltage is required 2.7V for ATtiny13, and for 20 Mhz operations, the minimum voltage is required 4.5V-5.5V.
The below image is showing the detailed pin diagram of ATtiny13.

Detailed Specifications of ATtiny13
ATtiny13 –Detailed Features
Program Memory Size (Kbytes)
Max. CPU Speed (MHz)
Peripheral Pin Select (PPS)
No. Of comparators
No. Of Operational Amplifier
No. Of ADC channels
Max ADC Resolution (bits)
ADC with Computation
Number of DAC Converter
Max DAC resolution
Internal Voltage Reference
Zero Cross Detect
No. Of 8-bit timers
No. Of 16-bit Timers
Signal Measurement Timer
Hardware Limit Timer
No. Of PWM outputs
Max PWM resolution
No. Of UART module
No. Of SPI Module
No. Of I2C module
No. Of USB Module
Windowed Watchdog Timer (WWDT)
Numerically Controlled Oscillator
Cap. Touch Channels
Minimum Operating Temperature (*C)
Maximum Operating Temperature (*C)
Minimum Operating Voltage (V)
1.8 / (2.7 up to 10 Mhz) / (4.5 up to 20 Mhz)
Maximum Operating Voltage (V)
High Voltage Capable
Programming AVR Microcontroller
AVR microcontrollers can be programmed with different software that is available in the market. There are people who still use Assembly language to program AVR MCUs. The below details is for the most advanced and common software and compiler that has been developed by Atmel (now Microchip) itself.
In order to program the AVR microcontroller, we will need an IDE (Integrated Development Environment), where the programming takes place. A compiler, where our program gets converted into MCU readable form called HEX files.
Microchip has given all these two software for free. They can be downloaded directly from their official page. I have also provided the link for your convenience. Once downloaded install them on your computer. If you have any problem doing so you can post them on the comment below.
To dump or upload our code into AVR, we will need a device called ATAtmel-ICE. The ATAATmel — ICE programmer/debugger is a simple, in-circuit debugger that is controlled by a PC running Atmel Studio software on a Windows platform. The ATAAtmel-ICE programmer/debugger is an integral part of the development engineer’s tool suite. The ATtiny13 Programming Circuit is shown below.

Other than this official programmer, users also use USB ASP AVR Programming Device for low-cost programming solutions. In addition to this, we will also need other hardware like a Perf board or breadboard, Soldering station, AVR ICs, Crystal oscillators, capacitors, etc.
