Раздел:
Документация0 ...
177 178 179 180 181 182 183 ...
195 (продолжение)
Команда | TDI | TDO | Примечание |
6 | f. Запись старшего конфигурационного байта | 0110111 00000000 0110101 00000000 0110111 00000000 OllOlllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx | - |
g. Запрос состояния операции | OllOlllJOOOOOOO | xxxxxoxxxxxxxxx | 2 |
h. Загрузка байта данных | 001001 ljiiiiii | xxxxxxxxxxxxxxx | 3,5 |
i. Запись младшего конфигурационного байта | 0110011 00000000 0110001 00000000 0110011 00000000 OllOOllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx | - |
j. Запрос состояния операции | OllOOllJOOOOOOO | xxxxxoxxxxxxxxx | 2 |
7 | а. Вход в режим записи ячеек защиты | 0100011.00100000 | xxxxxxxxxxxxxxx | - |
Ь. Загрузка байта данных | 0010011 l liiiiii | xxxxxxxxxxxxxxx | 3,6 |
с. Запись байта защиты | 0110011 00000000 0110001 00000000 0110011 00000000 OllOOllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx | - |
d. Запрос состояния операции | OllOOllJOOOOOOO | xxxxxox xxxxxxxx | 2 |
8 | а. Вход в режим чтения конфигурационных ячеек и ячеек защиты | 0100011.00000100 | xxxxxxxxxxxxxxx | - |
Ь. Чтение дополнительного конфигурационного байта | 0111010 00000000 0111011J0000000 | xxxxxxx xxxxxxxx xxxxxxxoooooooo | 5 |
с. Чтение старшего конфигурационного байта | 0111110 00000000 0111111,00000000 | xxxxxxxxxxxxxxx xxxxxxxoooooooo | 5 |
d. Чтение младшего конфигурационного байта | 0110010 00000000 OllOOllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxxoooooooo | 5 |
е. Чтение байта защиты | 0110110 00000000 OllOlllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxx xxoooooo | 4,6 |
(продолжение)
Команда | ТШ | TDO | Примечание |
8 | f. Чтение конфигурационных ячеек и ячеек защиты | 0111010 00000000 0111110 00000000 0110010 00000000 0110110 00000000 0110111 00000000 | xxxxxxxxxxxxxxx xxxxxxx oooooooo xxxxxxx oooooooo xxxxxxx OOOOOOOO xxxxxxx xxoooooo | 4 4,7 4,8 4,9 4,10 |
| а. Вход в режим чтения ячеек идентификатора | 0100011 00001000 | xxxxxxxxxxxxxxx | - |
9 | Ь. Загрузка байта адреса | 000001 ljbbbbbbb | xxxxxxxxxxxxxxx | - |
| с. Чтение байта идентификатора | 0110010 00000000 OllOOllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxx 00000000 | - |
| а. Вход в режим чтения калибровочной ячейки | 0100011J0001000 | xxxxxxxxxxxxxxx | - |
10 | Ь. Загрузка байта адреса | 000001 ljbbbbbbb | xxxxxxxxxxxxxxx | - |
| с. Чтение калибровочной константы | 0110110 00000000 0110111J0000000 | xxxxxxxxxxxxxxx xxxxxxx 00000000 | - |
11 | а. Загрузка команды «Нет операции» | 0100011 00000000 OllOOllJOOOOOOO | xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx | - |
Примечания: 1.Условные обозначения, используемые в таблице: а — биты старшего байта адреса; b — биты младшего байта адреса; i — посылаемые в микроконтроллер данные; о — считываемые из микроконтроллера данные; х — состояние бита безразлично. 2.Повторять до тех пор, пока о = 1. 3.Для программирования ячейки соответствующий ей бит должен быть сброшен, для стирания — установлен. 4.0 — ячейка запрограммирована, 1 — не запрограммирована. 5.Соответствие битов конфигурационным ячейкам — см. Табл. 14.5. 6.Соответствие битов ячейкам защиты — см. Рис. 14.1. 7.Дополнительный байт. 8.Старший байт. 9.Младший байт. 10.Байт защиты. |
Ниже приведен порядок выполнения 12 операций программирования (номера команд в соответствии с Табл. 14.20).
Операция «Вход в режим программирования»:
1.Загрузить команду AVR RESET и занести 1 в регистр сброса.
2.Загрузить команду PROG ENABLE и занести в регистр разрешения программирования значение 1010 0011 0111 0000 ($А370).
Операция «Выход из режима программирования»:
1.Загрузить команду PROG COMMANDS.
2.Запретить выполнение всех команд программирования, запустив команду «Нет операции» (п. 11а).
3.Загрузить команду PROG ENABLE и занести в регистр разрешения программирования значение 0000 0000 0000 0000.
4.Загрузить команду AVR RESET и занести 0 в регистр сброса.
Операция «Стирание кристалла»:
1.Загрузить команду PROG COMMANDS.
2.Начать стирание кристалла, запустив команду 1а.
3.Дождаться окончания выполнения этой операции, контролируя значение, возвращаемое командой lb. В качестве альтернативы можно просто выждать время /wlrh ce (см- Табл. 14.16).
Операция «Программирование FLASH-памяти»:
1.Загрузить команду PROG COMMANDS.
2.Войти в режим программирования FLASH-памяти (команда 2а).
3.Загрузить дополнительный байт адреса (команда 2Ь).
4.Загрузить старший байт адреса (команда 2с).
5.Загрузить младший байт адреса (команда 2d).
6.Загрузить данные (команды 2е, 2f и 2g).
7.Повторить пп. 5 и 6 для каждой ячейки страницы памяти программ.
8.Записать страницу (команда 2h).
9.Дождаться окончания выполнения этой операции, контролируя значение, возвращаемое командой 2h. В качестве альтернативы можно просто выждать время /wlrh (см- Табл. 14.16).
10.Повторить пп. 3...9 для программирования остальных страниц памяти программ.
Существует также другой, более эффективный способ загрузки данных в микроконтроллер, основанный на использовании команды
PROG PAGELOAD.
1.Загрузить команду PROG COMMANDS.
2.Войти в режим программирования FLASH-памяти (команда 2а).
0 ...
177 178 179 180 181 182 183 ...
195