ATtiny26 (Arduino IDE)

ATtiny26/L низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATtiny26/L достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

Характеристики:

  • Высокая производительность при малом потреблении
  • RISC архитектура
  • 118- команд, большинство исполняемых за один машинный такт
  • 328 рабочих регистра общего назначения
  • Полностью статический режим
  • 16 MIPS производительность при 16 МГц
  • Память
    • 2К байтов FLASH памяти программ с внутрисистемным программированием
    • 1000 циклов записи- стирания
    • 128 байтов EEPROM c внутрисистемным программированием
    • 100 000 циклов записи- стирания
    • 128 байтов внутренней SRAM
    • Программируемый ключ доступа к программам и памяти данных
  • Периферия
    • 8- битный таймер/счётчик с программируемым предделителем
    • 8- битный скоростной делитель с программируемым предделителем
    • 2 скоростных ШИМ выхода с отдельным выходным регистром сравнения не совмещённый выход инверсной ШИМ
  • Универсальный последовательный интерфейс с детектором старта
  • 10- бит АЦП
    • 11 простых униполярных входа
    • 8 дифференциальных входа
    • 7 дифференциальных входа с программируемым усилением ( 1, 10 )
  • Встроенный аналоговый компаратор
  • Внешние прерывания
  • 11 прерываний по изменению потенциала вывода
  • Программируемый Watchdog с переключаемымим генераторами
  • Специальные функции контроллера
  • Режим экономии энергии, режим подавления шума, режим Выкл.
  • Сброс при включении и понижению напряжения питания
  • Внешние и внутренние источники прерывания
  • Внутрисистеммное программирование через SPI порт
  • Внутренний калиброванный RC генератор
  • 20- выводной корпус PDIP или SOIC
  • 16 программируемых входа-выхода
  • Рабочее напряжение питания:
    • 2.7 В до 5.5 В ATtiny26L
    • 4.5 В до 5.5 В ATtiny26
  • Рабочая тактовая частота:
    • 0- 8 МГц ATtiny26L
    • 0-16 МГЦ ATtiny26

Микроконтроллер ATtiny26 отлично подходит для маленьких и дешевых проектов, а поддержка средой программирования Arduino IDE заметно упрощает работу с микроконтроллером.

Для поддержки ATtiny26 в Arduino IDE необходимо выполнить несколько простых операций:

  • Добавление поддержки платы

Откройте в Arduino IDE вкладку Файл > Настройки и добавьте ссылку для менеджера плат

https://nich1con.github.io/tiny26.json

Далее перейдите во вкладку Инструменты > Плата > Менеджер плат

Далее в Инструменты > Плата выберите плату ATtiny26.

Установите параметры платы как показано на скриншотах:

  • Для прошивки скетча  Вам понадобится программатор USBAsp

Схемы подключения

Распиновка программатора USBAsp

Далее необходимо выставить нужные фьюзы для микроконтроллера, чтобы он всегда работал на выбранной Вами частоте. Для этого в настройках Arduino IDE выберите программатор USBasb и нажмите Инструменты > Записать загрузчик. Эту операцию необходимо проводить всего один и снова повторить если Вы будете менять частоту работы микроконтроллера.

Для загрузки скетча в настройках Arduino IDE выберите программатор USBasb и во вкладке Скетч нажмите на Загрузить через программатор.

Для примера, можно загрузить простой скетч мигания светодиода, к выводу 13(PB5) контроллера подключите светодиод через резистор 200 Ом.

#include <avr/io.h>
#include <util/delay.h>

int main(){
  DDRB |=(1<<PB5);
  
while(1){
  PORTB |=(1<<PB5);
  _delay_ms(1000);
  PORTB &=~(1<<PB5);
  _delay_ms(1000);
  }}

Для нормальной работы микроконтроллера необходимо подать напряжение VCC через резистор 10 кОм на вход RST микроконтроллера.


Ошибка компиляции (проверялось в Linux Ununtu 20.04 | Arduino IDE 1.8.15)

chmod: невозможно получить доступ к ‘/root/.arduino15/packages/ATtiny26/hardware/avr/1.1.0/scripts/create_disassembler_listing.sh’: Нет такого файла или каталога
exit status 1
Ошибка компиляции для платы ATtiny26.

Загрузить файл — create_disassembler_listing.sh

Разместить файл по указанному пути: packages/ATtiny26/hardware/avr/1.1.0/scripts/create_disassembler_listing.sh


Ошибка компиляции (проверялось в Linux Ununtu 20.04 | Arduino IDE 1.8.15)

***failed;
avrdude: WARNING: invalid value for unused bits in fuse «hfuse», should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0x12 instead of 0xf2 (double check with your datasheet first).

Открыть файл — packages/ATtiny26/hardware/avr/1.1.0/boards.txt

Найти строки:

t26.menu.bod.2V7=2.7V
t26.menu.bod.2V7.bootloader.high_fuses=0b11110{bootloader.eesave_bit}10
t26.menu.bod.4V=4.0V
t26.menu.bod.4V.bootloader.high_fuses=0b11110{bootloader.eesave_bit}00
t26.menu.bod.OFF=Disable
t26.menu.bod.OFF.bootloader.high_fuses=0b11110{bootloader.eesave_bit}01

заменить на:

t26.menu.bod.2V7=2.7V
t26.menu.bod.2V7.bootloader.high_fuses=0b00010{bootloader.eesave_bit}10
t26.menu.bod.4V=4.0V
t26.menu.bod.4V.bootloader.high_fuses=0b00010{bootloader.eesave_bit}00
t26.menu.bod.OFF=Disable
t26.menu.bod.OFF.bootloader.high_fuses=0b00010{bootloader.eesave_bit}01

Перезапустить Arduino IDE.

Исходник — https://github.com/Nich1con/ATtiny26-Core

Добавить комментарий

Войти с помощью: