Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
102 Часть /. Общие принципы устройства и функционирования Аtте/ AVR ны тому обстоятельству, что с само . го начала предусматривали возможность в том числе и программирования прямо в устройстве. Все АVR, конечно, поддерживают и возможность загрузки программы через от дельный (параллельный) программатор, как наиболее универсальный способ. При отсутствии источника внешнего тактового сигнала параллельный программатор является единственно возможным способом оживить контроллер, если в нем слу чайно были неправильно запрограммированы конфигурационные ячейки (см. далее в этой главе). Но параллельный программатор - сложное универсальное устройст во, которое обычно рассчитано на многие тысячи разновидностей микросхем, стоит немалых денег, и приобретать его только для этой цели, мягко говоря, нецелесооб разно. Для полноты картины отметим, что, помимо всего этого, для многих моделей есть еще один способ программирования - с помощью JTAG, стандартизированного (IEEE Std 1 .1 49. 1 - 1 990) интерфейса для загрузки, отладки и тестирования микро контроллерных устройств, о котором мы уже упоминали. Но мы не будем здесь на нем останавливаться - в любительских конструкциях он не применяется . Поэтому мы перейдем сразу к последовательному способу программирования «прямо в схе ме» с помощью ISР-программаторов. ISР-программаторы Сокращение ISP расшифровывается как In-System Programmer (внутрисистемный программатор) . Программирование при этом производится через последовательный интерфейс, аналогичный по устройству интерфейсу SPI, потому названия выводов программирования такие же, как и у этого интерфейса: MISO, MOSI и SСК. В большинстве контроллеров выводы программирования совпадают с выводами собственно SPI, но не у всех, так что надо быть внимательными. Для очистки со вести отметим также, что последовательное программирование поддерживают не все контроллеры AVR из семейства Tiny, но сейчас из т.аких остался, кажется, только один ATtiny28L (который ущербен еще и в других отношениях), потому можно спокойно об этом ограничении забыть . ISР-программаторы не предполагают отдельного устройства для подсоединения и питания программируемой микросхемы, а заканчиваются обычным плоским кабе лем с двухрядным гнездовым разъемом типа IDC, который подсоединяется к спе циально предусмотренной штыревой части, располагаемой на плате вашего макета. Питание на программатор при этом поступает от самой схемы, поэтому в разъеме есть отдельная линия питания . Если вы не хотите загромождать готовую схему лишними элементами, то несложно соорудить отдельную платку с панелькой и таким разъемом и, при необходимости что-либо йзменить, загружать через нее исправленную программу в контроллер, извлеченный из схемы (или просто соорудить временный программатор на макет ной плате, - о чем рассказано далее) . Мы уже упоминали в главе 4, что много раз так делать не рекомендуется, поскольку можно повредить выводы микросхемы в DIР-корпусе .
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==