Смекни!
smekni.com

Программатор микроконтроллеров и микросхем памяти (стр. 18 из 21)

В настоящее время в составе Uniprog Plus имеются следующие модули: RОМ.ЕD - редактор ПЗУ; РАL.ЕD - редактор ПЛМ; 27ХХ.РRG - программирование УФ РПЗУ серий 27хх, 573, К573; 2728.АDТ - автоматическое определение типа микросхем серий 27хх, 28хх, 29хх;

RТХХ.РRG - программирование ППЗУ с плавкими перемычками серий К556, КР556;

1556Х.РRG - программирование ПЛМ серии К1556;

RТ1.PRG - программирование ПЛМ серии К556;

VЕ4Х.РRG - программирование микроконтроллеров серий 874х; VЕ51 .РRG - программирование микроконтроллеров серий 875х, КР1816, КР1830, 89хх;

28ХХ.РRG - программирование микросхем РLАSН-памяти серий 28хх, 29хх;

ТЕSТ.РRG - тестирование платы программатора.
В стадии разработки находятся модули программирования микроконтроллеров РIC, последовательных (битных) ППЗУ и проверки микросхем ОЗУ.

В комплект Uniprog Plus входит пакет программ Uniprog Developers Кit (подробнее о нем рассказывается далее), позволяющий самостоятельно создавать новые программирующие модули. Кроме того, к Uniprog Plus можно подключить любые определяемые пользователем программы-конвертеры, преобразующие различные формы представления образа ПЗУ в вид, необходимый для программирования.

Экранный вариант программы Uniprog Plus выполняет следующие операции:

- работа с файлами: создание/загрузка/сохранение буфера редактирования, открытие/компиляция файла конвертером и т.д.;

- редактирование: отмена последнего изменения, начало/конец/снятие выделения, операции с "записной книжкой", заполнение блока значением, логические операции, поиск, различные переходы.

Просмотр и редактирование содержимого буфера программирования. Данные могут быть представлены по выбору в виде массива четырехразрядных тетрад (младших и старших половин байта), байтов, слов или двойных слов. Каждый элемент массива изображается соответствующим символом кода АSСII и двоичным, восьмиричным, десятичным либо шестнадцатиричным числом. При работе с ПЛМ содержимое буфера программирования представляется набором матриц И, ИЛИ, НЕ;

- выбор типа ПЗУ: тип выбирается из экранного меню. Номенклатура программируемых микросхем соответствует заданной в конфигурационном файле. Функция AUTODETECT пытается определить тип ПЗУ автоматически;

- действия с ПЗУ: программирование, разные проверки (на чистоту, возможность допрограммирования, совпадение с содержимым буфера), стирание/запись бита защиты и т. д.;

- настройка режимов и конвертеров: установка режимов программирования, настройка оболочки Uniprog Plus, подключение/редактирование конвертеров. Режимы устанавливают в диалоге, полностью зависящем от конкретного модуля программирования, например, для УФ ППЗУ серии 27ххх имеется 18 различных вариантов. При необходимости можно включить или выключить контроль записи и дать произвольные значения всем переменным алгоритма программирования;

- операции с окнами: перемещение, масштабирование, раскрытие, восстановление, переход к следующему, закрытие, разложить/выстроить окна;

- разные операции: калькулятор, вызов внешних утилит, информация об Uniprog Plus. Версия программы, параметры которой задаются в командной строке DOS, выполняет те же функции, что и экранная, за исключением интерактивных (просмотра и редактирования данных) и модификации буфера программирования. Она может быть полезна при постоянной работе с ПЗУ одного и того же типа, позволяя обойти утомительные операции ручной установки режимов при каждом запуске программы.

Как говорилось выше, пользователь имеет возможность создавать и подключать к Uniprog Plus собственные модули программирования и тестирования микросхем, редактирования данных для программирования, автоматического определения типа микросхемы и конфигурационные файлы. В этом ему поможет Uniprog Developers Кit. Подробное описание всех возможностей этого пакета потребовало бы слишком много места. Поэтому очень кратко остановимся лишь на общих принципах.

На рисунке 15 показано взаимодействие ядра программы Uniprog Plus с модулями, подготовленными пользователем. Внутри ядра находятся основные интерфейсы, взаимодействующие с внешними (по отношению к нему) модулями и файлами данных, и другие неизменяемые части программы, обеспечивающие ее функционирование.

Рисунок 15. Взаимодействие ядра программы Uniprog Plus с модулями.

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

только логическими понятиями шины данных, шины адреса, управляющих сигналов. Для этого в ядре Uniprog Plus имеется ряд стандартных функций, к которым можно обращаться из любого модуля.

