Хлопоты по приобретению программатора можно дополнительно минимизировать, если воспользоваться платформой Arduino, в которую программатор попросту встроен, как неотъемлемая часть. Но эти возможности, о которых мы расскажем в последующих главах, по умолчанию предполагают наличие фирменных плат Arduino (или какой-либо из ее клонов). Здесь нам важно, что необязательно пользоваться аппаратными средствами собственно Arduino и приобретать платы этой платформы, в которых заведомо имеется много лишнего. Программное обеспечение Arduino IDE включает утилиту AVRDUDE, позволяющую программировать МК AVR напрямую, не пользуясь ни средой Arduino, ни заранее встроенным в контроллер загрузчиком. Информацию о том, как обращаться с AVRDUDE, можно найти на множестве ресурсов в Сети[31]. Эта утилита и связанные с ней программные средства (вроде WinAVR), в частности, позволяют применять простейший самодельный программатор, подключаемый к порту LPT.

Упомянутые фирменные программаторы от Argussoft имеют больше контактов: между сигнальными линиями проложены дополнительные линии «земли» и всего контактов получается 10[32]. Разводка этого разъема показана на рис. 19.2 далее.

Отметьте, что каждый сигнальный вывод «подтянут» к питанию внешним резистором — так надежнее. При отсчете выводов имейте в виду, что нумерация контактов PLD-разъемов отличается от обычной и делается не в обход, как у микросхем, а следующим образом: если глядеть на «папу» сверху (т. е. со стороны подсоединения проводов), то вывод номер 1, как и положено, находится слева внизу, вывод 2 — над ним, вывод 3 — следующий за первым в нижнем ряду и т. д., т. е. нижний ряд — это все нечетные, а верхний — все четные контакты. Это сделано потому, что разъемы PL могут иметь не строго фиксированное количество контактов, но при любом их количестве имеющиеся контакты будут нумероваться одинаково.

Если не поняли, то поглядите на разводку любого PLD-разъема на материнской плате компьютера, которая обычно приведена прямо на ней (а также, как правило, имеется в руководстве).

* * *

Подробности

Так как игольчатые разъемы типа PLD и IDC с шагом 2,54 мм встречаются в практике изготовления микроэлектронных устройств довольно часто, то стоит разобраться в их маркировке. Начнем с того, что наименование IDC в случае штыревых разъемов для установки на плату относится к разъемам в кожухе с ключом (именно такие используются для подсоединения жесткого диска в ПК). Бескорпусные подобные разъемы носят название PLD для двухрядных (или PLS для однорядных) типов и более удобны в радиолюбительской практике, т. к. длинные разъемы легко отломать в нужном месте, чтобы обеспечить необходимое количество выводов (правда, при этом лучше все же обозначать на плате первый вывод, чтобы не перепутать ориентацию при включении).

Разметка на плате для обоих типов разъемов (и с кожухом и без) одинакова, поскольку все равно приходится учитывать место, которое займет кабельная розетка при ее подсоединении, и мы в этой книге вперемешку упоминаем IDС и PLD. Разумеется, розетка, которая используется для установки на плоский кабель, может иметь только фиксированное число контактов (из ряда 6, 10, 14, 16, 20, 22, 24, 26, 30, 34, 36, 40, 44, 50, 60…), что нужно учитывать при проектировании.

Цифра после обозначения разъема (IDC-10 или PLD-10) — это количество контактов разъема, а следующая буква символизирует его конфигурацию: М (male, «папа») для штыревой части и F (female, «мама») для гнездовой. Далее может следовать еще одна буква, которая обозначает ориентацию: S для прямых выводов (разъем перпендикулярен плате), R для повернутых под углом 90° (разъем параллелен плате). Таким образом, приведенное далее на схеме рис. 19.2 обозначение IDC-10MS означает штыревой («папа») разъем в кожухе с ключом и с 10-ю прямыми выводами. Соответствующая этому разъему кабельная часть обозначится, как IDC-10F. Бескорпусные PLD-разъемы бывают, естественно, только штыревые, потому для них буквы М и F не указываются (а повернутые под углом 90° дополняются буквой R).

* * *

Вопрос, который при этом немедленно возникает: не жирно ли занимать как минимум три вывода портов (обычно это порт В контроллера) альтернативными функциями? Отвечаю: в большинстве случаев такие выводы можно использовать как обычные порты, программатору это не помешает. Единственная ситуация, в которой возникает конфликт между программатором и схемой, это если выводы MOSI, MISO и SLK используются как входные линии и подсоединены к активным выходам других микросхем, к коллектору открытого транзистора или к конденсатору большой емкости. Поэтому в схеме эти контакты лучше использовать в качестве выходных линий, а если хватает других портов — вообще оставить их только для программирования. На платах Arduino, где контакты штатного SPI-порта совпадают с портом программирования, они выведены, как обычные линии (выводы D11, D12 и D13[33]), и в случае их использования для программирования к ним тоже не рекомендуется подключать низкоомную нагрузку. Естественно, при работе схемы программатор лучше отключать вовсе, только учтите, что по окончании цикла программирования в любом случае схема

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату