|
ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Программатор МК ATMEL серии АТ89
Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры Микроконтроллеры (МК) фирмы Atmel давно известны и широко используются
радиолюбителями во всем мире. МК серии АТ89 имеют полный набор команд (CISC) и
полностью совместимы по ним с МК Intel 8051. В статье описывается программатор
для наиболее широко применяемых МК АТ89С51, АТ89С52, АТ89С55 и их низковольтных
версий AT89LV51, AT89LV52, AT89LV55. Параметры этих МК приведены в справочном
материале "Микроконтроллеры популярных семейств", опубликованном в "Радио",
2000, № 7, с. 53.
В отличие от программаторов, описанных в [1, 2], предлагаемый не требует наличия
другого, уже запрограммированного микроконтроллера для своей работы. Состоит он
из аппаратной части и управляющей программы для IBM-совместимого компьютера.
Аппаратную часть (далее - программатор) подключают к LPT-порту, который должен
быть переключен (в меню Integrated peripherals в BIOS компьютера) в режим ЕРР (Enhanced
Parallel Port - усовершенствованный параллельный порт). В этом режиме LPT-порт
компьютера становится двунаправленным (более подробно см. [3]).
Принципиальная схема программатора изображена на рис. 1. Микросхема DD1
(программируемый параллельный интерфейс КР580ВВ55) распределяет поступающие с
LPT порта байты информации на шину данных, шину адреса и формирует сигналы
управления.
По каналу А передаются последовательно младшая и старшая части адреса, по каналу
В - данные, причем в режиме записи программы этот канал работает на вывод, а в
режиме чтения - на ввод. Канал С используется для управления режимами работы
регистров DD2, DD3, стабилизатора напряжения DA1 и программируемого МК,
установленного в розетку XS1. Управление микросхемой DD1 осуществляется
сигналами, поступающими на ее входы А0, А1, RD и WR. Режимы работы микросхемы
DD1 приведены в табл. 1.
![]()
Микросхемы DD2 и DD3 предназначены для хранения младшей и старшей частей адреса
программируемого МК. Информация записывается с помощью сигналов СО и С1 DD1.
Регулируемый стабилизатор напряжения DA1 служит для создания на выводе EA/UPP
программируемого МК напряжения 5 или 12 В. Значения напряжения определяются
резисторами R4-R6. При низком уровне сигнала С2 DD1 напряжение на выходе
стабилизатора равно 12 В, при высоком, когда открыт транзистор VT1 и резистор R4
подключен параллельно R6, - 5 В.
Для программирования МК микросхему DD1 переключают в режим, в котором ее каналы
А, В и С работают на вывод. Для этого записывают в DD1 управляющее слово 80п
(см. табл. 2). С помощью сигналов С4-С7 DD1 устанавливают программируемый МК в
режим записи (см. табл. 3) и задают начальные значения С0-C3 (С0 = С1 = С2 = C3
= 1).
Затем в канал А выводят младшую часть адреса МК и записывают в DD2 с помощью
сигнала С0 (установка С0 = 0), а после этого - старшую часть адреса и записывают
ее в DD3 сигналом С1 = 0. Далее в канал В выводят данные, и они поступают на
соответствующие входы программируемого МК. На С2 подают низкий уровень, что
вызывает появление на входе EA/Upp МК напряжения +12 В. Затем подтверждают
запись изменением уровня с высокого на низкий на выходе C3 и соответственно на
входе ALE/PROG МК (рис. 2; значения временных параметров указаны в табл. 4).
Цикл записи данных завершен. Теперь сигналы С2 и C3 можно вернуть в исходное
состояние и переходить к следующим адресу и байту данных.
![]() ![]()
Все указанные операции повторяют до тех пор, пока не будут записаны все данные
из исходного файла "прошивки". Следует учесть, что файл "прошивки" должен быть
представлен в простейшем бинарном формате (расширение .bin). Для преобразования
файла из формата Intel hex в бинарный используют утилиту hex2bin.exe.
В режиме чтения LPT-порт переключают в двунаправленный режим, микросхему DD1
устанавливают в режим 82h (табл. 2), каналы А, С - на вывод, канал В - на ввод.
![]()
Аналогично режиму записи выводят на DD2 и DD3 младшую и старшую части адреса
соответственно, затем устанавливают режим чтения МК (табл. 3).
![]()
Выход С2 DD1 в
режиме чтения всегда находится в состоянии лог. 1. После установки адресов на
вход ALE/PROG МК подают низкий уровень (C3 = 0), и МК выдает данные, которые
находятся по установленному адресу. Затем считывают информацию из канала В DD1 и
принятые данные записывают в файл, имя которого вводят в начале процедуры чтения
программы МК. Файл будет иметь расширение .bin и представлять собой полную копию
программной памяти МК.
В режиме проверки содержимого выполняются чтение памяти МК и побайтное сравнение
с указанным файлом. При обнаружении различий на экран монитора выводятся адрес
несовпадающих значений и два байта: один - из памяти МК, другой - из файла.
В режиме стирания МК по линиям С4-С7 DD1 выставляют значения в соответствии с
табл. 3. Затем на вход EA/VPP подают напряжение 12 В (С2 = 0), а на выход C3
(ALE/PROG) - низкий уровень, который удерживается в течение 10 мс. После
стирания контролируют содержимое памяти. Если оно прошло успешно, вся
программная память будет заполнена значениями FFh, если же какая-либо ячейка
имеет иное содержимое, на экран монитора выводится сообщение, содержащее ее
адрес и значение.
Для считывания кодов идентификации микросхему DD1 переключают в режим, в котором
канал В работает на ввод (аналогично режиму чтения), шины С4-С7 переводят в
состояние лог. 0 (в соответствии с табл. 3), а на шину адресов поочередно
выводят адреса 30п, 31 h, 32h. В результате на экране монитора появляются
соответствующие байты, по которым и определяют тип МК (табл. 5).
![]()
Кроме этого, программное обеспечение позволяет автоматически определять тип МК,
а если это невозможно, его тип можно ввести вручную.
Литература
Автор: А.Голубков, г.Москва
журналы Квант (годовые архивы) книга Дистанционные защиты ПЗ-187 ПЗ-188 ПЗ-189. Савостьянов А.И., 1973 книга Юный радиолюбитель. Борисов В.Г., 1972 статья Когда впервые была применена медь? статья Пузырек, пробка и платок справочник Сервисные меню зарубежных телевизоров. Книга №20
|