Модуль "Редактор" служит для отображения на экране монитора содержимого буфера программирования с данными, предназначенными для занесения в ПЗУ или прочитанными из него. Чаще всего бывает достаточно поставляемыхс программатором бинарного редактора для ПЗУ с линейной структурой и редактора ПЛМ для логических матриц. Но если требуется создать на экране образ ПЗУ в каком-либо необычном виде, придется написать собственный редактор. Задача эта сложная, но выполнимая. Uniprog Developers Кit предоставляет такую возможность.

Доступен пользователю и модуль "Автоопределение", по многим причинам отделенный от модуля "Программирование". А в модуль "Подсказка" можно поместить справочные данные, относящиеся к модулям собственной разработки.

Информация, необходимая для связи всех модулей с ядром программы и относящаяся к конкретным типам программируемых микросхем, находится в конфигурационном файле, который пользователь может дополнять и редактировать. В дополнительном конфигурационном файле автоматически фиксируются данные о настройках программы, сделанных уже во время работы с ней.

Тип ПЗУ задается пользователем вручную или определяется с помощью модуля «Автоопределение". После этого программа выбирает модули "Редактор" и "Программирование", нужные для работы с ПЗУ этого типа, и передает им из конфигурационного файла необходимые параметры. "Редактор" через ядро Uniprog Plus выдает образ ПЗУ на экран монитора и позволяет редактировать его, пользуясь клавиатурой и "мышью". Модуль "Программирование" через ядро управляет программатором, обеспечивая выполнение всех необходимых операций.

В заключение необходимо отметить, что программа Uniprog Plus бурно развивается как в сторону увеличения числа поставляемых с ней программирующих модулей, так и в сторону упрощения их самостоятельной разработки за счет "интеллектуализации" пакета Uniprog Developers Кit.

К модулю последовательных ПЗУ и AVR последовательные ПЗУ в основном имеют не более 8 выводов, назовем их P1-P8, поэтому для программирования было решено использовать шину данных PD0-PD7. Т.е. к соответствующему выводу микросхемы P (DIP - корпуса) подключается соответствующий сигнал PD (PD0->P1, PD1->P2, ..., PD(x-1)->Px) ). При этом на тот вывод где земля (GND) подается логический 0, а где питание 1, напряжение Е1 выставляется на "напряжение питания" + 0.5v (с поправкой на падение на транзисторах). Дополнительно на Е2 выставляется точное напряжение питания, чтобы можно было непосредственно подключить его на P=Vcc (обычно вывод P8). А также на один (или несколько) из адресов шины PA0-PA7 соответствующему P=GND, подается логическая 1 для возможности подключить "землю" через полевой N-канальный транзистор (т.е. PA(x-1)->транзистор->Px=GND) следующим образом:

Uniprog Plus поддерживает все версии программаторов Uniprog версий 2.10, а также самую раннюю версию 2.50, еще не проходившую под названием Uniprog.

· Для запуска оболочки Uniprog Plus без платы используйте ключи -d -p1: uniprog.exe -d -p1

· Где -d - режим дебагера, -p1 - номер LPT-порта (в данном случае 1).

· Для запуска специальных параметров используйте ключ "=prog.special" (вместе с кавычками), это позволит настроить параметры программирования: напряжения, временные интервалы и т.д.

· Если возникают какие-то вопросы в процессе использования оболочки Uniprog Plus, можно нажать на клавишу “F1”, – при этом появится помощь, описывающая то место, в котором вы находитесь.

В поставку также входит система разработки программирующих модулей Uniprog Development Kit (UDK). Она позволяет пользователям создавать свои модули программирования и редакторов. Система представляет собой набор библиотек, заголовочных файлов и файла помощи, предназначенных для использования совместно с компилятором Borland C++ версии 3.1.

Программа Uniprog Plus представляет собой систему программирования самых различных типов ПЗУ, ПЛМ и т.д. Версия командной строки поддерживает те же функции, что и экранная оболочка, за исключением всех интерактивных действий (просмотр/редактирование) и модификаций программирующего буфера.

Uniprog Plus также поддерживает набор определяемых пользователем конверторов, которые предназначены для преобразования различных форматов представления образа ПЗУ в бинарный вид (для последующего программирования). Конверторы определяются самим пользователем (несколько конверторов включены в Uniprog Plus). Скрипты для описания конверторов представляют собой разновидность командных файлов с интерактивными расширениями.

Программа обеспечивает для каждого типа ПЗУ операции программирования и установки параметров (если эти операции поддерживаются программирующим модулем), а также набор операций контроля ПЗУ и любые другие (целиком определяются программирующим модулем и конфигурационным файлом).