Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП МПУ-13.doc
Скачиваний:
13
Добавлен:
01.04.2025
Размер:
6 Мб
Скачать
☆

2.4. Средства загрузки кодов программ и данных (программаторы)

Для размещения кодов программы и данных (констант) в энергонезависимой памяти МК/МП используются разные технологии и устройства.

Самый дешевый способ основан на применении масочно программируемого ПЗУ, код «прошивается» на этапе производства, для изменения программы требуется перепроектирование кристалла, что ограничивает этот способ только устройствами с большим тиражом. Следующими по стоимости идут микросхемы с однократно программируемым ПЗУ.

Самыми гибкими являются микросхемы с многократно стираемым и программируемым ПЗУ.

Сегодня многократно программируемые ПЗУ базируются на технологиях EEPROM и FlashROM (электрически стираемые и программируемые). Еще одним широко распространенным атрибутом стало наличие в кристалле узла загрузки/стирания/выгрузки, управляемого извне через один или несколько последовательных интерфейсов. Это позволяет выполнять процедуры редактирования программы/данных непосредственно на целевой плате, что значительно упрощает разработку и отладку программного обеспечения, поддержку развития программы на этапе эксплуатации платы.

Этот же механизм поддерживает редактирование небольшой области энергонезависимой памяти (Fuse и Lock биты). Fuse биты (или биты конфигурации) служат для настройки свойств МК, таких как выбор источника тактирования, длительность процесса рестарта, запрет работы сторожевого таймера и пр. Lock биты (или биты защиты) управляют доступом к ранее загруженным кодам программы и данных – защита от чтения и от стирания.

Для проверки связи и автоматической настройки каждая модель МК оснащена уникальным номером (signature bytes).

МК серии AVR уже на этапе разработки серии были оснащены механизмом программирования «в системе» (In System Programming – ISP). Кроме того, старшие модели подсемейства ATmega и ATxmega стали оснащать встроенным интерфейсом JTAG, который кроме загрузки/выгрузки кодов программ/данных выполняет функции внутрисхемного отладчика.

Технология ISP использует один вывод кристалла для перевода в режим программирования (вход RESET в низком состоянии) и три вывода собственно для подачи специальных команд, загрузки данных и выгрузки данных. Последние выводы называются не всегда одинаково, но работают по единому алгоритму последовательного синхронного интерфейса SPI в режиме ведомого. Один вывод служит для подачи к МК тактов (SCK), второй для подачи команд/данных MOSI/PDI, третий – для чтения данных MISO/PDO. Как правило, все эти функции выводов альтернативные, то есть когда МК не в режиме сброса-программирования, они могут использоваться как выводы портов и пр.

В качестве устройства, управляющего процессом загрузки/выгрузки используется персональный компьютер. Для этого используется специальный кабель-загрузчик (download cable), один конец которого подключается к одному из интерфейсных разъемов компьютера (LPT, COM, USB), другой – к разъему загрузки/выгрузки на плате с целевым МК. Чаще всего загрузочный кабель оснащен встроенным преобразователем интерфейса.

Программное управление процессом загрузки/выгрузки выполняет программа-загрузчик, работающая автономно или в составе пакета (среды) проектирования программ.

Для загрузки/выгрузки МК серии AVR используются среда AVRStudio (Tools Program_AVR), CodeVisionAVR (Tools Chip_Programmer) и пр., либо автономные программы – Kanda_System, PonyProg, Avreal и пр. Они поддерживают работу через различные кабели загрузки.