Форум підтримки проектів • перегляд теми - як прошити мікроконтролер (на прикладі attiny2313)

Як прошити мікроконтролер (на прикладі ATtiny2313)

Отже, маємо ATtiny2313, LPT порт (обов'язково залізний - ніякі USB-2-LPT не працюють), 6 дротів (довжина не більше 10-15см), паяльник.

Бажано мати роз'єм DB-25M (тато). З ним зручніше підключати, але можна обійтися і без нього.

Припаюємо проводки до висновків 1, 10, 17, 18, 19, 20 мікроконтролера. Отримуємо щось на кшталт:


Правда тут не показані проводки для харчування. На наступній картинці вони вже є

Далі якщо є роз'єм DB-25M, то припаюємо проводки до нього відповідно до таблиці. Якщо немає, то просто встромляємо проводки в роз'єм на комп'ютері (не забуваючи про таблицю.).

Я робив без роз'єму (в наявності були струму мами.), І ось що вийшло:

Правда у мене LPT порт винесено на стіл за допомогою кабелю довжиною 1,5 метра. Але при цьому кабель повинен бути екранований, інакше нічого не вийде.

Схема цього дива приблизно ось така:

Ну якщо бути зовсім чесним, то бажано зібрати "правильний" програматор. І потім буде простіше і порт целее. Я використовую STK200 / 300, схему якого можна знайти тут

На тому ж сайті Ви знайдете і схеми програматорів і саму програму. Про всяк випадок повторю архів у себе - ось.

Після запуску програми вона "заірже." Як справжній поні. Щоб цього більше не чути в вікні ставимо галочку "Disable sound". Тиснемо "ОК". Вискакує віконце:

Яке говорить, що потрібно відкалібрувати програму. Комп'ютери бувають же різні і повільні і спритні.

Тиснемо "ОК". Вискакує ще одне віконце:

А це нам говорить, що потрібно налаштувати інтерфейс (який програматор і куди підключений.).

Отже заходимо в меню: Setup -> Calibration. У віконці, що з'явилося:

тиснемо "YES". Проходить пара секунд і програма говорить "Calibration OK".

Далі заходимо в меню: Setup -> Interface Setup. У віконці, що з'явилося налаштовуємо як у показано на малюнку.

Далі заходимо в меню: Command -> Program Options. У віконці, що з'явилося налаштовуємо як у показано на малюнку.

Все готово до програмування.

Отже, послідовність дій:

1. Вибираємо зі списку "AVR micro"
2. З іншого списку вибираємо "ATtiny2313"
3. Завантажуємо файл прошивки (File -> Open Device File), вибираємо потрібний файл, наприклад "rm-1_full.hex".
4. Тиснемо кнопочку "Launch program cycle". Коли програмування завершиться прога скаже "Program successful"
5. Ну і наостанок треба запрограмувати так звані фьюз (fuses). Для цього тиснемо кнопочку "Security and Configuration Bits". У вікні тиснемо "Read", потім виставляємо галочки СУВОРО так, як показано на малюнку, і тиснемо "Write".

УВАГА! Якщо Ви не знаєте, що означає той чи інший конфігураційний біт, то не чіпайте його.

Це відповідає такій конфігурації:

Ну ось тепер у нас готовий до роботи контролер!

Вкладення PonyProg_V207c.zip (545.43 КБ) Завантажень: 2074

а ось у мене питаннячко.
якщо спочатку зібрати повністю пристрій (наприклад термостат) з "чистим" flash,
то чи можна підключити програматор прямо до пристрою і запрограмувати?

якщо так, то припускаю послідовність дій:
- підключаємо програматор
- запускаємо PonyProg
- подаємо харчування на ATtiny2313
- програмуємо
прохання поправити якщо щось не так написав

Valentin_N писал (а): чи можна підключити програматор прямо до пристрою і запрограмувати


імеенно так і роблю, тільки треба мати на увазі, якщо до висновків контролера підключені світлодіоди, або інше навантаження, то її повинен потягнути програматор!

Valentin_N писал (а): якщо так, то припускаю послідовність дій:
1) підключаємо програматор
2) запускаємо PonyProg
3) подаємо харчування на ATtiny2313
4) програмуємо


1-3 пункти можна виконувати в будь-якій послідовності, головне щоб в момент програмування на контролері було харчування і він був підключений до программатору.

У даташіте на ATTINY2313 написано, що на вхід XTAL1 потрібно подати не менше 6 імпульсів щоб ввести контролер в режим програмування.

Підкажіть, в чому проблема, а ще краще, як її усунути.
Заздалегідь дякую.

З.І. вибачте, що пишу УРКАїнський символами - якийсь глюк.

нда. фото дуже прояснили справу - нічого не видно.
перемички є?
живлення?
Раз ви вже завязвлісь з платою, то зробили б нормальний програматор з буферне мікросхемою.

Вибачте за якість - під рукою тільки моб.
перемички є: (2-12) (3-11)
харчування подаю від блоку живлення.
можливо єто через те, що у мене встановлений принтер на LPT. (Десь вічітал)
я не так з платою хотів поковіряться як випробувати нову "травілку")))

Фізично - відключаю, звичайно.
По суті там тільки драйвер принтера на операционке залишився.

Вітаю
у мене така проблема
Заблокувався ATTINY2313 якомога разблокіроват мк без спец програматора
спасибі за відповідь

Що значить заблокувався? лок біти? або біти відповідають за джерело тактових імпульсів? Детальніше будь ласка.

ЗИ: у мене поламалася машина, як виправити?

лок біти. і тепер не можу підключити не з rs232 і не з lpt программатором.
не один програматор не бачить мк.

якщо лок біти, то ніяк. На те вони і лок біти.

Для сучасних (тут я не маю на увазі ПЛІС) PIC'ов і в AVR захищеність така висока, що розтин якщо і проводиться, то шляхом розбирання мікросхеми з відповідними знаннями з архітектури кристала. Іноді швидше і дешевше зробити ре інжінеренг системи, ніж намагатися розкрити прошивку. Або як варіант дати гроші, які плануються на розтин, нікому особі, який має доступ до прошивки, а ще краще до ісподнікам. Тому що дізасм hexов в тому ж IDA теж має свої заморочки. А як справа йде далі розмов - починаються відмазки. Так що не турбуйтеся - захисту сучасних кристалів досить.

Можна безглузді питання ПОСТАВИТИ. А за цим же принципом які ще контролери можна прошивати? Я маю на увазі принцип 6 проводів.

всі контролери Атмел. З іншими не працював - не знаю. У піках - там начебто тільки через COM-порт, відповідно перетворювач рівнів потрібен.

Мені потрібно прошити МК на кварц 10Mhz. Фьюз Вистава як треба. Після того Комп не бачить МК. Як прошити МК на кварц 10Mhz за допомогою вашої схеми ??