Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Прошивка Attiny 13 HEX-файлом с помощью Arduino и SinaProg » SYSTOP

Задача: прошить микроконтроллер Attiny 13 HEX-файлом (уже скомпилированной программой).

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

Мы будем использовать Arduino Uno, SinaProg и адаптер (фото ниже) для данного микроконтроллера.


Адаптер можно купить тут: https://ru.aliexpress.com/item/SOIC8-SOP8-to-DIP8-EZ-Programmer-Adapter-Socket-Converter-Module-150mil/32535866779.html?spm=a2g0s.9042311.0.0.274233edOsLvN7Он требуется для того, чтобы избежать пайки проводов на ноги микроконтроллера, ибо это крайне неудобно, особенно в случае многократных перепрошивок.

В нашем случае используется Attiny13 в SMD-корпусе, если вы мучаете микроконтроллер в DIP-исполнении, можно задействовать DIP-панель: https://www.chipdip.ru/product/scs-8. (о типах корпусов микроконтроллеров можно почитать здесь).

И так, поехали: 
Прошиваем Arduino Uno скетчем из стандартных примеров "ArduinoISP":

Подключаем наш многострадальный микроконтроллер к Arduino согласно картинке ниже (зеленым обозначены пины Arduino):
Для тех, кто в танке - переполюсовки Attiny13 боится, поэтому проверьте внимательно, как подключены GND и 5V!
Скачиваем SinaProg: по этой ссылке
Запускаем от имени администратора (правый клик по exe'шнику - "запустить от имени администратора").
Далее пошагово:
  1. Выбираем HEX-файл
  2. Выбираем "Device" (в нашем случае Attiny 13)
  3. В качестве программатора выбираем "AVR ISP"
  4. COM-порт смотрим в диспетчере устройств при подключении ардуины
  5. Скорость выставляем 19200
  6. Нажимаем кнопку "Search" - появляется статус "OK" (если нет, значит что-то подключено неверно, либо не прошита ардуина)
  7. Нажимаем кнопку "Program", после прошивки должен появиться статус "OK"
  8. Нажимаем кнопку "Verify" и, опять же, видим статус "OK".
На этом все, мы прошили наш микроконтроллер. В следующих статьях разберем подробнее весь функционал программы и правильное выставление коварных фьюзов=)

Arduino ISP программатор для ATtiny, Минимальная Arduino, DIY

Arduino это просто, быстро, а самое главное удобно для реализации идей. Но когда всё отлажено и схема, и код настает момент, когда избыточность плат просто не нужна. Идею то можно реализовать значительно дешевле и компактнее.

Без горы проводов. Для того чтобы избавиться от ненужных примочек в готовом устройстве предлагаем прошить ваш код непосредственно в микроконтроллер. Ниже описан пример, где в качестве программатора используется Arduino Nano, а прошивать будем микроконтроллер ATtiny13 на котором, кстати, собран набор RDC1-0004, Управление вентиляцией.

Распакуйте архив attiny13.zip. В папке со скетчами создайте папку «hardware». Размещение папки со скетчами можно узнать, выбрав «Файл – Настройки».

Из распакованного архива скопируйте папку «attiny13» в папку «hardware». Должно получиться примерно так: «C:\Users\имя пользователя\Documents\Arduino\hardware\attiny13».

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

Если сделали все правильно, в списке плат появиться строка «ATtiny13(ATtiny13a)».

В списке Frequency можно выбрать нужную частоту работы микроконтроллера.

Чтобы запрограммировать микроконтроллер, нужен программатор. Программатор можно сделать из Ардуино Нано.

Для этого в нее нужно загрузить скетч ArduinoISP из имеющихся примеров.

Внимание! Если для ATtiny13 будет выбрана частота менее 1,2 МГц, пример ArduinoISP нужно изменить.

Строку

#define SPI_CLOCK (1000000/6)

нужно заменить на

#define SPI_CLOCK (128000/6)

Подключите Arduino Nano к ПК. В Arduino IDE выберите плату Arduino Nano, процессор ATmega328, нужный COM-порт.

Выберите «Скетч – Загрузка». Начнется загрузка программы.

Дождитесь окончания загрузки. Программатор готов.

Подключите программируемый микроконтроллер к Ардуино, как показано на рисунке.

Теперь в Arduino IDE выберите программируемый микроконтроллер, нужную частоту, COM-порт остается без изменений. Выберите используемый программатор, в нашем случае «Arduino as ISP».

Сначала нужно записать загрузчик. В данном случае эта команда только изменяет заводские настройки микроконтроллера, чтобы он работал на выбранной частоте, загрузчик не пишется.

Теперь в микроконтроллер можно загружать «рабочую» программу. Откройте скетч, который хотите загрузить, и выберите «Скетч – Загрузить через программатор». Начнется загрузка. Дождитесь окончания загрузки программы.

Если для вашего проекта вы выбрали другой контроллер из семейства ATtiny, тогда загружайте и распаковывайте в папку hardware дополнительные файлы описания.

tiny.zip

tiny Chip_Dip.zip

Схема подключения для ATtiny в корпусе DIP14:

022-Тестовая прошивка для AVR микроконтроллеров (проверка работоспособности портов).

Вот и пришло время для первой прошивки. Данная прошивка является тестовой. Она не производит ни каких полезных действий, кроме дрыганья ножками по определенному алгоритму. Этой прошивкой можно проверить работоспособность всего микроконтроллера и портов ввода-вывода в частности.
Чтобы проверить микроконтроллер необходимо загрузить прошивку и посмотреть, что происходит на ножках.

«Смотреть» можно или мультиметром, или простым пробником – светодиод последовательно с резистором 300 Ом – 1 кОм. Без резистора проверять не стоит – можно спалить порт ввода-вывода. Уровни сигналов на ножках меняются с «1» через «Z»-состояние в «0» и обратно. «Z» состояние введено в последовательность для контроля работоспособности порта в режиме входа.

Тестовая прошивка для микроконтроллера ATMega48/88/168.
Алгоритм работы прошивки ATMega48/88/168 показан на картинке (микроконтроллер установлен на макетной плате ATMega48/88/168, описанной ранее).

Микроконтроллер работает от внутреннего генератора, поэтому нет необходимости во внешнем кварце. Ножки 9 и 10 (подключение внешнего кварца) не задействованы, на случай если там окажется внешний кварц. Также не задействованы ножки 1 (сброс) и 21(опорное напряжение для АЦП). Проверить работоспособность можно двумя способами (смотри рисунок) – смотреть изменение уровня сигналов относительно земли (GND) или относительно ножки питания (VCC).


022-M48.HEX V1.0 [277 bytes] - Тестовая прошивка для ATMega48/88/168

Фьюзы для тестовой прошивки ATMega48/88/168

Как прошить микроконтроллер >

Тестовая прошивка для микроконтроллера ATTiny2313.
Алгоритм работы прошивки ATTiny2313 показан на картинке (микроконтроллер установлен на макетной плате ATTiny2313, описанной ранее).

Микроконтроллер работает от внутреннего генератора, поэтому нет необходимости во внешнем. Ножки 4 и 5 (подключение внешнего кварца) не задействованы на случай если там окажется внешний кварц. Также не задействована ножка 1 (сброс). Проверить работоспособность можно двумя способами – смотреть изменение уровня сигналов относительно земли (GND) и относительно ножки питания (VCC).
022-T2313.HEX V1.0 [259 bytes] - Тестовая прошивка для ATTiny2313

Фьюзы для тестовой прошики ATTiny2313

Как прошить микроконтроллер >

Тестовая прошивка для микроконтроллера ATTiny13.


Алгоритм работы прошивки ATTiny13 показан на картинке (микроконтроллер установлен на макетной плате ATTiny13, описанной ранее).

Микроконтроллер работает от внутреннего генератора (внешний большая роскошь для этого микроконтроллера, поэтому даже не рассматриваем). Естественно, не задействована ножка 1 (сброс). Проверяем работоспособность так же, как и у предыдущих микроконтроллеров.
022-T13.HEX V1.0 [240 bytes] - Тестовая прошивка для ATTiny13

Фьюзы для тестовой прошики ATTiny13

Как прошить микроконтроллер >

Проверка работоспособности «Z»-состояния портов ввода-вывода.

«Z»-состояние это состояние когда ножка сконфигурирована на вход и на ней нет ни какого уровня (она как-бы болтается в воздухе ни к чему не подключена). Для того чтобы проконтролировать наличие такого состояния можно воспользоваться резисторным делителем. При уровне «1» на делителе будет напряжение питания +5v, при уровне «0» – земля 0v, а при «Z»-состоянии порт ввода-вывода перестанет вмешиваться в работу делителя и он поделит напряжение питания и мы получим +2.

5v.

ФАЙЛЫ:
022-AVR-tests - Исходники тестовых прошивок

ATMega48/88/168, ATTiny13, ATTiny2313, Начинающим, Отладка

