Например TDA7294

РадиоКот >Обучалка >Микроконтроллеры и ПЛИС >Микроконтроллеры AVR - пишем, компилируем, прошиваем... >

Теги статьи: Добавить тег

Как сделать программатор?

Вторая часть Марлезонского балета...

Очень не удивлюсь, если вы пришли сюда, не прочитав два первых параграфа. Это не страшно – ведь вы ж их все равно потом прочитаете? Итак, на сегодня мы уже умеем компилировать код и создавать HEX-файл. Теперь нужно «прошить» содержимое HEX-файла в контроллер. Для этого нам нужен программатор. Вообще говоря, контроллер поддерживает два типа программирования: последовательное и параллельное.

Так как параллельный метод требует снятия микросхемы с платы и втыкания ее в специальное устройство - программатор, этот метод неудобен.

Последовательный метод позволяет программировать микросхему, уже установленную на плату. Для этого просто нужно установить на плате 10-штырьковый разъем, и подключить к нему некоторые выводы контроллера. К этому разъему через кабель и будет подключен программатор. Такой метод называется ISP – In-circuit Serial Programming (Внутрисхемное Последовательное Программирование.) Наш программатор будет соединяться с компьютером через порт принтера (LPT). Причем, схема его настолько невелика, что он запросто влезет в корпус разъема для LPT.

Собственно, вот схема:

Схема программатора Altera Byte Blaster (Байт Бластер)

Этот программатор разработала фирма Altera, и полное его имя – «Altera Byte Blaster».
В нем используется всего одна микросхема – 74HC244, которая представляет собой 8 буферных элементов с тремя состояниями на выходе. На схеме не указаны ее выводы питания. Это 10 и 20 ноги.
10-я подключается к цепи GND, 20-я - к цепи +5В (обозначена стрелочкой)

ВНИМАНИЕ!
Для работы с программируемой логикой Altera может потребоваться подтянуть 7-й вывод разъема программирования на "+" питания резистором порядка 1...3 кОм.

Разработку печатной платы я оставляю на вас, дорогой читатель. Ибо я:

  1. Ленивый
  2. Вредный
  3. Так давно сделал свой ББ, что уже потерял все технические наработки по нему…

К тому же, ввиду простоты схемы, вариантов исполнения может быть море.

Вот так примерно выглядят детали, которые понадобятся нам при изготовлении:

Детали для сборки программатора

Перечислим, что здесь изображено:

  1. Разъем LPT (папа, 25 контактов)
  2. Корпус для разъема LPT
  3. Шина 10-жильная – около1,5 метров
  4. Штырьковый разъем для монтажа на плату (два ряда, шаг 2,54 х 2,54). Обычно продаются по 40 и по 80 штырей. Берем любой – все равно нам надо только 10. Лишнее откусим. Этот разъем ставится на плату с контроллером. Цоколевка приведена на схеме. (вид сверху, то есть со стороны, с которой подключается ответная часть, а не со стороны печатного монтажа – будьте внимательны!)
  5. Обжимной разъем на шину (10 контактов - мама) – то, что мы будем подключать к плате с контроллером («ответная часть»).
  6. Обжимной переходник с шины на плату (10 конт.) – то, что будет стоять внутри ББ. Можно заменить вторым обжимным разъемом (таким же, как первый), а на плату ББ напаять штырьковый разъем. Кстати, на схеме изображен именно этот вариант. Но только не пытайтесь зачищать провода шины и припаивать их непостредственно к плате – обматеритесь! Если не сразу – то со временем, когда это все торжественно перетрется и отвалится…
  7. Собственно, макетная плата, на которой разместятся детали ББ. Она должна соответствовать размерам корпуса LPT-разъема.
  8. Микросхема 74HC244 или наш аналог - 1533АП5. Если есть навык работы с деталями поверхностного монтажа – можно взять микросхему в корпусе SOIC (SO-20) – она намного меньше, чем диповская (DIP-20), но для ее распайки нужны навыки.
  9. Развесные детали – резисторы, светодиоды и конденсатор – обозначенные на схеме. Резисторы и кондер тоже лучше взять SMD (для поверхностного монтажа) – опять же – в целях экономии места.

Вот как выглядит (без корпуса) мой Байт Бластер:

Мой Байт-Бластер

Ну вот. Думаю, у вас получится намного круче :).
Значит, программатор мы сделали. Осталось подключить его к контроллеру.

На плату, где стоит контроллер, мы ставим штырьковый 10-контактный разъем. Ну и подключаем к нему контроллер согласно схеме:

Схема подключение разъема программирования

Выводы MOSI, MISO, SCK есть на каждом контроллере. Обычно они объединяются с каналами ввода/вывода. RESET никогда ни с чем не объединяется, и тоже есть на всех контроллерах. Vcc - это + питания. GND - общий. Кстати, я же не сказал: питание на программатор подается со схемы, на которой стоит программируемый контроллер...
Вот, собственно, и все! Главное - не запутайтесь с ножками и штырьками :)

Далее в нашей передаче – программа прошивки.

<<--Вспомним пройденное----Поехали дальше-->>




Как вам эта статья?

Заработало ли это устройство у вас?

68 6 3
32 4 8