|
ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Универсальный программатор UNIPROG
Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры Подключив программатор Uniprog к IBM-совместимому компьютеру через разъем
принтера, можно заносить данные не только в обычные ПЗУ или память программ
микроконтроллеров, но и в микросхемы программируемых логических матриц (ПЛМ).
Программное обеспечение (оно названо Uniprog Plus) построено по принципу
открытой архитектуры. Владея языком Си и применяя встроенные функции ядра
Uniprog Plus, можно дополнить его своими собственными программирующими или
тестирующими модулями.
ПРИНЦИПИАЛЬНАЯ СХЕМА ПРОГРАММАТОРА
Ввиду того что прибор состоит из большого числа одинаковых узлов, не будем
приводить целиком его принципиальную схему. Ограничимся лишь описанием схем и
работы его основных блоков, а также порядка взаимодействия их друг с другом.
Uniprog подключают к порту принтера LPT1 компьютера. Необходимые для
программирования данные поступают в блок регистров прибора, выполненный на
микросхемах КР580ВВ55А. Все порты этих микросхем (за исключением одного, о
котором будет сказано ниже) настраиваются на вывод. Выходы одних регистров
соединены с управляющими входами многофункционального коммутатора, других - с
аналогичными входами источников постоянного напряжения. Выходы коммутатора и
источников соединяются в нужном порядке с выводами программируемой микросхемы.
Таким образом, имеется возможность по командам компьютера формировать на этих
выводах любые необходимые для программирования последовательности уровней
напряжения.
Принципиальная схема узла связи блока регистров с компьютером показана на рис.1
(позиционные обозначения элементов на этой и последующих схемах условны). Для
обеспечения нужного порядка обмена данными многие цепи LPT1 использованы
нестандартно. Исключение составляют DATAt-DATA8, по которым через формирователь
DD2 коды из компьютера поступают на шину данных блока регистров (цепи DO-D7). В
какой именно порт и какой микросхемы КР580ВВ55А будет записана эта информация,
зависит от кода, предварительно занесенного в регистр адреса DD5. Выходы двух
младших разрядов этого регистра соединены с входами АО и А1 микросхем КР580ВВ55А
а каждый из старших - с входом CS одной из них. Сигнал записи в DD5 подается по
цепи AUTOFD, a В порты КР580ВВ55А - ПО цепи IN IT.
![]()
Входы порта КР580ВВ55А, настроенного на ввод, соединены с шиной данных
программируемой микросхемы, что позволяет прочитать записанный в нее код и
сравнить его с требуемым. Цепи DATA1 - DATA8 однонаправлены и не могут быть
использованы для чтения. Поэтому компьютер читает байт, выведенный на шину
данных блока регистров под воздействием сигнала SLCTIN. в два приема по четыре
разряда. С помощью мультиплексора DD1, управляемого сигналом STROBE, они
поочередно подключаются к цепям SLCT, РЕ, ACKNLG и BUSY, по которым компьютер
обычно получает сигналы состояния принтера.
Аналогичным образом через буферный элемент DD6 можно прочитать и состояние
восьми младших разрядов шины адреса программируемой микросхемы. Это бывает
необходимо, если она имеет 16-разрядную шину данных либо мультиплексированную
шину адреса/данных. Работа DD6 разрешается записью логического 0 во второй
разряд DD5.
Многофункциональный коммутатор состоит из узлов двух типов. Для управления шиной
данных программируемой микросхемы имеется восемь коммутаторов, собранных по
схеме, изображенной на рис.2, а. При нулевом уровне не входе УПР1 в зависимости
от сигнала УПР2 на соответствующий разряд шины данных с выхода коммутатора
подается напряжение одного из логических ТТЛ-уровней. Однако когда на входы УПР1
и УПР2 подана логическая 1, коммутируемая цепь через открывшийся транзистор VT1
соединяется с программируемым источником постоянного напряжения Е. Диод V02,
закрываясь при значении Е, меньшем напряжения питания +5 В, защищает транзистор
VT1 от протекания тока в обратном направлении. В свою очередь, диод VD1 защищает
цепь СЧИТЫВАНИЕ от напряжений, больших 5 В. В узле применен мощный транзистор
КТ973А, способный пропустить импульсный ток до 1 А, что необходимо, например,
для программирования микросхем серий К556, К1556.
![]()
Для управления шиной адреса и большинством других выводов программируемой
микросхемы таких больших токов не требуется. Поэтому узел их коммутации (всего
таких узлов - 20) несколько проще (рис. 2, б). Если на входы УПР1 и УПР2
одновременно подать напряжения с уровнем логического 0, откроются и VT1, и
внутренний выходной транзистор элемента D1.2, но резистор R3 ограничит ток и не
допустит повреждения транзисторов. Цепи СЧИТЫВАНИЕ с элементами VD1 и R4 имеются
только в коммутаторах восьми младших разрядов шины адреса.
Четыре программируемых источника напряжений El-Е4 собраны по схеме, изображенной
на рис. 3. Напряжение Е1 через коммутаторы поступает на шины адреса и данных,
остальные три можно подать на любые другие выводы программируемой микросхемы, в
том числе и на вывод питания.
![]()
Цифро-аналоговым преобразователем (ЦАП) на микросхеме DD2, включенной
нестандартно, управляет код, поступающий из блока регистров. Сигнал УПР2
включает и выключает ЦАП. а УПР1 подключает к его выходу конденсатор С1.
обеспечивающий плавное нарастание выходного напряжения после включения ЦАП или
скачкообразного изменения кода (иногда это необходимо для правильного
программирования). Источник образцового (опорного) напряжения и напряжения
питания на стабилитронах VD1 и VD2 - общий для всех ЦАПов.
Напряжение от ЦАПа поступает на выход источника через усилитель мощности,
выполненный на ОУ DA1 и транзисторах VT1-VT3. Последние должны иметь граничную
частоту не менее 20 МГц, что необходимо для нормального функционирования
обратной связи (а значит, стабильности выходного напряжения) в условиях
переменной нагрузки, возникающей при работе с некоторыми микросхемами. Например,
значения тока, потребляемого микросхемами ППЗУ серии К556. существенно
различаются при чтении ячеек, в которые записаны коды OxFF и 0x00.
На плате прибора предусмотрены посадочные места под панели для программируемых
микросхем серий К556, К1556, 27хх, 28хх, 29хх, 8748 и 8749, 8х5х, а также
К155РЕЗ. Контактные площадки в нужном порядке соединены с выходами коммутаторов
и программируемых источников напряжения. Имеется также кварцевый резонатор,
подключенный к панелям тех микроконтроллеров, при программировании которых он
необходим.
Некоторые микросхемы, не названные выше, тоже можно "уложить" в имеющиеся
панели, но рациональнее воспользоваться специально предусмотренным разъемом, на
который выведены все нужные цепи. К нему можно подключить плату с панелью под
любую микросхему, например, в корпусе PLCC.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Поставляемый с прибором пакет программ Uniprog Plus представляет собой систему
программирования самых различных микросхем ПЗУ, ПЛМ и т. д. Это открытая
система: функции, отвечающие за обслуживание микросхем конкретного типа,
реализуются внешними загружаемыми модулями. Для каждой из них обеспечивается
выполнение всех операций установки режимов программирования и собственно
программирования, предусмотренных в соответствующем модуле, а также набор
операций контроля.
В настоящее время в составе Uniprog Plus имеются следующие модули: ROM.ED -
редактор ПЗУ; PAL.ED - редактор ПЛМ; 27XX.PRG - программирование УФ РПЗУ серий
27хх, 573, К573; 2728.ADT - автоматическое определение типа микросхем серий
27хх, 28хх, 29хх;
RTXX.PRG - программирование ППЗУ с плавкими перемычками серий К556, КР556;
1556X.PRG - программирование ПЛМ серии К1556;
RT1 .PRG - программирование ПЛМ серии К556:
VE4X.PRG - программирование микроконтроллеров серий 874х; VE51 .PRG -
программирование микроконтроллеров серий 875х, КР1816, КР1830. 89хх;
28XX.PRG - программирование микросхем FLASH-памяти серий 28хх, 29хх; TEST.PRG -
тестирование платы программатора.
В стадии разработки находятся модули программирования микроконтроллеров Р!С,
последовательных (битных) ППЗУ и проверки микросхем ОЗУ.
В комплект Uniprog Plus входит пакет программ Uniprog Developer's Kit (подробнее
о нем рассказывается далее), позволяющий самостоятельно создавать новые
программирующие модули. Кроме того, к Uniprog Plus можно подключить любые
определяемые пользователем программы-конвертеры, преобразующие различные формы
представления образа ПЗУ в вид, необходимый для программирования.
Экранный вариант программы Uniprog Plus выполняет следующие операции:
Версия программы, параметры которой задаются в командной строке DOS, выполняет
те же функции, что и экранная, за исключением интерактивных (просмотра и
редактирования данных) и модификации буфера программирования. Она может быть
полезна при постоянной работе с ПЗУ одного и того же типа, позволяя обойти
утомительные операции ручной установки режимов при каждом запуске программы.
ПАКЕТ UNIPROG DEVELOPER'S KIT
Как говорилось выше, пользователь имеет возможность создавать и подключать к
Uniprog Plus собственные модули программирования и тестирования микросхем,
редактирования данных для программирования, автоматического определения типа
микросхемы и конфигурационные файлы. В этом ему поможет Uniprog Developer's Kit.
Подробное описание всех возможностей этого пакета потребовало бы слишком много
места. Поэтому очень кратко остановимся лишь на общих принципах.
На рис. 4 показано взаимодействие ядра программы Uniprog Plus с модулями,
подготовленными пользователем. Внутри ядра находятся основные интерфейсы,
взаимодействующие с внешними (по отношению к нему) модулями и файлами данных, и
другие неизменяемые части программы, обеспечивающие ее функционирование.
![]()
Модуль "Программирование" - собственно программа записи данных в микросхему, их
чтения, сравнения и т. д., - реализует соответствующие временные диаграммы с
учетом всевозможных параметров этих процессов. Пользователь может разработать
собственный модуль для нужной ему микросхемы, не вникая в конкретное устройство
программатора и пользуясь только логическими понятиями шины данных, шины адреса,
управляющих сигналов. Для этого в ядре Uniprog Plus имеется ряд стандартных
функций, к которым можно обращаться из любого модуля.
Модуль "Редактор" служит для отображения на экране монитора содержимого буфера
программирования с данными, предназначенными для занесения в ПЗУ или
прочитанными из него. Чаще всего бывает достаточно поставляемых с программатором
бинарного редактора для ПЗУ с линейной структурой и редактора ПЛМ для
логических, матриц. Но если требуется создать на экране образ ПЗУ в каком-либо
необычном виде, придется написать собственный редактор. Задача эта сложная, но
выполнимая. Uniprog Developer's Kit предоставляет такую возможность.
Доступен пользователю и модуль "Автоопределение", по многим причинам отделенный
от модуля "Программирование". А в модуль "Подсказка" можно поместить справочные
данные, относящиеся к модулям собственной разработки.
Информация, необходимая для связи всех модулей с ядром программы и относящаяся к
конкретным типам программируемых микросхем, находится в конфигурационном файле,
который пользователь может дополнять и редактировать. В дополнительном
конфигурационном файле автоматически фиксируются данные о настройках программы,
сделанных уже во время работы с ней.
Тип ПЗУ задается пользователем вручную или определяется с помощью модуля
"Автоопределение". После этого программа выбирает модули "Редактор" и "Программирование", нужные для работы с ПЗУ этого типа, и передает им из
конфигурационного файла необходимые параметры. "Редактор" через ядро Uniprog
Plus выдает образ ПЗУ на экран монитора и позволяет редактировать его, пользуясь
клавиатурой и "мышью". Модуль "Программирование" через ядро управляет
программатором, обеспечивая выполнение всех необходимых операций.
В заключение необходимо отметить, что программа Uniprog Plus бурно развивается
как в сторону увеличения числа поставляемых с ней программирующих модулей, так и
в сторону упрощения их самостоятельной разработки за счет "интеллектуализации"
пакета Uniprog Developer's Kit.
Автор: А.Жаров, г.Москва
раздел сайта Узлы радиолюбительской техники книга Электропроводки на струнах тросах. Масанов Н.Ф., 1976 книга Самодельные ультракоротковолновые приставки и приемники. Костанди Г.Г., 1955 статья Где и когда было зафиксировано цунами высотой более 500 метров? справочник Сервисные режимы телевизоров зарубежных телевизоров. Книга №11
|