описание USBASP драйвера, инструкция по настройке своими руками в AvrDude Prog, Atmel Studio и Khazama AVR Programmer, обновление проши

В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё-таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже. Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где-то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом.
USB ISP — самый дешёвый программатор контроллеров AVR, что можно найти в продаже, брался для расширения кругозора и более углубленного изучения AVR.
Обзор в себя включает: описание программатора, как его подключить к чипу, настройку его работы в программах AvrDude Prog, Khazama, Atmel Studio 7, и не только это.

Конечно вместо него можно использовать Arduino UNO с прошитым в него скетчем ArduinoISP, но это не удобно, возня с проводами, особенно если UNO всего одна, отбивает энтузиазм. Проще было заиметь отдельно такой программатор, точнее два. По двум причинам:
1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.
2) Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве.

Технические характеристикиПоддерживаемые ОС: Windows, MacOS, Linux
Процессор: Atmega8A
Интерфейс подключения к ПК: USB
Интерфейс программирования: ISP (внутрисхемное)
Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
Поддерживаемые контроллеры: все AVR с интерфейсом SPI
Описание: ссылка

Список поддерживаемых микроконтроллеров

ATmega серияATmega8 ATmega48 ATmega88 ATmega168 ATmega328
ATmega103 ATmega128 ATmega1280 ATmega1281 ATmega16
ATmega161 ATmega162 ATmega163 ATmega164 ATmega169
ATmega2560 ATmega2561 ATmega32 ATmega324 ATmega329
ATmega3290 ATmega640 ATmega644 ATMEGA64 ATmega649
ATmega6490 ATmega8515 ATmega8535

Tiny серияATtiny12 ATtiny13 ATtiny15 ATtiny26 ATTINY25
ATtiny45 Attiny85 ATtiny2313

Серия ClassicAT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515
AT90S8535

CAN серияAT90CAN128

PWM серияAT90PWM2 AT90PWM3

Внешний видКомплект поставки минимальный — программатор + шлейф без резинки.
В моём случае в удвоенном количестве.

Культура исполнения и вправду хромает, мне в глаза сразу бросились криво припаянные гребёнки. Везде где только можно — имеются следы флюса, причём с окислами, по всей видимости, программаторы давно валялись на складе, а сборка их производилась с присущей китайцам быстротой.







Некоторые отверстия не целиком заполнены припоем

SMD-элементы тоже криво припаяны

Гребёнку чуть позже выровнял, уж больно неприятно на такую раскосую смотреть, элементы пропаял, а плату затем отмыл

Размеры платы несколько больше USB-TTL-конвертера на CP2102

Длина шлейфа около 30см, бытует мнение, что чем короче шлейф, тем лучше. Некоторые его специально укорачивают. Если заказать оригинальный USBASP — там комплектный шлейф уже 50см.

Органы управления на платеНа плате имеются три перемычки, задающие разные режимы работы программатора:
JP1 — замыкается в случае обновления прошивки самого программатора
JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5В (левое положение) и 3. 3В (правое положение)
JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой, однако китайцы не стали сюда впаивать гребёнку, т.к. на данной прошивке она не требуется
Программатор, как можно заметить, построен на базе Atmega8 с кварцем на 12МГц. Самый правый верхний элемент, подписанный F1, с перевёрнутой цифрой 4 — самовосстанавливающийся предохранитель, защищает USB-порт ПК/ноутбука, если на прошиваемой плате вдруг произошло короткое замыкание. Под перемычкой JP2 находится LDO-стабилизатор 662К, понижающий напряжение с 5В до 3.3В, если перемычка установлена в правое положение.

Установка драйверовЧтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Вставляю любой программатор в USB-порт ПК, звучит сигнал о новом оборудовании, на самом девайсе горит светодиод, но автоматического поиска драйверов не происходит.
примечание. перед установкой драйвера необходимо отключить проверку цифровой подписи в Windows
1) Скачать драйвера, распаковать в удобное место.
2) Зайти в «Диспетчер устройств», например навести курсор на главную кнопку (Win10), нажать ПКМ и выбрать пункт «Диспетчер устройств».

3) В ветке «Другие устройства» можно увидеть неопознанное устройство USBASP с оранжевым треугольничком — > навести на него курсор, нажать ПКМ -> «Обновить драйверы...»

4) Указать путь до раннее распакованной папки с драйверами — «libusb_1.2.4.0», нажать «ОК»

5) «Всё равно установить этот драйвер»

6) Готово, теперь оранжевый треугольничек пропал, драйвера поставлены

Прошивка собратаМне уже было известно до этого, что китайцы продают эти программаторы с не самой свежей прошивкой. Решил сперва обновить прошивку на одном из них, а затем ради интереса сравнить оба программатора в работе. Для этого соединяю шлейфом оба устройства, на ведущем (который вставляю в USB-порт) никакие перемычки не трогаются, а на ведомом программаторе (на котором будем обновлять прошивку) я переставил перемычку с JP2 на JP1:

Захожу в программу Khazama AVR Programmer, выбираю из выпадающего списка ATmega8 и сперва считаю Flash-память через пункт меню «Command» -> «Read FLASH to Buffer», чтобы cохранить китайскую заводскую прошивку у себя. На всякий случай.

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

Идёт считывание, которое завершается всплывающим окном об успешном считывании FLASH-памяти в буфер

Теперь нужно сохранить содержимое буфера: «File» -> «Save FLASH Buffer As...». Выбрать удобное место, куда старая прошивка сохранится, дать имя (я например её назвал firmware_1) и дописать расширение *.hex — если его не писать, то она сохранится как просто файл без расширения.

Скачиваю прошивку для программатора с этой странички, архив usbasp.2011-05-28.tar.gz (в этом же архиве есть драйвера для Windows, распаковываю содержимое в удобное место.
Тем временем в Khazama загружу скачанную прошивку в буфер. «File» -> «Load FLASH File to Buffer». Выбираю прошивку, где в названии написано atmega8, поскольку прошиваемый программатор на этом чипе.

Как видно, здесь три прошивки — для Atmega8, 48 и 88. В нашем случае Atmega 8 — её и выбираю.

Прошиваю. «Command» -> «Write FLASH File to Buffer». Снова возникает ошибка, но после идёт процесс, завершающийся успехом.



Поскольку в обычном понимании «запрограммировать» означает выставить 1, то при работе со фьюзами всё ровно наоборот, от чего возникает путаница и в этом случае можно по неосторожности заблокировать контроллер и прошить потом его будет уже нельзя. Программа Khazama AVR Programmer удобна просмотром фьюз-битов — там наглядно видно и расписано, какие из них установлены, а какие нет.

Находятся они по пути «Command» -> «Fuses and Lock Bits...», откроется окно:

Где по нажатии кнопки «Read All» считаются фьюз- и лок-биты, а пресловутая ошибка успеет вылезти аж 5 раз подряд. Ошибки сыпятся именно на заводской китайской прошивке. Но если вставить в USB-порт недавно прошитый программатор, прошивкой скаченной по ссылке выше, то этих ошибок вылазить уже не будет, однако баги вылезут в другом месте, но о них позже.

Связь с платой Pro Mini (Atmega 168, 3.3V/8MHz)В этом случае выводы программатора соединяются с выводами платы Pro Mini, как проиллюстрировано на схематичном рисунке ниже. Перемычки не переставляются, т.е. остаётся в положении 5В.
Несмотря на то, что плата Pro Mini подписана как 3.3В, на 168-ю Атмегу можно подавать и 5В. Стабилизатор AMS1117 на 3.3В кстати вообще выпаян из платы.

AVRDUDE PROG 3.3
Консольная программа для прошивки микросхем, своего графического интерфейса не имеет, в стоке работает из командной строки, но энтузиастами было написано немало оболочек на неё, для удобства работы с ней. Одна из таких оболочек называется AVRDUDE PROG, созданная русскоязычными разработчиками. Эта оболочка, на мой взгляд удобна как раз для Flash-перепрошивки МК. После её запуска выбирается контроллер, в данном случае Atmega168 и тип программатора — USBasp. После чего можно заниматься записью/считыванием памяти. Что на заводской прошивке, что на новой — в обоих случаях никаких проблем с общением с Atmega168 не возникло. Прошил ради интереса ардуиновский стандартный blink-скетч, экспортированный в бинарный HEX-файл. Всё гладко.



Khazama AVR Programmer
Здесь достаточно выбрать микроконтроллер из выпадающего списка и можно уже работать с памятью/битами.
Однако если на самом программаторе установлена заводская прошивка, периодически будут сыпаться ошибки, о чём выше уже было упомянуто, на новой прошивке — данных ошибок уже нет.

Связь с контроллером ATtiny13A в корпусе SOIC8Соединение согласно схеме ниже. Но тут всё немного интереснее.

Поскольку голый чип в SMD-корпусе SOIC8, в данном случае я поместил его в переходник SOIC8-DIP8 для удобства соединения с программатором в дальнейшем. Обзор на этот переходник можно почитать здесь.

AVRDUDE PROG 3.3
Тут выбирается из списка одноимённый контроллер, программатор USBasp и, если программатор прошит заводской китайской прошивкой, то все операции проходят ровно и гладко. Однако стоит заменить программатор на другой, с обновлённой прошивкой, то при любой операции возникает ошибка.

Появляется она из-за того, что ни программа, ни программатор не могут автоматически перейти в режим медленного программирования, необходимый для ATtiny13. Но есть как минимум два выхода:
1) Железный: замкнуть перемычку JP3

