24 сентября, 2014

Перепрошивка программатора

Приехал как-то мне из Китая программатор AVR isp mkII - вот такая черненькая коробчонка.
И ни в какую не хотела работать - какие бы танцы с бубном я над ней не исполнял - и с продавцом консультировался, и различные драйверы ставил. На что я только не думал - и Windows 7 x64 подозревал, и на неисправность программатора грешил. Но таки решение нашлось.
Вскрытие пациента показало, что там стоит ATmega8L, кварц на 12 МГц, и более ничего существенного (кроме SMD-шной мелочевки). Понятно, что взаимодействие с USB - программное, т.е. дергаем ножками контроллера и выдаем себя за полноценное (хотя и низкоскоростное) USB устройство.
И тут мне на просторах интернета попался проект USBasp (http://www.fischl.de/usbasp/). Да и схемка показалась очень уж знакомой. При детальном рассмотрении оказалось, что она практически полностью повторяет схему моего программатора, только добавлена перемычка SlowSCK (ежели надо будет - можно вкорячить прямо на ноги МК) и убран светодиод BSY (он не мешает).

Чем черт не шутит - решил я. Дай-ка попробую перешить его на найденную прошивку. Во всяком случае я ничего не теряю, просто получу в худшем случае тот же кирпич, только с другой прошивкой, или вообще не удастся прошить.
Загнал я в свою Arduino Uno скетч Arduino as ISP (который помог мне прошить загрузчик в новые микроконтроллеры ATmega328P-PU), скачал SinaProg, впаял перемычку J2 (Selfprogramming) в плату программатора (место там было), соединил по науке (см. рисунок) и приступил к работе.

Старую прошивку выдрать из программатора (на всякий случай, если надумаю перепрошить обратно) не удалось - лез какой-то мусор. Зато новая прошивка влетела туда на ура. После подключения к компу, тот бодренько отрапортовал о подключенном устройстве USBasp и не найденных драйверах. Дрова лежат в том же архиве с прошивкой программатора, взятом с сайта.
Теперь меняем местами Arduino и AVRISP mkII (теперь уже USBasp). Схема подключения такая:
Пробуем прочитать прошивку из Arduino - и... облом! А почему? Да потому-что перемычку J2 надо снимать после заливки прошивки. Вот теперь все читается и пишется.
Недостатки программатора:
Во-первых - это кабель USB, который одинаковый с обоих сторон (тип A-A).
Во-вторых - это опять-таки кабель, но уже ICSP - в комплекте идет только на ISP10. А надо частенько на ISP6.

5 комментариев:

  1. Купил себе такой же геморрой. И сразу вопрос, чем кроме ардуины (чем, то по проще) ещё можно его прошить? Спасибо

    ОтветитьУдалить
    Ответы
    1. Вот например такой вариант: http://avr.nikolaew.org/progr
      Но по мне проще было ардуиной - не надо искать детали и паять, а шесть проводков везде можно найти.

      Удалить
    2. Отличный вариант. Тоже думал про него но сомневался, теперь буду пробовать. Огромное спасибо.

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

      Удалить
    4. Всегда пожалуйста. Приятно, когда у других все работает. Желаю удачи в освоении AVR.

      Удалить