www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Журналы, книги, сборники
Архив статей и поиск
Схемы, сервис-мануалы
Электронные справочники
Инструкции по эксплуатации
Голосования
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(200000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Карта сайта

ДИАГРАММА
© 2000-2021

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека, Энциклопедия радиоэлектроники и электротехники

Параллельный программатор для АТ89

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Широкими возможностями при сравнительной дешевизне внимание радиолюбителей привлекают MSC-51 -совместимые микроконтроллеры фирмы Atmel серии АТ89С с параллельным интерфейсом программирования. К сожалению, многие распространенные сегодня программаторы для них непригодны. Нужен специализированный. Автору предлагаемой статьи удалось изготовить такой по рекомендациям фирмы Atmel, но на элементной базе, выпускаемой предприятиями СНГ.

Основная проблема при разработке самодельного программатора - знать и точно соблюдать алгоритмы программирования микроконтроллеров. Многих неожиданностей удается избежать, воспользовавшись схемами и программным обеспечением, публикуемыми фирмами-разработчиками микросхем.

Для загрузки программных кодов в микроконтроллеры АТ89С51, АТ89С52, АТ89С1051, АТ89С2051, AT89S8252 фирма Atmel рекомендует устройство, описанное в [1]. Его относительная сложность (семь цифровых и две аналоговые микросхемы) и скромное программное обеспечение, работающее под DOS, с лихвой окупаются надежностью программирования с соблюдением всех фирменных алгоритмов.

На рис. 1 приведена схема программатора, отличающегося от "фирменного" в основном элементной базой. Запись в регистры DD2-DD5 информации, поступающей от компьютера по линиям DATA1 DATA8, происходит по спадам импульсов отрицательной полярности на входах С, поступающих от дешифратора DD1 В регистре DD3 и части регистра DD4 хранят 13-разрядный адрес ячейки внутренней памяти микроконтроллера, в DD5 - байт данных, предназначенных для записи в эту ячейку, в DD2 и свободных от адреса разрядах DD4 - коды управления. Цепь R13C1 при включении питания приводит регистр DD2 в исходное состояние, предотвращая случайное искажение содержимого памяти программируемого микроконтроллера.

Параллельный программатор для АТ89
(нажмите для увеличения)

Шинный формирователь DD6 служит для передачи данных с выходов микроконтроллера на линии DATA1-DATA8. Выходы микросхемы DD6 не должны быть активными, когда LPT-порт работает "на вывод". Это учтено в программе, формирующей разрешающие сигналы на управляющих входах микросхем.

Резисторы R1-R12 уменьшают "звон", сопровождающий перепады сигналов на линиях LPT-порта и защищают его от перегрузок. Когда выходы элементов компьютера, подключенные к линиям порта, и выходы некоторых элементов программатора, в том числе самой программируемой микросхемы, находятся в высокоимпедансном состоянии резисторы наборов DR1-DR3 поддерживают в соответствующих цепях высокий логический уровень.

Программируемые микросхемы устанавливают в одну из двух панелей: АТ89С1051, АТ89С2051, АТ89С4051 в корпусе DIP-20 - в XS1; АТ89С51 и другие в корпусе DIP-40 - в XS2. Кварцевый резонатор ZQ1 частотой 6 МГц с конденсаторами С4 и С5 необходим, чтобы во время программирования работал внутренний тактовый генератор микроконтроллера, установленного в панель XS2. Тем, которые устанавливают в панель XS1, резонатор не требуется. На контакт 5 этой панели поступают тактовые импульсы, сформированные программно.

Питающее напряжение на разъем Х1 программатора подают от внешнего источника. Им может быть, например, сетевой адаптер видеоприставки "SEGA Mega Drive-M". Хотя при номинальной нагрузке (1 А) его выходное напряжение не превышает 11В, при токе 70...90 мА, потребляемом программатором, оно возрастает до 14...15 В.

Напряжение 5 В для питания микросхем (в том числе программируемой) получают с помощью интегрального стабилизатора DA1. Напряжение на выходе стабилизатора DA2 при низком логическом уровне на выводе 18 шинного формирователя DD7 - 12 В. Точное значение устанавливают подстроечным резистором R21. При высоком логическом уровне на выводе 18 открывшийся транзистор VT2 подключает параллельно R21 еще один подстроечный резистор R19, что уменьшает выходное напряжение стабилизатора DA2 до 5 В.

Скорость нарастания напряжения на выходе стабилизатора после смены высокого уровня на выводе 18 DD7 низким зависит от емкое и конденсатора С14 При слишком большой его емкости и высокой скорости работы управляющего компьютера несколько младших ячеек FLASH-памяти микроконтроллера могут оказаться запрограммированными с ошибками.

Выходное напряжение стабилизатора DA2 поступает на вывод 31 (EA/VPP) панели XS2 непосредственно, а на вывод 1 панели XS1 (RST/VPP) - через ключ на транзисторе VT1. При напряжении 12В ключ открыт независимо от логического уровня на выводе 16 регистра DD2, а при 5 В - только в случае, если этот уровень низкий.

Пониженная яркость свечения светодиода HL2 свидетельствует о напряжении 5 В на выходе DA2 и о том, что программируемая микросхема находится в режиме считывания кодов из ее памяти. В режиме стирания и записи в память напряжение возрастает до 12 В, яркость светодиода заметно увеличивается. Это справедливо для всех микроконтроллеров, кроме тех, которым напряжение 12 В не требуется. При программировании двадцативыводных микроконтроллеров будет включен и светодиод HL1.

Вилку Х2 программатора соединяют с розеткой LPT-порта IBM-совместимого компьютера кабелем длиной до 2 м. В компьютере должен быть включен расширенный режим работы LPT-порта (ЕСР/ЕРР). В современных системных блоках он действует по умолчанию. Если это не так, режим порта можно изменить, запустив при начальной загрузке компьютера программу BIOS SETUP (пункты меню "Integrated Peripherals"- "Parallel Port Mode").

ДЕТАЛИ И КОНСТРУКЦИЯ

Программатор собран на двусторонней печатной плате размерами 140x140 мм. Стабилизатор DA1 устанавливают на теплоотвод площадью не менее 20 см2. Можно собрать программатор и на макетной плате навесным монтажом. Учтите, что конденсаторы С4, С5 и кварцевый резонатор ZQ1 должны быть расположены как можно ближе к контактам 18, 19 панели XS2. Свободные входы микросхем DD1 (выводы 13-15), DD2 (вывод 8) и DD7 (выводы 15, 17) необходимо соединить с их общим выводом или выводом питания. Это повысит помехоустойчивость прибора.

Все цифровые микросхемы можно заменять их функциональными аналогами серий К555, КР1533 или импортными, воспользовавшись, например, рекомендациями [2]. Транзисторы VT1, VT2 - любые маломощные соответствующей структуры, желательно с минимальным падением напряжения на участке коллектор-эмиттер открытого транзистора.

Подстроечные резисторы R19, R21 - СПЗ-19А. Наборы резисторов DR1- DR3 - НР1-4-9М могут быть заменены на НР1-4-8М, на зарубежные серии 9А или на соответствующее число обычных малогабаритных резисторов указанных на схеме номиналов. Резисторы R1-R12 можно разместить внутри корпуса вилки Х2.

Панели XS1 и XS2 должны выдерживать многократную установку и изъятие микросхем. Лучше всего применить ZIF-панели (с нулевым усилием установки), предназначенные для микросхем с расстоянием между рядами контактов 7,5 мм (XS1) и 15 мм (XS2). Годятся и универсальные панели, допускающие установку как "узких", так и "широких" микросхем.

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

НАЛАЖИВАНИЕ

Первое включение программатора производят, не соединяя его с компьютером и без программируемой микросхемы. Прежде всего, проверяют наличие напряжения 13,5... 15,5 В на входе и 5±0,1 В на выходе стабилизаторов DA1, DA2. В последнем случае нужное значение устанавливают подстроечным резистором R19.

При соединении между собой выводов 1 и 10 микросхемы DD6 напряжение на ее выводах 3, 5, 7, 9, 12, 14, 16, 18 должно уменьшаться с 5 до 3...4 В. Если это не так, имеются ошибки в монтаже или микросхема DD6 неисправна.

Для дальнейшей проверки соединяют программатор с компьютером. Сигналы на линиях LPT-порта при работе программатора выглядят на экране осциллографа довольно хаотично, судить по их форме об исправности устройства сложно. Рекомендуется запустить тестовую программу atmeltst.exe. В ответ на появившийся на экране запрос введите номер LPT-порта, к которому подключен программатор (1 или 2), после чего экран монитора примет вид, показанный на рис. 2.

Параллельный программатор для АТ89

Программа предоставляет доступ к любому из четырех регистров DD2-DD5, позволяя записывать в них любые восьмиразрядные двоичные коды. Рекомендуемую последовательность действий подскажет текст в нижней части экрана. Например, для проверки прохождения кодов управления следует выбрать на экране строку "Тест сигналов F3, С0-С2" и проверить с помощью осциллографа или вольтметра логические уровни на выходах микросхемы DD2. Все они должны быть низкими и сменяться высокими при нажатии соответствующих клавиш F1-F8.

Манипулируя состоянием разрядов, проверяют прохождение сигналов по цепям программатора в соответствии с его схемой. Например, низкому уровню на выводе 19 DD2 (старший разряд регистра) должны соответствовать высокий уровень на выводе 18 DD7 и напряжение 5 В на выходе стабилизатора DA2. После нажатия клавиши F8 напряжение должно увеличиться до 12 В и одновременно возрасти яркость свечения светодиода HL2. После повторного нажатия клавиши F8 напряжение и яркость должны вернуться к прежним значениям.

Аналогичным образом проверяют другие регистры и соединенные с их выходами цепи.

ПРОГРАММИРОВАНИЕ

Бесплатно распространяемый пакет программ обслуживания программатора фирмы Atmel можно найти на ее сайте по адресу <atmel.com/ dyn/resources/prod_documents/ APCPGM.EXE> Входящие в пакет программы пригодны для управления как "фирменным", так и предлагаемым программаторами. Однако лучше воспользоваться русифицированной программой at89.exe. С ее помощью можно программировать все микроконтроллеры серии АТ89 с параллельным интерфейсом, в том числе АТ89С4051, АТ89С55, AT89S51, AT89S52, AT89S53, "не охваченные" фирменным пакетом.

Программа автоматически определяет тип установленного в одну из панелей микроконтроллера, анализируя для этого его сигнатуру - два или три байта, специально записанные в постоянной памяти. Перечень сигнатур микроконтроллеров семейства АТ89 приведен в таблице. Если все байты сигнатуры равны 0FFH, отсутствует в панели или неисправен микроконтроллер, а возможно - не включено питание программатора.

Параллельный программатор для АТ89

Алгоритм программирования и перечень клавиш, с помощью которых управляют процессом, оставлены без изменения. Рекомендуемая операционная среда - MS DOS. Пользователям Windows следует запускать программу, предварительно перезагрузив компьютер в режиме MS DOS или установить такой режим в свойствах файла. Иначе программирование микросхем придется повторять по три-четыре раза подряд, пока не прекратятся сообщения об ошибках верификации.

Весь процесс программирования занимает не более одной-двух минут, а собственно загрузка FLASH-памяти - максимум 10... 15 с. Команды, список которых выведен на экран монитора, подают, нажимая клавиши с буквами латинского алфавита. Регистр (верхний или нижний) не имеет значения.

Имя двоичного файла, данные из которого должны быть загружены в память микроконтроллера, вводят после подачи команды "Чтение файла". Содержимое этой памяти можно предварительно прочитать и сохранить в аналогичном файле (команда "Запись в файл"). При сверке содержимого памяти с данными из файла (команда "Сверка с файлом") возможно появление на экране сообщений, подобных такому:

В ячейке FLASH 039А = FF ?! 6В

Это означает, что в ячейке FLASH-пaмяти (памяти программ) микроконтроллера по адресу 39АН записан код 0FFH вместо 6ВН, указанного в файле.

ЗАМЕНА СТАБИЛИЗАТОРА DA2

При питании от маломощного сетевого адаптера и пониженном сетевом напряжении на программатор может поступать всего 12...13 В. Для стабилизатора DA1 такая ситуация благоприятна (на нем рассеивается меньшая мощность). А вот стабилизатор DA2 может выйти из рабочего режима, в результате чего напряжение, подаваемое на программируемый микроконтроллер, упадет ниже допустимых 11,5 В. Опыт показывает, что микросхемы фирмы Atmel успешно программируются и при 10,5 В. Однако гарантировать этого нельзя.

Если применить в стабилизаторе микросхему КР1184ЕН2 или ее прототип LP2951CL фирмы National Semiconductor (имеется на многих материнских платах компьютеров), можно добиться надежной работы программатора при уменьшении напряжения питания до 11,8 В.

Стабилизатор собирают по схеме, изображенной на рис. 3, и подключают к показанным на рис. 1 точкам А, Б и В. Микросхема DA2, транзистор VT2, резисторы R18-R21 и конденсатор С14 из программатора должны быть исключены.

Параллельный программатор для АТ89

Диод VD1 (см. рис. 3) при высоком логическом уровне в точке А закрыт, и выходное напряжение 5±0,03 В задает прецизионный делитель напряжения, находящийся внутри микросхемы DA1. При низком уровне в точке А диод открыт, резисторы R1 и R2 шунтируют одно из плеч внутреннего делителя. Выходное напряжение возрастает до 12 В (его регулируют подстроечным резистором R2). Конденсатор С1 подавляет выбросы напряжения при переходных процессах. Его емкость (аналогично конденсатору С14 на рис. 1) не должна быть слишком большой.

Микросхема КР1184ЕН2 имеет внутренний детектор понижения выходного напряжения, который срабатывает при его уменьшении более чем на 5 % от установленного значения. В результате открывается транзистор VT1 и включается светодиод HL1. Нагрузочная способность выхода невелика, поэтому номинал резистора R4 уменьшать нельзя.

Если микросхему КР1184ЕН2 (LP2951CL) приобрести не удалось, стабилизатор на микросхеме DA2 (см. рис. 1) можно заменить узлом, схема которого показана на рис. 4. Минимальное падение напряжения на нем составит 0,15...0,2 В при токе нагрузки 20 мА. Коллекторный ток транзистора VT4 при указанном на схеме номинале резистора R5 не может превысить 50 мА, что позволяет не устанавливать этот транзистор на теплоотвод.

Параллельный программатор для АТ89

При низком логическом уровне в точке А транзистор VT1 открыт и выходное напряжение стабилизатора - 12 В (регулируют подстроечным резистором R1). При высоком уровне и закрытом транзисторе оно уменьшится до 5 В. Резисторы R7 и R8 должны иметь предельное отклонение от номинала не более 1 % или быть подобраны с такой точностью. Микросхему КР142ЕН19 можно заменить импортным аналогом TL431CLP.

Литература
  1. Using a Personal Computer to Program the AT89C51 /C52/LV51 /LV52/C1051 /С2051. - <atmel.com/atmel/acrobat/ doc0285.pdf>
  2. AT89 Series Programmer Interface - <ftp://atmel.com/pub/atmel/apcpgm.exe>
  3. Рюмик С. Замена микросхем в фирменном программаторе. - Радиомир. Ваш компьютер, 2003, № 5, с. 32-34.
Автор: С.Рюмик, г.Чернигов, Украина

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Телефония

сборники Новый Радиоежегодник

книга Пружинно-грузовые приводы к масляным выключателям. Лобко В.П., Млынчик И.С., 1970

книга Радиолюбительская УКВ аппаратура. Алексеев С.М., 1957

статья Модернизация трансивера UW3DI

статья Электронный балласт энергосберегающей лампы фирмы DELUX

справочник Зарубежные микросхемы и транзисторы. Серия L

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:

[lol][cry][!][?]




Бесплатная техническая библиотека Бесплатная техническая документация для любителей и профессионалов