2) Программный: отредактировать файл «programm.ini» в папке с программой AVRDUDE PROG 3.3

Внести туда четыре строчки кода и сохранить. (взято отсюда)

progisp=jtag2pdiportprog=COM1portenabled=1[UsbaspSpeed]
progisp=Usbasp -B 3
portprog=usb
portenabled=0
Примечание. Здесь применён ключ "-B", который и занимается переводом программатора на пониженную частоту программирования. Значение «3» — время в микросекундах

После этого снова запустить AVRDUDE PROG 3.3 и в выпадающем списке программаторов выбрать UsbaspSpeed. Теперь работа с ATtiny13 на программаторе с новой прошивкой будет уже без ошибок, а перемычку JP3 замыкать больше не потребуется в этом случае.

Khazama AVR Programmer
Выбирается контроллер из списка и почти та же ситуация.

Программатор с заводской прошивкой нормально работает с ATtiny13, если не считать постоянно появляющихся окон с ошибкой, о чём раннее уже рассказывал.
Но с программатором на новой прошивке уже появляется иная ошибка с невозможностью прочесть сигнатуру (цифровую подпись) контроллера.

Но стоит замкнуть перемычку JP3, и можно спокойно работать

Или просто задать частоту работы из выпадающего списка по пути «Command» -> «Programm Options», я выставил частоту 187.5кГц.

Примечание. Частота программирования должна быть меньше тактовой частоты прошиваемой микросхемы не менее, чем в 4 раза. Но если посмотреть на считанные с ATtiny13 фьюзы, то на последней строчке Int.Rc.Osc. указано 9.6МГц.
Как минимум, у новичка возникнет вопрос — почему на выставленных в KHazame 1.5МГц — появляется та же ошибка? А также почему, если в AtmelStudio написать например код мигания светодиода с частотой раз в секунду и в макросе прописать:
#define f_cpu 9600000
то загрузив код на Attiny13, светодиод будет мигать очень медленно?
— посмотрим на предпоследнюю строчку, где Divide Clock by 8 Internally [CKDIV8=0] — это включенный предделитель частоты, который делит эти 9. 6МГц на 8, и поэтому реальная частота чипа здесь — 1.2МГц. Поэтому при выборе частоты 187.5кГц или меньше, ошибки исчезают и можно работать нормально с контроллером.
Примечание 2. Способ с выбором частоты в KHazame по скорости работы в несколько раз выигрывает у метода с физическим замыканием перемычки JP3, потому как в последнем случае частота понижается до 8кГц.

Интеграция программатора в Atmel Studio 7Atmel Studio — среда разработки от фирмы Atmel, но напрямую работать с USBASP, тем более китайским, она не может. Однако благодаря той же программе AVRDUDE, входящий в состав пакета AVRDUDE PROG 3.3, которая будет играть здесь роль посредника, можно соорудить «костыль», а уже в самой среде затем добавить возможность прошивать МК, подключенный через USBASP.

Сперва нужно запустить среду, предполагается, что некий код у нас уже написан и собран. В моём примере это простая мигалка светодиодом — Blink.

На верхней панели инструментов выбрать «Tools» — «External Tools. ..»

Откроется небольшое окно, нажать «Add»

В самом верхнем поле «Title:» ввести любое удобное название, я написал «Atmega168», т.к. та конфигурация, что приведу чуть ниже относится конкретно к этому контроллеру, и для любого другого контроллера она настраивается индивидуально.
В большом поле наверху, название инструмента будет автоматически продублировано.

Вторая строка, поле «Command:» — здесь нужно указать путь до файла «avrdude.exe», который находится в папке с вышерассмотренной программой

Третья строка, поле «Arguments:» необходимо ввести собственно саму конфигурацию

Конфигурация для Atmega168

-p m168 -c usbasp -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a

-p — наименование контроллера
-с — какой программатор
-P — порт, через который будет заливаться прошивка
-U — какая операция с какой памятью будет производится (в данном случае запись во Flash)
Если нужно настроить для другого МК, то параметр «m168» нужно изменить на соответствующий контроллер, который будет прошиваться. Например «m8» для Atmega8 или «m328p», если Atmega328p. Параметры для других МК смотрите здесь — также там найдёте описания ключей AVRDUDE.

Конфигурация для ATtiny13

-p t13 -c usbasp -B 3 -P usb -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:a 
Здесь можно заметить уже два изменения: помимо «t13», добавился уже знакомый ключ "-B" со значением «3» для снижения скорости программирования
После заполнения полей нажать «Apply» и «ОК». Окно закроется

Теперь, если снова кликнуть по «Tools», там появится только что созданный инструмент. И по нажатии по нему откомпилированный код будет автоматически прошит в контроллер.

Но эта операция происходит в два клика, что не очень удобно. Надо вынести этот инструмент на главную панель инструментов, чтобы он был всегда на виду.
Для этого нужно снова зайти в «Tools», затем кликнуть по пункту «Customize...»
Откроется следующее окно:

Перейти во вкладку «Commands» — нажать кнопку «Add Command...»

Ещё одно окно появится. В нём — в левой колонке выбрать «Tools», а в правой колонке выделить «External Command 1». Нажать «OK»

«External Command 1» окажется наверху списка, и, обратите внимание на саму панель инструментов — в интерфейсе появился пункт «Atmega168».

Но как мне кажется, место ему отведено не совсем удачное, желательно его сдвинуть вправо, для этого нажимается кнопка «Move Down» (одно нажатие = сдвиг на одну позицию вправо). После этого можно закрывать окно по кнопке «Close» и шить чип прямо из студии в один клик через обозреваемый программатор.

При перепрошивке чипа таким методом, на секунду появляется консольное окно AVRDUDE. Но может возникнуть необходимость как-то сохранить этот лог для дальнейшего его просмотра — тогда в окне «External tools» нужно поставить галку на «Use Output window».

И теперь лог будет отображаться в окне вывода, что внизу программы ATmel Studio 7. Данная галка может задаваться отдельно для каждого добавленного в «External tools» контроллера.

Дополнение по фьюзам программатораИз документа READMI, идущего в комплекте с драйверами и прошивкой для USBASP, позже выяснилось, что разработчик рекомендует выставить определённую конфигурацию фьюз-битов, определяющих работу внешнего резонатора.
Минусом khazam'ы является то, что в окне со фьюзами не отображаются HEX-значения выставленных битов. Это уже можно посмотреть в AVRDUDE PROG. Заводские фьюзы, выставленные китайцами, выглядят так (обязательно поставить точку «инверсные» — выделил синим прямоугольником):

Как рекомендует выставить разработчик:

HFUSE=0xc9
LFUSE=0xef

Это нужно снять две галки с «BODEN» и «SUT1» (выделено красным овалом),
поставить две галки на «CKOPT» и «SUT0» (выделено зелёным прямоугольником),
справа в колонке при этом будут отображаться HEX-значения изменённых битов (выделено жирным красным прямоугольником): Lock Byte: 3F, Fuse High Byte: C9, Fuse Low Byte: EF.

Если всё сходится, можно нажимать «программирование»

ВНИМАНИЕ. Злой фьюз-бит RSTDISBL — не трогать ни в коем случае, иначе его установка заблокирует контроллер и прошить потом через USBASP его уже будет нельзя.
_____________________________________

ВыводыОпробовано, работает. Если khazam не планируется использовать, то в обновлении прошивки для программатора — смысла нет, благо и так прекрасно работает, причём в случае с ATtiny13 никаких правок и перемычек вносить не требуется. Последняя прошивка — почему-то оказалась более капризна в этом плане. Единственное, после получения, плату надо пропаять и отмыть.

Список ссылок
1) Описание USBASP
2) AVRDUDE PROG 3.3 (форум)
3) Khazama AVR Programmer 1.7
4) Китайская стоковая прошивка (10кб)
5) Архив с прошивками для USBASP и драйверами для Windows — сайт создателя проекта

Программирование контроллеров AVR AtTiny13 / 25

 

Материал собран по интернету, любой желающий может найти самостоятельно множество вариантов схем, плат, программ.

Я выбрал наиболее простой для наколенного исполнения способ и описываю его.

Для начала вам понадобится программа.

Я предлагаю использовать. PonyProg.

На всякий случай я скачал последнюю, на данный момент, версию и положил здесь.

С этой версией у меня все зашилось. Я специально это проверял при подготовке статьи.

