ATTINY13 - 8 битный микроконтроллер
ATtiny13 дешевый 8-битный микроконтроллер AVR
ATtiny13 8-битный дешевый микроконтроллер работает на частоте 20МГц и снабжен Flash на 1КБ. Наиболее популярный вариант ATtiny13A, и ATtiny13A-SSU. Отличается хорошей документацией, дешевизной и низким энергопотреблением и питанием от батарейки 1,5v.
Процессорное ядро
Ядро микроконтроллеров ATtiny13, ATtiny13A и ATtiny13A-SSU работает на частоте 20 МГц, это значит что одна инструкция процессора выполняется за 50 наносекунд. Много это или мало? Для сравнения в одной за одну секунду может быть выполнен 1 миллиард операций.
Память микроконтроллера
Flash память
Attiny13A имеет 1 Килобайт встроенной памяти что равняется 1024 Байтам. В каждом байте может хранится число от 0 до 255 или от -128 до 128 байт. Кроме чисел в памяти Attiny13 хранятся команды и таблица прерываний. В общем доступно чуть меньше 1000 Байт памяти на хранение инструкций и данных.
Память attiny13 выдерживает 10000 циклов записи что хватает для постоянных обновлений прошивки во время разработки устройства и для хранения настроек ее использовать нельзя.
EEPROM память
В EEPROM память Attiny13 можно записать 64 байта. Этого хватит чтобы хранить таблицу чисел от 0 до 255 в количестве 64 значений.
Память EEPROM используется для хранения настроек и которая выдерживает большое количество циклов перезаписи.
Регистры процессора
В процессе выполнения программы все данные из переменных перед выполнением записываются в оперативную память, в микроконтроллере эти данные хранятся в регистрах. ATtiny13 имеет 32 регистра длинной в 8 бит каждый. То есть в них можно хранить 32 числа от 0 до 255.
GPIO цифровые порты ввода-вывода
Сколько ножек у ATtiny13
ATtiny13A имеет 8 ножек, не все из них можно использовать, а некоторые стоит использовать с осторожностью, так две из них ножки на которые подается питание 4 pin GND и 8 pin VCC.
Таблица 1 - Attiny13 pinout для GPIO
№ ножки П/П | Название ножки GPIO |
1 | PB5 |
2 | PB3 |
3 | PB4 |
5 | PB0 |
6 | PB1 |
7 | PB2 |
Сколько ножек GPIO можно использовать
Из 8 ножек Attiny13 можно использовать 6 ножек для GPIO
Сколько портов имеет ATtiny13
Всего в ATtiny13 один порт B (PB) который использует 6 ножек GPIO
Периферия микроконтроллера
Периферия микроконтроллера это отдельные аналоговые блоки, и аппаратно реализованные различные протоколы такие. К периферии относится аналого-цифровые преобразователи, протоколы SPI, компараторы.
Аналогово-цифровой преобразователь (АЦП)
На борту Attiny13 используется 4 канала АЦП каждый из них работает с точностью 10 бит. Это значит что аналоговый сигнал от 0 до 5 Вольт может быть разбито на 1024 значений с шагом 0.005 Вольт (5 Милливольт) на один шаг.
Таблица 2 - Attiny13 pinout для ADC(АЦП)
№ ножки П/П | Название ножки ADC |
1 | ADC0 |
2 | ADC3 |
3 | ADC2 |
7 | ADC1 |
Аналоговый компаратор
К сожалению в микроконтроллере доступен всего один компаратор, который не может работать вместе с АЦП. Придется выбрать что-то одно.
ШИМ (PWD) - каналы
Так же не обладает разнообразием и количество ШИМ каналов, в ATtiny13 всего два ШИМ канала. ШИМ канал позволяет задать непрерывное переключение сигнала на ножке с 0 на 1 при этом не задействовав ядро.
Таймер/счетчик
Таймер используется для вызова прерываний, грубо говоря может быть использован чтобы например раз в секунду зажигать светодиод при этом не прерывая работы основной программы.
В Attiny13 реализован один 8 - битный таймер может увеличиваться от 0 до 255 и далее сбрасывается в 0 при этом вызвав прерывание.
SPI последовательный переферийниый интерфейс
В ATtiny13 реализован один интерфейс SPI через который микроконтроллер может прошиваться и общаться с внешней переферией. Протокол использует 4 ноги микроконтроллера.
Таблица 3 - Attiny13 pinout для SPI
№ ножки П/П | Название ножки SPI |
5 | MOSI |
6 | MISO |
7 | SCK |
Чем прошить ATtiny13, ATtiny13A и ATtiny13A-SSU
Attiny13 прошивается через программатор USBasp, USBaps - неправильное название. Для прошивки используется arduino ide или набор программ GCC для прошивки ассемблерного кода. Прошивка пишется и передается по SPI протоколу.
Распиновка ATtiny13, ATtiny13A, ATtiny13A-SSU
Хорошая распиновка представлена на рисунке ниже, включает в себя pinout для arduino, adc, pb, pcint...
UPD 25.11.2023
На самом деле верхняя распиновка плохая после тестирования. Например XTAL нет в ATtiny13. Нужно самому рисовать.
UPD 26.11.2023
Нашел лучшую распиновку. Забейте на верхнюю.
Заключение. Стоит ли изучать ATtiny13?
Изучать ATtiny13 в 2024 и 2025 году однозначно стоит для развития понимания микроконтроллерной архитектуры, так как микроконтроллер имеет ограниченный набор команд который легко изучить, и которые используются в других микроконтроллерах таких как STM32, ESP32 и т.д.