| Postal programmer - "умный" программатор. Работа с 8-битными МК ATmega, ATtiny фирмы Atmel и примеры подключения к ЭМ СММожет показаться, что существует великое множество программаторов для контроллеров ATmega и ATtiny, и незачем изобретать велосипед». Однако простые программаторы капризны и неудобны, а сложные пугают плохой ремонтопригодностью при случайном повреждении (особенно при работе с неисправными модулями стиральных машин). В очередной раз наш программно-аппаратный комплекс Postal programmer (см. предыдущие статьи [1-3]) предоставляет необходимые возможности.
Общие сведения
Микроконтроллеры фирмы Atmel имеют на своем кристалле перепрограммируемую память Flash-типа для хранения исполняемого кода. Также часто дополнительно имеется память EEPROM с увеличенным ресурсом на перезапись, обычно используемая для хранения настроечных данных. Память EEPROM предназначена для управления из основного кода, однако может быть также загружена и программатором, например, для начальной инициализации некоторых данных. Память программ Flash-типа должна быть обязательно загружена кодом перед использованием микроконтроллера (МК) в составе устройства. Это можно сделать несколькими способами, в том числе и сам МК может загружать эту память под управлением специальной программы-загрузчика. Тем не менее, для 8-битных контроллеров Atmel наиболее часто применяется так называемая внутрисхемная» загрузка (ISP, In-System-Programming), выполняемая программатором по специальному протоколу. Протокол использует всего 4 вывода МК MOSI, MISO, SCK и RESET, при этом предполагается, что программируемый контроллер получает питание и тактовую частоту. Вывод RESET служит для включения режима программирования, сигнал обычно имеет низкий активный уровень, удерживающий МК в неактивном состоянии сброса» на все время программирования. У многих контроллеров Atmel этот вывод можно переключить в альтернативный режим, после чего ISP может оказаться невозможным. Такой эффект можно получить, неправильно запрограммировав конфигурационные ячейки (FUSES). Для доступа к памяти МК в этом случае придется использовать специальные режимы HVSP и HVPP, для входа в которые необходимо подать напряжение 12 В на вывод RESET (требуется дополнительный источник). Режим HVPP (параллельное программирование) использует 10 выводов МК и в любом случае требует демонтажа МК с платы устройства. Программатору Postal не требуется поддерживать этот режим, чтобы избежать ошибок с установкой конфигурации, существуют другие решения, просто сбрасывающие конфигурацию в нормальное состояние, после чего ISP снова возможно. Однако у Atmel есть МК с малым количеством выводов (6- и 8-выводные), в таком случае переназначение вывода RESET для своих нужд оказывается необходимым условием. При выключенном сигнале RESET эти МК программируются по протоколу HVSP, он использует 4 вывода МК для передачи данных и обоснованно поддерживается программатором, что для некоторых пользователей может оказаться большим плюсом. Однако случаи, когда для ISP необходимо использовать протокол HVSP, достаточно редки, поэтому нуждающиеся в нем могут обратиться за подробностями в конференцию [4].
Статья доступна только в печатном варианте. Вы можете приобрести свежие номера Р&С или оформить подписку в редакции. | |