Теперь понадобится программатор

Я использовал так называемые .

Мой макет выглядит так.

 

Но так делать я лично не рекомендую, поскольку это не надежно и есть опасность замыканий, и как следствие выгорания LPT порта.

 

 

Схема. У меня микросхема программируется, когда питание на нее идет от 13 ноги DRB-25M, но это не очень хорошо, поэтому питание предлагается брать на USB разъеме. Там гарантированные 5В.

 

Плата для лазерно-утюжного метода:

Вариант для печати лежит тут.

 

Сборка вот:

 

Для изготовления понадобятся 4 сверла, но можно обойтись и двумя диаметрами

1 и 3мм.

 

Как работать с ПО

 

Устанавливаем PonyProg.

Напомню, дистрибутив есть здесь.

 

После установки и запуска возникнет такое окно.

Далее программатор сообщит, что надо выполнить калибровку и установить тип адаптера.

 

 

Калибровка выполняется автоматически и там показывать нечего.

А вот так надо выставить тип адаптера.

 

 

Далее открываем HEX файл.

 

 

Жмем кнопку Write Program Memory (пятая слева кнопка)

И радуемся, что микросхема удачно зашилась.

 

 

Жмем кнопку Configuration and security bits (Восьмая слева)

Программа считает текущие параметры.

На всякий случай жмем Read.

Выставляем биты как указано и жмем Write.

ВНИМАНИЕ! Не верная установка какого-нибудь бита может привести к тому, что контроллер придется выбросить, или искать профессиональный программатор, для того, чтобы привести его в чувство
Некоторые мои проекты требуют использования 1 вывода процессора, для его использования необходимо зашить бит RSTDISBL, что PonyProg делать не умеет, тут придется воспользоваться CodeVision. Но учите, сделать это можно только один раз. После прошивания этого бита, больше таким программатором стереть/прошить этот контроллер не удастся. В проектах, где это необходимо, я отмечаю об этом специально.

 

 

Теперь микросхема зашита и готова к работе. Удачи.

 

Да, также через такой адаптер можно шить из CodeVision AVR.

Открывем программу

Настраиваем тип программатора

Открываем проект

Настраиваем, если необходимо

Компиллируем

Выставляем настройки программирования и программируем, нажав Programm All

Про EEPROM отвечаем нет

Про RSTDISBL отвечаем да, и после этого чип больше не перепрограммируется этим программатором!

 

Мои микроконтроллерные поделки:

Пульт дистанционного управления для HT6806

Пульт дистанционного управления для Hyundai H-CMD4009

Доработка датчика дождя

Удлинитель сигналов поворота

Доработка водительского стеклоподъемника

Реализация ДХО (DRL) дальний в пол накала

 

Все. Удачи!

Прошивка Attiny85 через Arduino. Инструкция

В ходе некоторых исследований, которые я провел в Интернете о том, как минимизировать использование внешних компонентов, я наткнулся на применение микроконтроллера ATTiny85 в проектах. И, проведя еще несколько исследований, я решил, что мой новый проект будет выполнен с использованием чипа ATTiny85.

Тестер транзисторов / ESR-метр / генератор

Многофункциональный прибор для проверки транзисторов, диодов, тиристоров...

Микроконтроллер ATTINY85

Микроконтроллер ATTINY85 был куплен на Aliexpress. Сначала необходимо изучить распиновку которая показана ниже:

Выемка в верхней части микросхемы указывает на то, где находится контакт 1, затем отсчет продолжается против часовой стрелки.

На рисунке мы видим следующие контакты (порты), помеченные как PB0, PB1, PB2, PB3, PB4 и PB5. Также есть контакты GND и VIN. Они соответствуют земле (контакт 4 ) и плюс питания (контакт 8 ).

Подключение ATTINY85 к ARDUINO NANO

Нам понадобиться:

  1. Arduino Nano (или любая другая плата Arduino)
  2. ATtiny85
  3. перемычки
  4. электролитический конденсатор — 10 мкФ ~ 25 В

Соединим вместе необходимые выводы обеих платах.

Нам нужно соединить выводы MOSI , MISO и SCK обеих плат вместе, а цифровой вывод 10 Arduino Nano — к PB5 ATtiny85.

Добавьте конденсатор 10 мкФ между RESET и GND в Arduino. Это сделано для того, чтобы Arduino Nano не сбрасывалась автоматически при загрузке программы в Attiny85.

Для успешного программирования ATTiny85 необходимо настроить две вещи.

Установка  ATTINY BOARDS

Откройте программное обеспечение Arduino IDE, затем перейдите в Файл  > Настройки. Вы увидите дополнительные URL-адреса менеджера плат. Добавьте  эту ссылку:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Нажмите ОК.

Теперь перейдите в Инструменты > Плата > Boards Manager. Введите Attiny в поле поиска, и вы должны увидеть строку attiny by David A. Mellis. Щелкните по ней и произойдет установка платы. Теперь вы должны увидеть плату Attiny85 в списке, когда вы перейдете в Инструменты > Плата. Прокрутите вниз, чтобы убедиться, что плата действительно установлена.

Arduino как ISP

Подключите Arduino Nano к своему компьютеру. Перейдите в Файл > Примеры > ArduinoISP и нажмите Arduino ISP. Затем перейдите в Инструменты > Платы и выберите Arduino Nano (или желаемую плату). Перейдите в Инструменты > Порт и выберите порт, к которому подключена ваша плата.

Загрузите скетч ArduinoISP на свою Arduino Nano (или на другую плату), выбрав «Скетч» > « Загрузить». На этом этапе ваш Arduino Nano готов к использованию в качестве программатора.

Примечание. В некоторых случаях необходимо выбрать процессор: «ATMega328P (старый загрузчик)».

Загрузка скетча в ATTINY85

Убедитесь, что соединения выполнены, как описано выше. Откройте программу / скетч, которую хотите загрузить в микроконтроллер ATtiny85. Перейдите в Инструмент и настройте следующее.


Затем убедитесь, что Arduino в качестве ISP выбран в меню Инструменты -> Программатор . По умолчанию ATtiny85 работает на частоте 1 МГц. Чтобы заставить ATtiny85 работать на частоте 8 МГц, выберите Инструменты -> Записать загрузчик.

Теперь откройте пример Blink из примеров Arduino, измените номер пина с 13 на 0 и загрузите скетч.

Тестирование ATTINY85 BLINK

Пришло время проверить. Отключите все соединения с Arduino и подключите источник питания (в данном случае батарейка CR2032):

Блок питания 0...30 В / 3A

Набор для сборки регулируемого блока питания...

USB программатор для микроконтроллеров ATMEL

Микроконтроллеры фирмы ATMEL успели завоевать широкую популярность. Их программирование перед применением можно выполнить непосредственно в плате готового устройства через несложный ISP кабель, подключаемый к LPT порту персонального компьютера или кабель чуть посложнее, подключаемый к COM порту. Но в настоящее время всё больше материнских плат выпускается без того и другого, а в ноутбуках LPT исчез уже давно, сменившись интерфейсом USB. Впрочем, под этот интерфейс программаторы тоже существуют и доступны.

Для масштаба рядом лежит обычный 5 мм светодиод.
Этот программатор USBASP поддерживает следующие микроконтроллеры:

Список поддерживаемых МК

ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325,
ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535
AT90CAN32, AT90CAN64, AT90CAN128
AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
AT89S51, AT89S52
AT86RF401



Вместе с программатором поставляется 10-жильный летночный кабель с разъёмами.

Питание программатора берется с USB порта компьютера.

На плате программатора имеется место для распайки LDO стабилизатора напряжения на 3,3В, но сам он не распаян.
Программатор поддерживается программой AVRDUDE. Сама программа консольная, но под неё есть графические оболочки. Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.
Перед началом работы с программатором потребуется скачать драйвер со страницы разработчика.
Также программатор поддерживается средой разработки Arduino.

Для программатора существует прошивка под названием AVR-Doper, превращающая его в STK500-совместимый и воспринимаемый фирменной средой разработки ATMEL AVR Studio, но в силу высокой вариативности китайского железа пользоваться ею можно только на свой страх и риск.

Как запрограммировать ATTINY13A с Arduino Nano | автор: Антонио Манкузо

В этом посте описаны шаги, необходимые для программирования микроконтроллера ATTINY13A с Arduino Nano.

В нем описывается, как программировать Arduino Nano в качестве программиста ISP, как добавить определение ATTINY13 в менеджер платы Arduino IDE и как загрузить простую программу (мигание светодиода) в микроконтроллер.

Таблица данных ATTINY13A определяет его как 8-битный микроконтроллер с 1 КБ флэш-памяти, 64 Байт EEPROM и 64 Б ОЗУ (да, вы правильно прочитали: 64 Байт ОЗУ) 🙂

Очевидно, что такой микроконтроллер с ограниченными ресурсами не t подходит для любого типа применения.Он светится и очень полезен в приложениях, где требуется небольшая занимаемая площадь и низкое энергопотребление (вы можете питать его от батареи CR2032).

