Библиотека knigago >> Компьютеры и Интернет >> Аппаратное обеспечение, компьютерное железо >> ISP (ICSP) программатор из Arduino

Автор неизвестен -- Техника - ISP (ICSP) программатор из Arduino

ISP (ICSP) программатор из Arduino
Книга - ISP (ICSP) программатор из Arduino.  Автор неизвестен -- Техника  - прочитать полностью в библиотеке КнигаГо
Название:
ISP (ICSP) программатор из Arduino
Автор неизвестен -- Техника

Жанр:

Аппаратное обеспечение, компьютерное железо, Программы

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "ISP (ICSP) программатор из Arduino"

Здесь рассматривается два варианта ISP программатора на основе Arduino: Mega-ISP, который может быть собран из любой версии Arduino и его клонов, и Bit-Bang программатор, для которого подойдут только те варианты Arduino, которые имеют дополнительно выведенные на специальный разъем контакты микросхемы FT232RL.


Читаем онлайн "ISP (ICSP) программатор из Arduino". Главная страница.

стр.

freeduino.ru/arduino/isp.html
ISP (ICSP) программатор из Arduino

Любая версия Freeduino / Arduino может выступать в роли ISP программатора, с помощью которого можно, например, изменить bootloader в другой аналогичной плате, или прошить bootloader в новую микросхему ATmega. В описании указывается Arduino, но фактически может быть использован любой клон, включая все варианты Freeduino.

Здесь рассматривается два варианта ISP программатора на основе Arduino: Mega-ISP, который может быть собран из любой версии Arduino и его клонов, и Bit-Bang программатор, для которого подойдут только те варианты Arduino, которые имеют дополнительно выведенные на специальный разъем контакты микросхемы FT232RL.

Особенности ISP/ICSP

Аббревиатуры ISP и ICSP означают In System Programming и In Circuit Serial Programming соответственно. Это означает программирование чипа уже подключенного в некоторую схему, программирование в готовом устройстве по последовательному протоколу.

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

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

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

Mega-ISP

Из известных проектов по созданию ISP программатора на основе Arduino наиболее интересным нам кажется Mega-ISP ( http://code.google.com/p/mega-isp/ ) К сожалению проект не имеет нормальной документации, поэтому здесь мы опишем его наиболее важные особенности.

Во-первых, после загрузки .pde проекта в вашу плату Arduino, скорее всего потребуется тем или иным образом отключить программный сброс. Владельцы Freeduino 2009 могут просто снять перемычку JRS, владельцы Arduino Duemilanove могут перерезать ножом ту же перемычку. Для Freeduino Through-Hole, Arduino Diecimila, Freeduino MaxSerial (и Arduino Duemilanove) можно выпаять конденсатор CRS, но мы советуем менее радикальный способ – соединить выводы Reset и +5V резистором номиналом порядка 120 Ом.


Книгаго: ISP (ICSP) программатор из Arduino. Иллюстрация № 1
http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection


Если все сделано правильно, при открытии COM-порта не будет происходить сброс микроконтроллера (это видно по светодиоду 13), и как побочный эффект станет невозможно обновить его собственную прошивку из среды Arduino.

Во-вторых, данный ISP программатор при общении с ПК использует протокол AVRISP/STK500v1 только со скорость 19200 бит/сек, и нормально работает не со всеми вариантами ПО для ПК. Поэтому не удивляйтесь, что не удается что-либо прошить из среды Arduino. Авторы рекомендуют использовать программу avrdude из состава Win-AVR.

Сборка программатора Mega-ISP

Если Вы с помощью одной платы Arduino собираетесь прошить другую, то Вам потребуется разъем 2x3 и 6 проводков. Схема сборки:


Книгаго: ISP (ICSP) программатор из Arduino. Иллюстрация № 2 Если нужно прошить отдельный микроконтроллер (не забываем, что его fuse-биты должны быть выставлены так, что он тактируется от внутреннего осцилятора), то нужно узнать согласно документации Atmel расположение вывовдов Gnd, Vcc, MOSI, MISO, SCK.

Соединение с Arduino такое: 10 – Reset, 11 – MOSI, 12 – MISO, 13 – SCK.

Не забываем подключить "землю" и питание.

Для примера приводим разводку для разъема ICSP и микроконтроллеров ATmega168 и ATtiny85.

Книгаго: ISP (ICSP) программатор из Arduino. Иллюстрация № 3
стр.

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.