Для программирования и проверки микроконтроллера ATmega103/L в последовательном режиме рекомендуется следующий алгоритм (формат 4-байтовых команд см. в таблице 39):
Таблица 38. Система команд программирования в последовательном режиме
Команда | Формат команды | Описание | |||
Байт 1 | Байт 2 | Байт 3 | Байт 4 | ||
Разрешить программирование (Programming Enable) | 1010 1100 | 0101 0011 | xxxx xxxx | xxxx xxxx | Разрешает последовательное программирование после установки RESET на низкий уровень |
Очистить кристалл (Chip Erase) | 1010 1100 | 100x xxxx | xxxx xxxx | xxxx xxxx | Очищает Flash и EEPROM память |
Читать память программ (Read Program Memory) | 0010 H000 | aaaa aaaa | bbbb bbbb | oooo oooo | Читает H (1 или 0) и данные o памяти программ по слову адреса a:b |
Загрузить страницу памяти программ (Load Program Memory Page) | 0100 H000 | xxxx xxxx | xbbb bbbb | iiii iiii | Записывает H (1 или 0) и данные i в память программ по слову адреса b |
Записать страницу памяти программ (Write Program Memory Page) | 0100 1100 | aaaa aaaa | bxxx xxxx | xxxx xxxx | Записывает страницу памяти программ по адресу a:b |
Читать EEPROM память (Read EEPROM Memory) | 1010 0000 | xxxx aaaa | bbbb bbbb | oooo oooo | Читает данные o из EEPROM памяти по адресу a:b |
Записать в EEPROM память (Write EEPROM Memory) | 1100 0000 | xxxx aaaa | bbbb bbbb | iiii iiii | Записывает данные i в EEPROM память по адресу a:b |
Читать биты блокировки (Read Lock Bits) | 01011000 | xxxx xxxx | xxxx xxxx | xxxx x 21x | Читает биты блокировки.0 - запрограммирован, 1 - незапрограммирован |
Записать биты блокировки (Write Lock Bits) | 1010 1100 | 111x x 21x | xxxx xxxx | xxxx xxxx | Записывает биты блокировки. При программировании биты 1,2 = 0 |
Читать биты-предохранители (Read Fuse Bits) | 01010000 | xxxx xxxx | xxxx xxxx | xx 5x 61 43 | Читает биты-предохранители. 0 - запрограммирован, 1 - незапрограммирован |
Записать биты-предохранители (Write Fuse Bits) | 1010 1100 | 101x 61 43 | xxxx xxxx | xxxx xxxx | Записывает биты-предохранители.Устанавливает биты 6, 4,3=0 для программирования битов, 1 для очистки битов |
Читать байт сигнатуры (Read Signature Byte) | 0011 0000 | xxxx xxxx | xxxx xxbb | oooo oooo | Читает байт сигнатуры o по адресу b |
Примечания:
При последовательной записи в микроконтроллеры ATmega603/103 данные микроконтроллером ATmega 103 выбираются по нарастающему фронту на SCK.
При последовательном чтении данных из микроконтроллеров ATmega603/103 данные тактируются по падающему фронту на SCK. Объяснение представлено на Рис. 67.
Рис. 67. Временные диаграммы режима последовательного программирования
<-- Предыдущая страница | Оглавление | Следующая страница --> |