Замечательная функция, предоставляемая IDE Arduino, - это функция Board Manager, которая позволяет использовать IDE для платформ, отличных от Arduino.

Серия микроконтроллеров

ATTINY является одной из таких платформ и полностью поддерживается Arduino IDE.

На изображении выше показана распиновка ATTINY13A. Выводы 1, 5, 6, 7 имеют особое значение, поскольку они используются для программирования микроконтроллера или, другими словами, используются для передачи программы в его флэш-память для выполнения.

Ниже приведена подробная распиновка заголовка ISP, доступного на плате Arduino Nano

Пришло время углубиться в детали и посмотреть, как подключить ATTINY13A для правильного программирования с помощью платы Arduino Nano.

Подключите ATTINY13A и Arduino Nano, как показано на рисунке ниже

Обратите внимание на ориентацию ATTINY13A и найдите крошечную точку на верхней поверхности микроконтроллера. Он представляет положение контакта №1 на микросхеме.

Примечание : обратите внимание, что резистор и светодиод НЕ являются необходимыми для программирования ATTINY13A.Я добавил их только в целях тестирования (см. Видео ниже)

Ниже приведены некоторые детали подключения, которое я выполнил на макетной плате.

Обратите внимание, что я следил за цветовым кодом проводов, чтобы читателю было очень просто правильно подключить его.

В видео ниже показаны все необходимые шаги для правильной настройки среды Arduino.

Показано, как программировать Arduino Nano в качестве программиста ISP, как добавить определение ATTINY13 в диспетчер платы и как загрузить простую программу (светодиод мигает) в микроконтроллер.

Примечание : URL-адрес менеджера доски, используемый в видео: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json

100+ Проекты на ATtiny13 | Лукаш Подкалицки

ATtiny13 - мой любимый крошечный uC. Поэтому я решил спроектировать и собрать более 100 проектов на основе этого чипа. Почему мне нравится ATtiny13?

  • Расширенная архитектура RISC (до 1MIPS / 1 МГц, простой в освоении Ассемблер - всего 120 инструкций)
  • совместим по выводам с серией ATtiny * 5, поэтому, если 1 Кбайт флэш-памяти и / или 64 байта ОЗУ окажутся слишком ограниченными, их легко заменить до 8 Кбайт без изменения макета.
  • диапазон рабочего напряжения (1.От 8 В до 5,5 В) и промышленный диапазон температур (от -40 ° C до + 85 ° C)
  • основные периферийные функции, такие как таймер, 4-канальный АЦП, сторожевой таймер или аналоговый компаратор
  • Компилятор AVR-GCC и многие другие бесплатные инструменты разработчика с открытым исходным кодом.
  • очень-очень низкая цена за такую ​​вычислительную мощность!

Вот руководство по ATtiny13, плата для разработки ATtiny13, небольшие руководства о том, как скомпилировать и записать код в ATtiny13 (ANSI C) и как установить ассемблер AVR (AVRA) в Linux.

Проектов

[001] ATtiny13 - мигающий с функцией задержки
[002] ATtiny13 - светодиодный индикатор с функцией задержки (программная ШИМ)
[003] ATtiny13 - случайный мигающий светодиод с ГПСЧ на основе LFSR
[004] ATtiny13 - мигающий индикатор с таймером OVF ( Overflow)
[005] ATtiny13 - мигает со сторожевым таймером
[006] ATtiny13 - мигает с таймером COMPA
[007] ATtiny13 - тон-генератор
[008] ATtiny13 - программный UART (регистратор отладки)
[009] ATtiny13 - псевдослучайный номера (облегченная библиотека)
[010] ATtiny13 - управление светодиодной RGB-подсветкой (необычные световые эффекты)
[011] ATtiny13 - ИК-пульт для управления светодиодами (NEC proto)
[012] ATtiny13 - ИК-пульт для управления светодиодной RGB-подсветкой (NEC proto)
[013] ATtiny13 - ИК-приемник / протоанализатор NEC
[014] ATtiny13 - Лучшая температура в помещении на DS18B20
[015] ATtiny13 - двухтональный сигнал тревоги
[016] ATtiny13 - цифровой вольтметр постоянного тока с MAX7219
[017] ATtiny13 - цифровой Амперметр постоянного тока с MAX7219
[018] ATtiny13 - танцевальные огни с БПФ
[019] ATtiny13 - простой таймер на TM1637
[020] ATtiny13 - драйвер ШИМ светодиода питания
[021] ATtiny13 - простой текстовый интерфейс командной строки (интерфейс командной строки) через UART
[022] ATtiny13 - код Морзе (мигающий свет)
[023 ] ATtiny13 - индикатор уровня заряда батареи
[024] ATtiny13 - простой логический датчик
[026] ATtiny13 - дискотека с использованием БПФ
[028] ATtiny13 - текущие цифры на TM1637
[029] ATtiny13 - регистратор температуры с использованием LM35 и программного обеспечения UART
[ 030] ATtiny13 - считывание температуры и влажности из DHT11
[031] ATtiny13 - аппаратный ШИМ
[032] ATtiny13 - бегущие точки и цифры на 7-сегментном светодиодном ламповом дисплее
[033] ATtiny13 - Светодиодная лента WS2812 - мигающий
[034] ATtiny13 - радуга на одном светодиодах WS2812
[035] ATtiny13 - радуга на нескольких светодиодах WS2812
[036] ATtiny13 - круговой нарезчик светодиодов WS2812
[037] ATtiny13 - Металлоискатель PI (импульсная индукция)
[040] ATtiny13 - случайное мерцание пикселей на светодиодном дисплее с матрицей 8 × 8
[043] ATtiny13 - мигание с функцией задержки (версия на ассемблере)
[044] ATtiny13 - мигание с таймером OVF (версия на ассемблере)
[045] ATtiny13 - мигание с таймером COMPA (версия на ассемблере)
[047] ATtiny13 - управление шаговым двигателем 28BYJ-48
[ 048] ATtiny13 - случайное мигание светодиода с ГПСЧ на основе BBS
[050] ATtiny13 - переключатель хлопка хлопка
[052] ATtiny13 - 8-битный моно усилитель класса D

План реализации составляет ~ 50%.Некоторые проекты находятся в стадии реализации, а некоторые готовы к публикации. Я буду обновлять эту страницу!

Список TODO

У вас есть идея для следующего проекта на ATtiny13? Отправьте тему проекта в комментарии или напишите мне! ([email protected])

  • одиночный светодиодный кристалл (шарлиплексирование)
  • двойная светодиодная игральная кость (шарлиплексирование)
  • тройной светодиодный кубик (шарлиплексирование)
  • Робот-следящий за линией
  • Робот для обхода препятствий
  • Детектор ЭМП
  • усовершенствованный 4-канальный переключатель тарелки
  • Пульт дистанционного управления Canon (разъем 2.5 мм)
  • Пульт ДУ Canon (инфракрасный RC6)
  • простой пульт дистанционного управления и 4-канальный приемник (инфракрасный порт: RC5 или NEC)
  • электронные игральные кости с использованием светодиодов WS2811
  • Счетчик импульсов
  • - счетчик импульсов TTL, 7-сегментный светодиодный модуль и кнопка сброса
  • генератор импульсов - простой генератор импульсов TTL
  • Матричная клавиатура
  • - однопроводная, АЦП
  • Ведомое устройство OneWire
  • контроллер умной настольной лампы
  • светильники дискотеки (модернизированная версия)
  • Металлоискатель ПИ
  • Выключатель хлопок-хлопок.

Общественные проекты

Учебники

Библиотеки

  1. attiny13-software-uart-library - Программная библиотека UART ATtiny13.
  2. attiny-random-library - 16-битная библиотека PRNG (генератор псевдослучайных чисел) ATtiny13 / 25/45/85, основанная на алгоритме Галуа LFSR.
  3. attiny-max7219-led-tube-display-library - 7-сегментный светодиодный ламповый дисплей для ATtiny13 / 25/45/85 (MAX7219 / MAX7221).
  4. attiny-max7219-matrix-8-led-display-library - Библиотека драйвера матричного светодиодного дисплея ATtiny13 / 25/45/85 8 × 8 (MAX7219 / MAX7221).
  5. attiny-74hc595-library - Библиотека регистров сдвига ATtiny13 / 25/45/85 74hc595.
  6. attiny-tm1638-library - это библиотека tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85 и другие) для модулей светодиодных контроллеров на базе микросхемы TM1638.
  7. attiny-tm1637-library - TinyAVR - ATtiny13, ATtiny25, ATtiny45, ATtiny85 - библиотека для 7-сегментных дисплейных модулей на базе TM1637.
  8. attiny-ds18b20-library - это библиотека tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85 и др.) Для датчика температуры DS18B20.
  9. attiny-onewire-library - это библиотека tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85 и т. Д.) Для доступа к устройствам с использованием протокола OneWire (1-Wire).

ATtiny13 datasheet - 1 Кбайт внутрисистемная программируемая флэш-память для программ,

E0C60A08 : Семейство S1C60.

HD6437148 : Другие серии. Что касается изменения названий, упомянутых в документе, таких как Hitachi Electric и Hitachi XX, на Renesas Technology Corp.Полупроводниковые операции Mitsubishi Electric и Hitachi были переданы Renesas Technology Corporation 1 апреля 2003 года. Эти операции включают микрокомпьютер, логические, аналоговые и дискретные устройства, а также микросхемы памяти.

HE83146 : с драйвером ЖК-дисплея. Тип ПЗУ = Маска ;; Application = LCD Driver MCU ;; ROM = 192КБ ;; RAM = 256B ;; I / o = 8 ~ 24 ;; ЖК-дисплей = 1024 ~ 768.

LC6528N : 4-битный однокристальный микропроцессор для небольших приложений, ориентированных на управление.

LC865008B : 8-битный (8192 X 8-битное ПЗУ) однокристальный микроконтроллер. Микроконтроллеры LC865020B / 16B / 12B / 08B представляют собой 8-битные однокристальные микроконтроллеры со следующими функциональными блоками на кристалле ЦП: Работает при минимальном времени цикла шины 0,5 с (микросекунды) Объем встроенного ПЗУ до 20 Кбайт на кристалле Емкость ОЗУ: 384 байта (LC865020B / 16B / 12B / 08B) 16-битный таймер / счетчик (или два 8-битных таймера) 16-битный таймер / PWM (или два 8-битных.

SN8P0111P : 8-битный микроконтроллер.8-битный микроконтроллер, созданный по технологии CMOS и отличающийся низким энергопотреблением и высокой производительностью благодаря уникальной электронной структуре. Этот чип разработан с превосходной структурой IC, включая программную память для ПЗУ OTP 2K / 1K слов, 64 байта памяти данных, один 8-битный базовый таймер T0, один 8-битный таймер / счетчик событий.

SS8203 : Микроконтроллер общего назначения со вспышкой. Раздел Функция Конфигурация памяти Регистры специальных функций Программирование флэш-памяти Режимы энергосбережения WD-Timer Watch & Buzzer Time Base Timer PWM Timer 1/2/3 Capture Timer SIO-1 SIO-2 A / D Converter Внешние прерывания Блок управления прерываниями Порт-6 Таблица данных пакета синхронизации AC Timing для Port-7 I / O PAD.O CPU Промышленный стандарт 8051, совместимый с кодом - обширный.

TMP47E88AF : CISC-> TMP. КМОП 4-битный микроконтроллер.

TMP47P1660VF : CISC-> TMP. КМОП 4-битный микроконтроллер.

TMP47P823VF : CISC-> TMP. КМОП 4-битный микроконтроллер.

TMP93PW76F : Серия TLCS-900L. Размер ПЗУ = OTP 128 байт ;; Размер ОЗУ = 2,5 Кбайт ;; Напряжение питания = - ;; Счетчик ввода-вывода = - ;; Уникальный = - ;; Дополнительная информация = Подробнее.

XA-h4 : CISC. XA-h4; CMOS 16-битный микроконтроллер с высокой степенью интеграции. Мощное 16-битное ядро ​​ЦП XA и богатый набор функций делают устройства XA-h4 и XA-h5 идеальными для высокопроизводительных приложений реального времени, таких как промышленное управление и сети. Благодаря поддержке МБ внешней памяти эти устройства представляют собой недорогое решение для встраиваемых приложений любой сложности. такие как DMA, контроллер памяти и четыре продвинутых UART.

XE88LC01 : Сенсорная машина.Чувствительная машина с 16 + 10-битным Zoomingadc, маломощным интерфейсом датчика на основе микроконтроллера.

Z8E001 : OTP (KB) = 1 ;; RAM = 64 ;; Скорость = 10 ;; I / O = 13 ;; 8-битные таймеры = 3 ;; Коммуникационные интерфейсы = - ;; Другое = 16-битный ШИМ ;; Напряжение = 3,5-5,5 В ;;.

MPC8540EC, : MPC8540 содержит ядро ​​процессора PowerPC. MPC8540 объединяет процессор, реализующий архитектуру PowerPC с системной логикой, необходимой для работы в сети, хранилища и универсальных встроенных приложений.Информацию о функциональных характеристиках процессора см. В Предварительном справочном руководстве по интегрированному процессору MPC8540. Чтобы найти любой опубликованный.

AT90SC28872RCU : маломощный, высокопроизводительный, защищенный 8- / 16-битный криптоконтроллер с низким энергопотреблением, высокопроизводительный, 8- / 16-битный защищенный криптоконтроллер с 288 Кбайт ПЗУ и 72 Кбайт EEPROM. Безопасность: OTP (одноразовая программируемая) область EEPROM, интерфейс SPI, RNG (генератор случайных чисел), детекторы "вне границ", меры противодействия атакам по побочным каналам.Аппаратный DES / TDES, 32-битный.

MC8641DTHX1000GC : Дополнения к аппаратному обеспечению интегрированного хост-процессора, представленные в этом документе, заменяют дополнения к аппаратному обеспечению интегрированного хост-процессора MPC8641 и MPC8641D, версия 1 или более поздняя, ​​только для номеров деталей, перечисленных в таблице A. s, не упомянутые здесь, без изменений.

98ARL10602D : RS08 Микроконтроллеры Микроконтроллеры (MCU) серии SC9RS08KA2 - это чрезвычайно недорогое устройство для небольшого подсчета выводов для бытовой техники, игрушек и приложений с малой геометрией.Это устройство состоит из стандартных встроенных модулей, включая очень маленькое и высокоэффективное ядро ​​ЦП RS08, 63 байта ОЗУ, 2 КБ флэш-памяти, 8-битный таймер по модулю и клавиатуру.

MPC8309 : Аппаратное обеспечение семейства интегрированных коммуникационных процессоров PowerQUICC II Pro В этом документе представлен обзор процессора MPC8309 PowerQUICC II Pro. MPC8309 - это экономичный, высокоинтегрированный коммуникационный процессор, отвечающий требованиям нескольких сетевых приложений, включая бытовые шлюзы, модемы / маршрутизаторы, промышленные.

Программирование ATtiny13A в сборке

Назначение

Иногда вы можете захотеть использовать микроконтроллер, чтобы сделать что-то простое, но это не только микросхемы, такие как ATmega328P (IC Arduino Uno), они также довольно дороги. Вот почему использовать микросхемы AVR из семейства ATtiny - это здорово. ATtiny13A имеет только 64 байта (не килобайты… байты) ОЗУ и 1 КБ флеш-памяти, но с 6 контактами ввода-вывода, которых может быть достаточно для многих приложений. Они стоят всего около 50 долларов за микросхему, поэтому создание нескольких схем с их помощью очень недорого.

Atmel Studio

Теперь это высшая лига, так как пора отойти от комфорта Arduino IDE и перейти в мир сборки и прямых манипуляций с регистрами. Хотя технически возможно использовать Arduino IDE, Atmel Studio - лучший вариант. Это промышленный стандарт IDE для программирования микроконтроллеров AVR, который также имеет полезные функции, такие как отладчик и предварительно созданные определения регистров. Чтобы установить его, перейдите на эту страницу и нажмите кнопку загрузки.После успешной установки запустите его. Вас приветствует стартовая страница. Щелкните New Project и выберите Assembler / AVR Assembler Project.

Назовите его «blink» и поместите в знакомый каталог. Затем найдите Attiny13a и выберите его. Это будет включать его свойства устройства и определения регистров.

The Programmer

Для этого проекта я выбрал программатор AVRISP MkII из-за его относительно низкой стоимости (40 долларов США) и простоты использования при взаимодействии.

Он имеет 6-контактный разъем, который подключается к разъему ICSP на платах разработки.Ниже заголовок Arduino Uno:

Эти контакты включают MISO, MOSI, SCK, RESET, GND и VCC. Программист отправляет и получает данные от чипа, которые можно просмотреть в Atmel Studio.

Breakout PCB

Хотя ATtiny13A имеет контакты, необходимые для ICSP, у него нет готовой платы для разработки, поэтому мне пришлось создать для нее специальную монтажную плату. Я начал с создания новой схемы в Eagle и добавления ATtiny13A из библиотеки atmel вместе с несколькими контактными разъемами и резисторами / переключателями и светодиодами.

Затем я соединил их вместе, как показано ниже, и разработал однослойную печатную плату.

Затем я сгенерировал G-код с помощью ChiliPeppr и фрезеровал его с помощью фрезерного станка с ЧПУ, но, к сожалению, многие следы также были фрезерованы из-за неправильной конфигурации.

Из-за этого мне приходилось паять многие провода вручную. Но после некоторого тестирования все заработало, как ожидалось.

Attiny13A Лист данных

Этот лист данных - ваш друг. Он сообщает вам спецификации, регистры и инструкции, которые необходимо выполнить для выполнения определенных задач.Чтобы мигать светодиодом, необходимо знать, как выводить сигналы на выводе ввода-вывода, а также как разветвляться и настраивать IC после сброса. Согласно таблице, первый вектор в 0x00 обрабатывает, что делать при запуске, поэтому мы можем настроить устройство на переход к началу программы.

Чтобы установить PB3 в качестве выхода, регистр направления данных (DDRB) должен быть установлен в 1 в 4-м бите справа.

Кроме того, его можно установить в высокий или низкий уровень, изменив 4-й бит в регистре PORTB.

Отсчет времени может быть выполнен путем переключения на определенное количество тактов и последующего выхода из цикла, когда он достигнет целевого значения.

Последовательность выполнения программы

В начале программы вектор сброса устанавливается на запуск в начале программы, где он входит в метку инициализации. Регистры с r16 по r25 представляют собой 8-разрядные регистры общего назначения, в которые могут быть загружены литералы напрямую, поэтому большинство программ используют номера регистров, начинающиеся с r16.

Значение 0b00001000 загружается в DDRB, устанавливая PB3 на выход.Затем программа вводит метку цикла, где микросхема поочередно устанавливает бит значения PB3 на 0 и 1. При каждом изменении она переходит к меткам таймера, которые отсчитывают определенное количество раз, которое соответствует величине задержки, по существу тратя впустую такты. После того, как это число будет достигнуто, программа вернется к основному циклу.

Только некоторые из поддерживаемых инструкций

Программирование чипа

Программирование в Atmel Studio очень просто. Сначала соберите программу и выведите шестнадцатеричный файл, нажав F7.Затем все, что вам нужно сделать, это открыть окно «Программирование устройства», выбрав «Инструменты» -> «Программирование устройства» и выбрав вкладку «Воспоминания». Теперь вы можете нажать «Программа», чтобы записать шестнадцатеричный файл в чип.

Watch It Blink

Чтобы светодиод мигал, подключите его анод к PB3 (контакт 2), а его катод к GND (контакт 4). Он должен включиться примерно на одну секунду, затем выключиться на одну секунду и продолжить цикл по этому шаблону.

Планы на будущее

Поскольку ATtiny13A настолько дешев, я планирую показать, в каких приложениях он может использоваться, например, в простом устройстве, которое может определить, когда пользователь нажимает кнопку, а затем гудит.

Mikrokontrolér AVR, EEPROM: 64B, SRAM: 64B, flash: 1kB, SMD ATTINY13-20SU

Mikrokontrolér AVR, EEPROM: 64B, SRAM: 64B, flash: 1kB, SMD ATTINY13-20SU | GM electronic, spol. s.r.o.

Pro správné chování a zobrazení stránek, prosím povolte ve Vašem prohlížeči JavaScript

Atmel AVR Tiny 13, 1 КБ флэш-памяти, 64 ГБ ОЗУ, 64 ГБ EEPROM, 4-канальный 10-разрядный аналого-цифровой преобразователь, SOIC 8 RISC 0-20 МГц

Název výrobce МИКРОЧИП (ATMEL) Kód produktu 958-124 Kód výrobce ATTINY13-20SU Ваха 0.00025 кг

Цена за DPH от 50 тысяч 49,40 Kč / 40,8265 Kč без dph Цена DPH от 10 тыс. 55,25 Kč / 45.6612 Kč без dph Цена за DPH от 3 тыс. 58,50 Kč / 48,3471 Kč без dph. Více o dopravě Cena za mj 65 крон

Электронный магазин Centrální sklad Skladem (809 ks)

MO prodejna Praha Skladem (22 ks)

МО продейна Брно Není skladem

МО продейна Острава Складем 3 мкр

MO prodejna Plze Není skladem

MO prodejna Градец Кралове Складем 3 мкр

МО продейна Братислава Складем 4 мкр

Atmel AVR Tiny 13, 1 КБ флэш-памяти, 64 ГБ ОЗУ, 64 ГБ EEPROM, 4-канальный 10-разрядный аналого-цифровой преобразователь, SOIC 8
RISC 0-20 МГц

Příbuzné produkty

Skladem

Микроконтроллер ATMEL AVR, программа FLASH 8kB, 512byte...

61,98 Kč без dph 75 крон

Код 958-097

Skladem

Микропроцессор Atmel AVR 2kB FLASH 128B EEPROM 128B ...

45,45 Kč без dph 55 крон

Код 958-100

Skladem

Atmel AVR 2kB FLASH 128B EEPROM 128B RAM, 2x8bit TI...

51,24 Kč без dph 62 Kč

Код 958-116

Skladem

Atmel AVR Tiny 25 2kB FLASH 128B EEPROM 128B RAM, 2 ...

48,76 Kč без dph 59 крон

Код 432-223

Skladem

Atmel AVR Tiny 25 2kB FLASH 128B EEPROM 128B RAM, 2...

48,76 Kč без dph 59 крон

Код 958-154

Skladem

Atmel AVR Tiny 45, 4kB FLASH 256Byte EEPROM 256BYTE ...

53,72 Kč без dph 65 крон

Код 432-225

Skladem

Микроконтроллер Atmel AVR с 8 КБ внутри системы, пр...

52,07 Kč без dph 63 крон

Код 432-019

Skladem

Микроконтроллер AVR, 8kBytes In-System Self-Programma ...

58,68 Kč без dph 71 Kč

Код 432-027

Nejprodávanější výrobci

Registrace ze starého e-shopu již nejsou platné a je potřeba si vytvořit registraci novou, nebo nakoupit na našem e-shopu bez registrace.

Авторские права 1990–2021 GM electronic, spol. s.r.o.

Tvorba eshopu: Web Revolution

ATtiny13 - последняя документация по PlatformIO

Платформа

Atmel AVR: 8-битные микроконтроллеры Atmel AVR обеспечивают уникальное сочетание производительности, энергоэффективности и гибкости конструкции.Оптимизированные для ускорения вывода на рынок - и легкой адаптации к новым - они основаны на самой эффективной в отрасли архитектуре программирования на языке C и ассемблере

.

Микроконтроллер

ATTINY13

Частота

9 МГц

Вспышка

1 КБ

RAM

64B

Поставщик

Микрочип

Используйте attiny13 ID для опции платы в «platformio.ini »(файл конфигурации проекта):

 [env: attiny13]
платформа = atmelavr
доска = attiny13
 

Вы можете переопределить настройки ATtiny13 по умолчанию для каждой среды сборки, используя board _ *** option, где *** - путь к объекту JSON из манифест платы attiny13.json. Например, board_build.mcu , board_build.f_cpu и т. Д.

 [env: attiny13]
платформа = atmelavr
доска = attiny13

; изменить микроконтроллер
board_build.mcu = attiny13

; изменить частоту MCU
board_build.f_cpu = 9600000L
 

Отладка - решение «в один клик» для отладки с нулевой конфигурацией.

Предупреждение

В зависимости от вашей системы вам потребуется установить драйверы средства отладки. Пожалуйста, нажмите на совместимый инструмент отладки ниже, чтобы продолжить инструкции и информация о конфигурации.

Вы можете переключаться между инструментами отладки и зондами отладки, используя параметр debug_tool в «platformio.ini» (файл конфигурации проекта).

ATtiny13 имеет встроенный датчик отладки, а ГОТОВ для отладки.Вам не нужно использовать / покупать внешний датчик отладки.

Совместимые инструменты

Бортовой

По умолчанию

симавр

Есть

Есть

Имя

Описание

Ардуино

Arduino Wiring-based Framework позволяет писать кроссплатформенное программное обеспечение для управления устройствами, подключенными к широкому спектру плат Arduino, для создания всех видов творческого кодирования, интерактивных объектов, пространств или физического опыта

Микроконтроллер ATtiny13: схема расположения контактов, техническое описание, программирование [Видео]

ATtiny13 - это маломощный 8-разрядный микроконтроллер CMOS , основанный на архитектуре RISC , улучшенной AVR.

Это вводная статья о ATtiny13, 8-битном микроконтроллере, , прочитав это, вы узнаете о распиновке ATtiny13, функциях, его альтернативах, различиях между ATtiny13a, а также о том, как его программировать, и т. Д. Оставайтесь с нами, ребята!

В этом обучающем видео подробно показано, как программировать ATtiny13 с Arduino.


Каталог


ATtiny13 Описание

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

ATtiny13 также включает встроенную отладку debugWIRE, внутрисистемный программируемый порт SPI, а также режимы ожидания с низким энергопотреблением, отключения питания и ожидания. Также используется программируемая схема обнаружения пониженного напряжения.

Работает в широком диапазоне напряжений, от 1 до 1.От 8 В до 5,5 В. В результате его можно использовать в операциях логического уровня при 1,8, 3,3 или 5,0 В. С другой стороны, входное напряжение 1,8 В для ATtiny13V поддерживает работу в диапазоне 0–4 МГц. Для частот до 10 МГц минимальное напряжение для ATtiny13 составляет 2,7 В, а для частот до 20 МГц минимальное напряжение составляет 4,5–5,5 В.


ATtiny13 Распиновка

ATtiny13 микроконтроллер AVR ATtiny13 Распиновка микроконтроллера AVR

Номер контакта Имя контакта Описание
1 (PCINT5 / RESET / ADC0 / dW) PB5 Вывод порта B, бит 5 или входной канал 0 АЦП, или ввод / вывод debugWIRE, или вывод изменения вывода, прерывание 0, источник 3 или вывод сброса, в основном используемый для программирования
2 (PCINT3 / CLKI / ADC3) PB3 Двунаправленный вывод ввода-вывода порта B, бит 3 или входной канал 3 АЦП, или вход внешнего тактового сигнала, или прерывание изменения контакта 0, источник 3
3 (PCINT4 / ADC2) PB4 Двунаправленный вывод ввода / вывода порта B, бит 4 или входной канал 2 АЦП, или прерывание изменения вывода 0, источник 4
4 ЗЕМЛЯ Контакт заземления MCU
5 PB0 (MOȘI / AIN0 / OC0A / PCINT0) Двунаправленный вывод ввода / вывода порта B Бит 0 или SPI MOSI, используемый для программирования или аналогового компаратора + или прерывания смены вывода 0, источника 0 или таймера / счетчика0 сравнения Match A Out
6 PB1 (MISO / AIN1 / OC0B / INT0 / PCINT1) Двунаправленный вывод ввода / вывода порта B Бит 1 или вход аналогового компаратора - или вход внешнего входа 0 или таймер / счетчик 1, выход сравнения B или изменение контакта Прерывание 0, источник 1 или SPI MISO, используемый для программирования
7 PB2 (SCK / ADC1 / T0 / PCINT2) Двунаправленный вывод ввода / вывода порта B, бит 2 или входной канал 1 АЦП, или таймер / счетчик 0, источник тактового сигнала, или вход последовательного тактового сигнала, или вход изменения вывода прерывания 0, источник 2 или вход внешнего тактового сигнала, используемый для программирования
8 VCC Положительный вывод MCU (+ 5V)

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

  • Высокопроизводительный 8-разрядный микроконтроллер AVR® с низким энергопотреблением
  • Расширенная архитектура RISC

- 120 мощных инструкций - большинство операций за один тактовый цикл

- 32 x 8 рабочих регистров общего назначения

- Полностью статическая работа

- пропускная способность до 20 MIPS при 20 МГц

  • Энергонезависимые сегменты памяти повышенной прочности

- 1 Кбайт внутрисистемной самопрограммируемой флэш-памяти программ

- 64 байта EEPROM

- 64 байта внутренней SRAM

- Циклы записи / стирания: 10 000 Flash / 100 000 EEPROM

- Срок хранения данных: 20 лет при 85 ° C / 100 лет при 25 ° C (см. Стр. 6)

- Программируемый замок для самопрограммируемой защиты данных Flash и EEPROM

- Один 8-битный таймер / счетчик с предделителем и двумя каналами ШИМ

- 4-канальный 10-разрядный АЦП с внутренним опорным напряжением

- Программируемый сторожевой таймер с отдельным встроенным генератором

- Встроенный аналоговый компаратор

  • Специальные характеристики микроконтроллера

- встроенная система отладки debugWIRE

- внутрисистемное программирование через порт SPI

- Внешние и внутренние источники прерываний

- Режимы холостого хода с низким энергопотреблением, шумоподавление АЦП и пониженное энергопотребление

- Улучшенная схема сброса при включении питания

- Программируемая цепь обнаружения пониженного напряжения

- Внутренний калиброванный осциллятор

- 8-контактный PDIP / SOIC: шесть программируемых линий ввода / вывода

- 20-контактный MLF: шесть программируемых линий ввода / вывода

- 1.8 - 5,5 В для ATtiny13V

- 2,7 - 5,5 В для ATtiny13

- ATtiny13V: 0 - 4 МГц при 1,8 - 5,5 В, 0 - 10 МГц при 2,7 - 5,5 В

- ATtiny13: 0–10 МГц при 2,7–5,5 В, 0–20 МГц при 4,5–5,5 В

  • Промышленный диапазон температур
  • Низкое энергопотребление

- Активный режим:

- Режим пониженного энергопотребления:

<0,1 мкА при 1,8 В


ATtiny13 Параметр

Производитель: Microchip Technology
серия: AVR® ATtiny
Упаковка: Трубка
Состояние детали: Активный
Ядро процессора: AVR
Размер сердечника: 8-бит
Скорость: 10 МГц
Возможности подключения:
Периферийные устройства: Обнаружение / сброс неисправности POR PWM WDT
Количество входов / выходов: 6
Размер памяти программ: 1 КБ (512 x 16)
Тип памяти программы: ВСПЫШКА
Размер EEPROM: 64 х 8
Размер оперативной памяти: 64 х 8
Напряжение - питание (Vcc / Vdd): 1.8 В ~ 5,5 В
Преобразователи данных: А / Д 4x10b
Тип осциллятора: внутренний
Рабочая температура: -40 ° C ~ 85 ° C (TA)
Тип установки: Сквозное отверстие
Упаковка / ящик: 8-DIP (0,300 дюйма 7,62 мм)
Пакет устройств поставщика: 8-PDIP
Базовый номер детали: ATTINY13

Блок-схема ATtiny13


ATtiny13 Альтернатива

  • ATtiny2313A (Точная альтернатива в новом выпуске)
  • ATtiny417
  • ATtiny28L
  • ATtiny48
  • ATmega88PA
  • ATmega8A
  • ATmega8515
  • ATmega8535
  • ATmega645A
  • ATmega6490

ATtiny13 против ATtiny13a

ATtiny13a

AVR класса A являются незначительными улучшениями по сравнению с предыдущей версией; эти улучшения варьируются от чипа к чипу, например.грамм. разница между ATtiny2313 и ATtiny2313A отличается от разницы между ATmega128 и ATmega128A.

Чтобы быть более конкретным, ATtiny13 является исходной версией и использует другой технологический процесс, чем ATtiny13A. Детали с суффиксом A производятся с использованием процесса с низким энергопотреблением, который продается как «picoPower», и главное отличие состоит в том, что они обычно потребляют меньше энергии при том же напряжении и частоте.

Что касается различий с точки зрения совместимости кода, я не вижу причин, по которым ATtiny13A не будет кодовой и двоично совместимой с программами, написанными для ATtiny13.Однако обратное не совсем так: хотя наборы команд и большинство периферийных устройств идентичны, ATtiny13A имеет дополнительные регистры PRR (регистр снижения мощности) и BODCR (регистр управления детектором пониженного напряжения).


ATtiny13 Программирование

Микроконтроллеры AVR можно программировать с использованием различных программных опций, доступных на рынке. Некоторые продолжают программировать микроконтроллеры AVR на языке ассемблера. Информация, представленная ниже, относится к наиболее продвинутому и широко используемому программному обеспечению и компилятору, разработанным Atmel (теперь Microchip).

Для программирования микроконтроллера AVR нам понадобится IDE (интегрированная среда разработки), в которой и происходит программирование. Компилятор - это то место, где наша программа преобразуется в файлы HEX, читаемые MCU.

IDE: Atmel Studio 7

Компилятор: AVR и ARM Toolchains

Компания

Microchip предоставила обе эти программы бесплатно. Их можно получить прямо с их официального сайта. Я также включил ссылку для вашего удобства.Установите их на свой компьютер после того, как они будут загружены.

Нам понадобится устройство под названием ATAtmel-ICE для дампа или загрузки нашего кода в AVR. Программатор / отладчик ATAAtmel - ICE - это простой внутрисхемный отладчик, управляемый ПК, на котором работает Atmel Studio на платформе Windows. Программатор / отладчик ATAAtmel-ICE - важный инструмент в наборе инструментов инженера-разработчика. Схема программирования ATtiny13 изображена на диаграмме ниже.

Пользователи могут также использовать устройство программирования USB ASP AVR в дополнение к этому официальному программатору для недорогих программных решений.Кроме того, нам потребуется другое оборудование, такое как плата Perf или макетная плата, паяльная станция, микросхемы AVR, кварцевые генераторы, конденсаторы и так далее.


ATtiny13 Упаковка


ATtiny13 Производитель

Microchip Technology Inc. - ведущий поставщик микроконтроллеров и аналоговых полупроводников, обеспечивающий разработку продуктов с низким уровнем риска, более низкую общую стоимость системы и более быстрый вывод на рынок тысяч разнообразных клиентских приложений по всему миру.Компания Microchip со штаб-квартирой в Чандлере, штат Аризона, предлагает отличную техническую поддержку наряду с надежной доставкой и качеством.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *