ФОРУМ ПО ЭЛЕКТРОНИКЕ

РАДИОЭЛЕКТРОНИКА ДЛЯ НАЧИНАЮЩИХ И САМОСТОЯТЕЛЬНЫЙ РЕМОНТ
 




Текущее время: 28 мар 2024, 23:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Чем прошить ATMega 328P?
СообщениеДобавлено: 05 сен 2018, 10:49 

Автор
Не в сети
новичок

Зарегистрирован: 05 сен 2018, 10:45
Сообщения: 9
место жительства: Владивосток
практический опыт в радиоэлектронике: от 1 года до 5-ти лет
Хочу собрать тестер компонентов на ATMega 328p. Чем прошить ATMega 328P?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чем прошить ATMega 328P?
СообщениеДобавлено: 06 сен 2018, 00:08 
Не в сети
БЕЗДЕЛЬНИК
Аватара пользователя

Зарегистрирован: 07 дек 2013, 19:16
Сообщения: 2764
Откуда: уже Россия
место жительства: КФО
практический опыт в радиоэлектронике: от 5-ти лет и более
Классно!!! Уже вопрос стал традицией на всех сайтах Вас шо в GOOGLe забанили??
А так? http://arduino.ru/forum/apparatnye-vopr ... ontrollera

_________________
ЧЕЛОВЕК-звучит гордо,выглядит отвратительно!


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чем прошить ATMega 328P?
СообщениеДобавлено: 23 апр 2019, 16:17 
Не в сети
пользователь
Аватара пользователя

Зарегистрирован: 17 апр 2019, 07:29
Сообщения: 26
место жительства: Комсомольск
практический опыт в радиоэлектронике: от 5-ти лет и более
Freakazoid писал(а):
Хочу собрать тестер компонентов на ATMega 328p. Чем прошить ATMega 328P?


Можно прошить самодельным Arduino ISP программатором сделанным из Arduino.
Вложение:
программируем.jpg
программируем.jpg [ 19.94 КБ | Просмотров: 9635 ]


И кратко расскажу как прошить.

Теория

ISP (In-System Programming) расшифровывается как внутрисхемное программирование. Это технология, которая позволяет программировать микроконтроллер, установленный в устройство.

Существует 2 основных подхода внутрисхемного программирования:

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

2 С использованием загрузчика. Загрузчик, он же бутлоадер (от английского bootloader) - это программа, записанная обычно в конце ПЗУ микроконтроллера, которая берет на себя функции программатора. При включении микроконтроллера управление сначала передается загрузчику. Он проверяет наличие определенных условий, сообщающих о необходимости перейти в режим программирования. Если условия не выполнены, то управление передается основной программе, в противном случае загрузчик принимает данные по заранее определенному интерфейсу и размещает их в ПЗУ. Таким образом микроконтроллер программирует сам себя.

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

ISP-программатор из Arduino

Аппаратную часть можно сделать из любой Arduino. Все разновидности ардуино-плат абсолютно совместимы друг с другом - если вас заинтересовал проект на ArdinoNano - ничто вам не помешает реализовать его на обычной Ardino(Freeduino) или ArdinoMega(SeeduinoMega), причём ни в коде ни в схеме переделывать ничего не придётся. Можно и наоборот, например, с «меги» на «мини» - лишь бы выводов/памяти хватило (часто в проектах применяются откровенно избыточные платы). Так же никакой разницы нет в выборе конкретной платы внутри размерного ряда — берём проект для ArduinoDiecimila(DFRduino) и спокойно делаем его на UNO(CraftDuino) и наоборот! Нет никакой принципиальной разницы, кто сделал эту плату и как она называется - это не айфон, качественно можно собрать такую плату и в подвале.

Для примера возьмем Arduino UNO, у меня сделано на Arduino nano, но UNO крупнее и проще для понимания в рисунках.

Открываем Arduino IDE

Вложение:
ArduinoISP example.png
ArduinoISP example.png [ 42.95 КБ | Просмотров: 9635 ]


и заливаем в Arduino Uno sketch называющийся ArduinoISP (File -> Examples -> Arduino ISP)

Для предотвращения автоматической перезагрузки платы-программатора, между ее выводами Reset и GND нужно установить электролитический конденсатор на 10мкФ.

Вложение:
Two Arduino UNO ISP.jpg
Two Arduino UNO ISP.jpg [ 211.14 КБ | Просмотров: 9635 ]


Вместо целевой платы можно просто подключить микропроцессор.

Вложение:
328.jpg
328.jpg [ 113.77 КБ | Просмотров: 9635 ]


В прошивке используются линии SPI (Serial Peripheral Interface - последовательный периферийный интерфейс). Выводы MOSI, MISO и SCK должны быть соединены, а вывод 10 Ардуино-программатора подключается к выводу Reset. Еще 2 провода нужны чтобы подать питание. Внутрисхемное программирование использует 4х проводный протокол SPI для программирования и поддерживается почти всеми AVR мк. Главный недостаток – при определенных установках фьюзов может быть не пригодным для использования. Тогда используют HVSP (High Voltage Serial Programming) высоковольтное последовательное программирование, которое не зависит от состояния фьюзов. HVSP требует внешний источник 12В и транзисторный ключ для подачи высокого напряжения на RESET пин, но описание данного вида программатора выходит за рамки короткого ответа.

Для прошивки использовать SinaProg.

Вложение:
sina1.jpg
sina1.jpg [ 41.35 КБ | Просмотров: 9635 ]


В блоке Hex-file выбираем hex или eep (первый - прошивка, второй - содержимое энергонезависимой памяти).

В блоке Flash есть кнопки:

Program - запись hex-файла в микроконтроллер(возможно, когда выбран Hex-file);

Verify - проверка прошивки, что в микроконтроллере, и hex-файла(проще говоря, их сравнение), если всё норм - программа говорит OK;

Read - считать hex-файл.

С блоком EEPROM всё по аналогии.

Блок Device. Есть все популярные микроконтроллеры фирмы ATmel, в частности ATmega328P, ATmega8, ATtiny13, ATtiny2313 и всякие другие, которые можно программировать используя сделанный ArduinoISP.

Нужно из всего списка выбрать микроконтроллер который будем программировать: AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82, AT90s1200, AT90s2313, AT90s2323, AT90s2333, AT90s2343, AT90s4414, AT90s4433, AT90s4434, AT90s8515, AT90s8535, ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, Atmega128RFA1, ATmega16, ATmega161, ATmega162, ATmega163, Atmega164P, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324P, ATmega325, ATmega3250, ATmega328P, ATmega329, ATmega3290 ,ATmega3290P, ATmega329P, ATmega48, ATmega64, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega8, ATmega8515, ATmega8535, ATmega88, ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2343, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861, ATtiny88, ATxmega64A1, ATxmega128A1, ATxmega128A1D, Atxmega192A1, ATxmega256A1, ATxmega64A3, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmega256A3B, ATxmega16A4 , ATxmega32A4, ATxmega64A4, ATxmega128A4

Кнопка Search, если её нажать, то программа попытается прочитать сигнатуры того микроконтроллера, который подключен к программатору. Потом может ответить "OK" или "ERROR".

В блоке Fuses есть предустановки для ATmega8 и Atmega32 для работы на разных частотах.

Кнопка Program - записать предустановки

Кнопка Programmer, тут выбирается тип программатора.

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

Фото моего Arduino ISP программатора. Не влезло в отведенные рамки сообщения :D


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Чем прошить ATMega 328P?
СообщениеДобавлено: 23 апр 2019, 16:20 
Не в сети
пользователь
Аватара пользователя

Зарегистрирован: 17 апр 2019, 07:29
Сообщения: 26
место жительства: Комсомольск
практический опыт в радиоэлектронике: от 5-ти лет и более
Вложение:
IMG_20190423_200311.jpg
IMG_20190423_200311.jpg [ 192.67 КБ | Просмотров: 9635 ]

Arduino ISP программатор.
Справа снизу черная точка на плате - это конденсатор 10мкф.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB