Кратко опишем основные операции, поддерживаемые программой.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Разные операции. - Пробел

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

Различные файловые операции. - File

Стандартный набор - создать/загрузить/сохранить буфер редактирования как в бинарном, так и в текстовом (save as file) виде, открыть/откомпилировать файл для конвертора и т.д.

Здесь стоит заметить, что буфер для ПЗУ открывается в соответствии с его размером (новый заполняется пустыми (не прошитыми) значениями ПЗУ - filler) и является его (ПЗУ) образом. Т.е. если вы в Options определите область действия в ПЗУ, то данные из буфера для этой области будут браться из тех же адресов. Если подгружаемый файл размером больше буфера, то он урезается, если меньше, то буфер дозаполнится filler-ом.  

Отдельно стоит рассмотреть пункт - Source, который дает возможность подгрузить с помощью конвертора файл, отличный от бинарной структуры. В поставке Uniprog plus подсоединен конвертор для чтения популярного формата HEX. В пункте Source вам представится возможность выбрать файл с расширением hex, после загрузки откроется окно, отформатированное в hex виде. Т.к. Uniprog plus не умеет работать с этим файлом, то полученный файл надо преобразовать в бинарный с помощью команды - Compile, которая сделает новое окно с бинарной копией. Заметим, что вышеописанная операция Compile не обязательная, т.к. Uniprog plus при надобности автоматически запустит эту команду. Поэтому не удивляйтесь, почему вдруг появилось новое окно с бинарной копией. Подключение конверторов на другие типы файлов см. раздел Options - Transfer/Convertors.

Замечание: Создание собственных конверторов см. описание утилиты XCVT.

Операции редактирования. - Edit

Модуль бинарного редактора ПЗУ обеспечивает просмотр и редактирование содержимого окна в бинарном или символьном виде. Содержимое может быть рассмотрено как массив 4-х битных тетрад (как из младших, так и из старших половин байта), массив байтов, массив слов или массив двойных слов. Каждый элемент массива может быть представлен в двоичном, восьмеричном, десятичном либо шестнадцатеричном виде. Также он обеспечивает операции заполнения по повторяющимся образцам, выполнение произвольной логической функции над каждым элементом массива, разнообразную работу с 4-мя типами блоков и работу с clipboard’ом. Также обеспечиваются функции сохранения блоков и clipboard’а.

Меню включает: отменить последнее редактирование, снять/начать/закончить выделение, операции с clipboard’ом, заполнить блок значением, логические операции, поиск, различные переходы и сохранение выделенного участка или clipboard’а.

Отдельно остановимся на логических операциях - Logic. В вашем распоряжении три пункта:

  Logic - действует на выделенный фрагмент и осуществляет простую (однострочную) операцию. Например, операция @&$ выполнит операцию "И" (&) над каждым значением выделенного фрагмента (@) и адресом этого значения в буфере ($).

  Logic script - позволяет написать последовательность различных операций над разными участками буфера и сохранить этот скрипт.

Полное описание логических функций можно получить, нажав F1 на соответствующем пункте.

  Logic action - позволяет активизировать сохраненный вами скрипт предыдущего пункта или запустить готовые скрипты, входящие в поставку Uniprog plus. Кстати, последние вы можете исправить или использовать как пример. Опишем эти скрипты:

Random Fill - заполнение буфера или выделенной части случайными числами с заданной начальной установкой генератора случайных чисел. Каждое значение определяет уникальную последовательность псевдослучайных чисел;

And with Clipboard, Or with Clipboard, And with Random,Or with Random - операции "И", "ИЛИ" буфера с Clipboard (временным буфером) или с случайными числами.

Summ of Buffer/Block - подсчитывает контрольную сумму буфера или выделенной части и выводит ее на экран;

Pad buffer with Summ - подсчитывает контрольную сумму буфера и записывает ее в последние четыре байта буфера;

Check buffer with Summ - проверяет контрольную сумму буфера на соответствие последним четырем байтам буфера.

 

Модуль редактора ПЛМ проще бинарного в смысле возможных операций, но позволяет просматривать содержимое ПЛМ в виде набора матриц (И, ИЛИ, НЕ и т.д.)

Выбор типа ПЗУ. - Select PROM

Вид данного меню полностью зависит от конфигурационного файла. Данное меню предназначено для выбора типа программируемого ПЗУ. В любом из подменю данного меню возможно появление пункта «Autodetect» - при выборе этого пункта будет произведена попытка автоматически определить тип ПЗУ.

В модулях FLASH и 27хх при выборе этого пункта сразу предлагается автоопределение, которое можно отменить, нажав клавишу Esc.

Разнообразные действия с ПЗУ. - Programming PROM

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

Замечание: При начальном входе в UniProg Plus не открыто ни одного окна, поэтому, пока Вы не откроете окно (буфер), будут выполняться только операции, не требующие оного (например, проверка на чистоту и стирание), иначе будет появляться сообщение об ошибке: "Нет буфера для ...".

Опции. - Options

Состоит из трех пунктов: настройка режимов программирования, настройка оболочки Uniprog Plus и добавление/редактирование конверторов.

Programming - настройка режимов программирования модуля осуществляется через диалог, полностью зависящий от программирующего модуля, где задаются алгоритмы программирования (или автоматически через автоопределение). Например, модуль программирования УФ ППЗУ серии 27xx поддерживает 18 режимов программирования различных фирм. Также задаются опции программирования и контроля, редактирование - Edit (позволяет задать произвольные параметры для всех переменных алгоритма программирования) и т.д.

Новые модули, такие как FLASH и сериальных ПЗУ, не имеют в опциях выбора диапазона програмирования, т.к. этот диапозон можно определить обычным выделением в буфере.

Environment - разные тонкие настройки, которые лучше не трогать, за исключением Screen Size - количество выводимых строк на экран.

При снятии флажка с Disable automatic autodetect у вас будет срабатывать автоопределение микросхемы автоматически при входе в соответствующее меню выбора микросхемы. Рекомендуем снять этот флаг после юстировки напряжений и в случае качественного срабатывания автоопределения.

Transfer/Convertors - через этот пункт можно подключить конверторы. Как указывалось ранее, в поставку Uniprog plus входит конвертор HEX файлов, поэтому, если выбрать данный пункт, то выскочит диалог, в окне Select convertor которого будет значиться всего один источник - Hex Source для конвертирования HEX файлов. Как очевидно из пунктов меню, можно добавить(Add), удалить(Delete) или отредактировать(Edit) соответствующие конверторы.

Прежде всего поясним, что подключенный конвертор просто вызывает программу, которая как раз и конвертирует файл в бинарный вид. Для НЕХ файлов в данном случае вызывается программа xcvt из директории UTILS. Эта программа достаточно мощная и позволяет делать с файлом различные операции (конвертирование HEX (а также MOT и MOS) файлов - это частная операция xcvt) .

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

 Menu string : ~H~ex Source - строчка, которая войдет в меню File - Source, две тильды выделяют букву красным цветом и является горячей клавишей.

 Description : -> Bin convertor - описывает действие в подсказке (появляется в самой нижней строке экрана).

 Window title: Hex - заголовок открывшегося окна.

 Src file ext: hex - расширение файла.

Окно внизу – вызов соответствующих программ, возможно с параметрами, для конвертации. В данном случае - utils\xcvt -hex2bin %i %o .

Кнопка Active nodes позволяет подключить выбранный конвертор к любым программирующим модулям.

Более подробное описание можно посмотреть, нажав клавишу F1 в этом окне.

Операции с окнами - Windows

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

Некоторые горячие клавиши

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

Стоит упомянуть также о клавишах:

Alt-F10 - вызов локального меню, для изменения системы счисления, размера шины данных и т.д.

Alt-0 - вызывает список всех окон, в том числе и удаленных. Правда, пользоваться этой операцией надо аккуратно, т.к. эти окна имеют размер той ПЗУ, для которой он был вызван.

Ctrl-F10 - вызывает строку меню последней операции.

Список всех горячих клавиш можно посмотреть по клавише F1(при НЕ активизированном меню) в разделе "Горячие_клавиши_Uniprog_Plus".

Заключение

Мы хотим попросить прощения за русско-английский (с диалектами!!) стиль оформления Uniprog’а, – увы, разработчики не смогли найти общий язык ... Мы очень надеемся, что в ближайшем будущем мы все же сможем найти такой язык (возможно, это будет Эсперанто, - кто знает!.. :-)

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

Мы будем очень признательны Вам за любую информацию об удачных и особенно неудачных попытках программирования микросхем, а также о любых ошибках, которые обнаружатся в программном обеспечении. Мы также заинтересованы в любых предложениях от Вас. Ваши предложения и замечания Вы можете донести до нас по телефону (факсу) (095) 180-8598 или по e-mail’у: mail@microart.ru или roman@mcst.ru или высказаться в конференции на сайте www.programmator.ru .

Программа Тест.

Перед запуском теста НЕОБХОДИМО извлечь из программирующих панелек все, что туда случайно попало.

Тест и настройка программатора осуществляется либо непосредственно из оболчки Uniprog-а выбором в самом верхнем меню "Select Config branch" пункта "Extra"->"Hardware test". При этом если вы в первый раз зашли сюда то необходимо в пункте "Select PROM" выбрать "Test". Также запустить тест можно запустив файл test.bat, в котором содержится команда: uniprog -nctest.cfg !test %1 %2 %3 %4 %5 %6 %7 %8 %9, суть которой - подгрузка UniProg’ом отдельного тестового модуля (аналогично подключаются собственные модули, написанные пользователем). Поэтому внешний вид программы ничем не отличается от основной программы Uniprog plus, но при этом реально доступны два раздела меню - Programming PROM и Options.

Раздел Programming PROM состоит из:

Автоматический тест - осуществляет возможное самотестирование программатора и выдает информацию в Log файл и более полную в файл на диск, если указано имя файла в разделе - Options.

Автоматический тест отрабатывает следующие проверки:

• Проверка ввода данных непосредственно через D1 - проверка ввода данных c быстрым переключением XI4 как 0-1, так и 1-0. Определяем задержку после вывода в системный порт D29, при этом прописываем(D6.B) и читаем(D5.A) шину данных с панельки.

• Программируем все каналы D4-D7 на вывод, прописываем и читаем их. Микросхема 580ВВ55А имеет следующее свойство: после записи значения в любой канал можно считать его. Однако считанное значение может быть шунтировано значением на выходе канала. Тем самым ошибка в этом тесте может быть вызвана неисправностью микросхемы или замыканием выходов канала. Программируем все каналы D4-D7 на ввод, читаем состояние выходов каналов. Т.к. все каналы, кроме ЦАП-вых, нагружены на TTL-серию, то считанные значения должны быть 0x11111111, или 0x11XXXXXX для ЦАП-вых каналов. Любое несоответствие выдает предупреждение (WARNING). Пишем в D6.b и читаем из D5.a. Пишем в D4.b и читаем из D28 верхнюю шину адреса PA8-PA15.

• В случае ошибок (error) более полную информацию можно получить, определив имя log-файла. Расширенная информация пока заключается в выдаче неправильно считанного массива полной последовательности чисел 0-255 (в шестнадцатеричной и в двоичной системе счисления), выданных в тот или иной порт.

Возможные сообщения:

     OK. - Тест прошел удачно.

     INFO: - Информация.

     ERROR: - Ошибка.

     WARNING: -Предупреждение. Означает ,что в процессе тестирования получены нежелательные данные. Но при этом программатор скорее всего работоспособен (эти места проверяюстся при наладке, при отлаженном программаторе можно эти сообщения игнорировать).

Юстировка напряжений E1-E4 - необходима для коррекции напряжений ЦАП-ов после транзисторов. Это вызвано разбросом параметров резисторов и транзисторов в данной цепи.

В начале вам предлагается ввести (курсором) число от 0 до 63. Это число суть код, выдаваемый на все ЦАП-ы. Ввиду того, что усилители при максимальном числе - 63, как правило, входят в насыщение, то число надо уменьшить, чтобы выйти на линейный участок (т.е. найти те числа, при которых реально изменяются напряжения Е1-Е4). Однако надо помнить, что чем меньше введенное число, тем меньше точность коррекции. Предлагаем понижать (курсором) число до тех пор, пока не начнут понижаться напряжения Е1-Е4. Далее нажать ENTER и тестером замерить напряжения на выходах транзисторов (VT33-VT36) или непосредственно на панельках сигналы Е1-Е4 и занести их в выпавшую таблицу. Значения напряжений могут вводиться с точностью до одного десятичного знака и не должны превышать значения 25.4 . После нажатия - "Ok" коррекция напряжений будет записана в файл unip.aux в строчку - es.fixes .

Check device - осуществляет вывод различных тестовых диаграмм, позволяющих отладить программатор с помощью осциллографа:

• Диаграммы адреса и данных - выдается цикличная возрастающая последовательность чисел на шину данных или на разные части шины адреса. Можно выдавать как логические, так и высоковольтные уровни, что позволяет отловить замыкание транзисторов VT1-VT28;

Bus active - часть шины, на которую выдается диаграмма (Состояние других частей определяется в - Options: Bus inactive).

     Data - восьмиразрядный счетчик на шине данных.

     Addr 0-7        - восьмиразрядный счетчик на шине адреса A0-A7.

     Addr 8-19      - двенадцатиразрядный счетчик на шине адреса A8-A19. 

     Bus voltage Low - диаграммы логических уровней. High - диаграммы высоковольтных уровней, высоковольтное напряжение E1 определяется в - Options: Ex edge value.

• Чтение данных - на экран в шестнадцатеричном и двоичном коде выводится состояние шины данных непосредственно на панельке программируемой микросхемы. Замыканием соответствующего разряда на землю можно контролировать правильное чтение шины.

• Вывод в системный порт D1 и одновременное открытие D2 - системный порт D1 работает как восьмиразрядный счетчик (т.е. в этот регистр каждый цикл последовательно выдаются числа от 0 до 255), и эти значения проходят через D2. Коммутация мультиплексора D2 определяется опцией -Input nibble (см. раздел Options).

• Вывод в системный порт D29 - работает как восьмиразрядный счетчик (т.е. в этот регистр каждый цикл последовательно выдаются числа от 0 до 255).

• Ввод/вывод в BB55 - Ввод/вывод в любой канал D4-D7 и только ввод D28.

     Channel - канал одной из микросхем D4-D7 A,B,C - непосредственно канал ввода/вывода Com - командный регистр

• Пилообразное напряжение на E1-E4 - выдает полную пилу на ЦАП-ы. Т.е. в регистры ЦАП-ов каждый цикл последовательно выдаются числа от 0 до 255, тем самым на источниках Ex можно наблюдать подряд две пилы (без и с емкостью) и перерыв размером в две пилы за счет последнего разряда, закрывающего ЦАП-ы. Запрет конкретных Ex и трансляция пилы на шину адреса и данных определяется в - Options.

• Перепад Ех с включенной емкостью и без - выдает ступеньку на Е1-Е4 от 0 до Ex edge value, заданной в Options.

     • No capacity - источники Ex открываются инверторами D26.2, D26.4, D26.6, D27.2.

     • Capacity - то же, что no capacity, но с подключенными через D26.1, D26.3, D26.5, D27.1 емкостями.

     • DAC time - перепад осуществляется непосредственным программированием ЦАП-ов D8-D11.

Раздел Options:

Нас интересует только подраздел Programming, в котором задаются параметры теста:

Testing options: E1 -E4 - разрешить данные источники.

• Bus translate - разрешить трансляцию E1 на шины адреса и данных. Используется в диаграммах - Пила и Перепад Ех с включенной емкостью и без !!! Опцию Bus translate в таких тестах как Пила и т.д. можно продолжительно использовать только с радиатором на транзисторе VT33(E1).

 • Input nibble - ввод половинки шины данных: Low - нижней, High - верхней, Both - поочередно. Используется в диаграмме - Вывод в системный порт D1 и одновременное открытие D2. При этом системный порт D1 работает как счетчик. Опция Low определяет нижние четыре разряда счетчика, High - верхние четыре разряда счетчика и опция Both - поочередно, через полный цикл(255), нижние и верхние четыре разряда счетчика.

• Bus inactive - неактивное состояние шины. Используется в диаграмме - Диаграммы адреса и данных, и выполняет установку не участвующего в диаграмме куска шины в - 0 или - 1.

• Log file name: - Имя Log-файла, куда попадет расширенная тестовая информация из раздела - Тест. Расширение пока заключается в выдаче неправильно считанной полной последовательности 0-255(Счетчика) в шестнадцатеричной и в двоичной системе счисления. При этом неправильные (т.е. не по порядку) значения заключаются в квадратные скобки.

• Ex edge value - Значение источников Ex, используемые в разделах - Перепад Ех с включенной емкостью и без и Диаграммы адреса и данных диаграмм.

 • Ldelay - Принудительная задержка после выдачи системных сигналов для длинных проводов.

Программа XCVT.

Утилита xcvt расположена в директории UTILS и предназначена для конвертирования и/или объединения/разделения файлов. Утилита воспринимает набор входных файлов и создает из них набор выходных файлов.

Если запустить xcvt, то запустится подробный help этой программы. Здесь мы кратко перечислим основные возможности.

Из-за обилия и запутанности опций у программы xcvt даже простейшие команды выглядят не такими уж и простыми. Для облегчения жизни пользователям был сделан механизм макрокоманд, а для хранения этих макрокоманд был сделан конфигурационный файл(по умолчанию это 'xcvt.cfg'). При этом зачитываются опции (глобальные), определения макрокоманд и установки, разбирается командная строка (+ подставляются макрокоманды) При чтении файла сначала он пропускается через ANSI C препроцессор. При подстановке макрокоманд дополнительно распознаются и подставляются специальные встроенные подстановки.

Конвертор поддерживает ряд форматов файлов:

• Бинарный: обычный файл.

• Текстовые форматы. Это форматы hex, mot и mos (Intel hex, Motorolla и MOS Technology). Диапазоны и их количество для этих файлов неявно заложены в их структуре и извлекаются оттуда.

• Тэгированный файл. Бинарный файл, который тем не менее хранит в себе информацию о диапазонах.

Приведем примеры использования встроенных макросов:

Макрос -hex2bin: преобразование из Intel HEX файла в бинарный

xсvt -hex2bin <входной hex файл> <выходной bin файл>

Макрос -bin2hex: преобразование из бинарного в Intel HEX файл

xсvt -bin2hex <входной hex файл> <выходной bin файл>

Макрос -w2b: разрезание словного файла на байты

xсvt -w2b <входной словный файл> <выходной байтовый (мл. байт)> <ст. байт>

Макрос -b2w: слияние 2х байтовых файлов в словный файл

xcvt -b2w <входной байтовый (мл. байт)> <ст. байт> <выходной словный файл>

Макрос -split: разрезание файлов на части

xCvt -split <входной файл> <выходной> <размер>

В заключение приведем два примера операций с файлом из сотни возможных:

Разделение файла слов на 2 байтовых файла:

xcvt -s0,1 inp.bin -o -s0 outlo.bin -s1 outhi.bin

Перестановка байтов в слове местами:

xcvt -s0,1 inp.bin -o -s1,0 out.bin

Uniprog Development Kit (UDK).

 

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

Подробно описать все функции Uniprog Development Kit мы планируем в отдельной брошюре (пока см. Help в каталоге UDK). Поэтому очень кратко остановимся на общих принципах взаимодействия пользователя с этим пакетом(см. блок-схему).

Блоки: "программирующий модуль", "модуль редактора", "модуль автоопределения" и "конфигурационный файл" доступны пользователю при написании собственной программы программирования.

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

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

"Конфигурационный файл" делится на две части.

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

Вторая часть содержит собственно описание некоторых «MENU-шек» в программе Uniprog Plus: выбор микросхем, различные проверки, собственно прожиг, стирание(если необходимо) и т.д.

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

Схема Uniprog.

С помощью шины данных и сигналов управления, идущих с компьютера, программируются четыре микросхемы Д4–Д7. На выходе этих микросхем формируются сигналы, которые через соответствующие буферные каскады подаются непосредственно на панельки для программирования. На адресное пространство программируемой микросхемы сигналы Р0–Р7, Р16–Р23, Р32–Р35 подают высокое напряжение Е1, а сигналы Р8–Р15, Р24–Р31, Р36–Р39 — логические уровни. На шину данных программируемой микросхемы сигналы Р48–Р55 подают высокое напряжение Е1, а сигналы Р56–Р63 – логические уровни. Сигналы Р64–Р69, Р72–Р77, Р80–Р85, Р88–Р93 через ЦАП-ы D8–D11 и усилители формируют значения напряжений Е1–Е4 соответственно. Сигналы Р71, Р79, Р87, Р95 запрещают напряжения Е1–Е4; сигналы Р70, Р79, Р86, Р94 сглаживают фронты этих напряжений. Через линии Р40–Р47 можно прочитать данные программируемой микросхемы.

Основным звеном схемы программатора является многофункциональный коммутатор. Рассмотрим коммутатор, выходящий на линию PD0. Нижнее звено D23.1 и D25.1 предназначено для коммутации логического сигнала Р56. Верхнее звено D21.1 и VT21 - для коммутации высокого напряжения Е1. Диод VD 29 нужен для отсечки напряжений Е1, меньших 5 v, чтобы обеспечить качественное чтение PD0 через Р40. Диод VD 21 предохраняет регистр 580 ВВ55А от высоких напряжений.

Коммутаторы на шине данных PD используют мощный транзистор типа КТ973, обеспечивающий импульсный ток до 1А, что необходимо для программирования, например, микросхем 556РТхх, 1556хх. Другая шина, часто используемая как адресная, таких токов не требует. Поэтому коммутатор, хоть и выполняет эту же функцию, но устроен несколько проще. Так, например, если на Р0 и Р8 подать запрещенную комбинацию 0 и 0, которая одновременно откроет транзистор VT1 и D15.1, то резистор R1.2 не допустит выгорания D15.1. Коммутатор на PD0, как видно из схемы, запрещенной комбинации не допускает. Нижние восемь рядов РА0 - РА7 шины адреса также допускают чтение через VD1-VD8 и D28 для программирования микросхем с совмещенной 16-ти разрядной шиной адреса и данных.

Как видно из устройства коммутаторов, на любую линию шины адреса или данных (или на несколько сразу) можно вывести высокое напряжение Е1, и при этом другие линии независимо могут иметь логические уровни.

  Кроме 20-ти разрядной шины адреса и 8-ми разрядной шины данных, существуют четыре программируемых источника напряжений Е1-Е4. При этом Е1, как указывалось выше, служит высоким напряжением независимых коммутаторов шины адреса и данных. Четыре мощных независимых линии напряжения программирования управляются с помощью ЦАП 572ПА1, что позволяет автоматически устанавливать эти напряжения при выборе в программе нужной программируемой микросхемы. Все четыре источника имеют одинаковую схему: ЦАП на базе 572ПА1 (включенный несколько нестандартно), в зависимости от цифрового кода, обеспечивает через усилитель нужное напряжение. Сигналы ЕN1-EN4 (от D26 и D27.1/D27.2) либо совсем выключают ЦАП-ы, либо подключают емкости С1-С4, обеспечивая более пологие фронты при перепадах сигнала. Нужно заметить, что транзисторы на выходе усилителей должны быть достаточно высокочастотные (граничная частота > 20 МГц). Это необходимо для качественного функционирования обратной связи (а значит, обеспечивается стабильность напряжения на выходе) в условиях переменной нагрузки, которая возникает при работе с микросхемами, потребляющими разные токи в разных режимах (например, потребление микросхемы 556РТхх при чтении ячеек с кодами 0xFF и 00х0).

Управление всеми коммутаторами и источниками Е1-Е4 осуществляется программированием через LPT-порт микросхем 580 ВВ55А. При этом все каналы, кроме D5.А, программируются на вывод, а D5.А - на ввод для чтения шины данных. Как известно, стандартный LPT-порт имеет однонаправленную шину данных, поэтому чтение данных осуществляется с помощью мультиплексора D2 через четыре информационные линии. Транзистор VT4 улучшает работу в условиях помех. Здесь стоит заметить, что на старых IBM платах, где нет ECP/EPP порта (386 или 486 с VLB шиной), кабель, соединяющий плату Uniprog и LPT-порт, должен быть не более 1 м, и каждый сигнальный провод должен быть отделен один от другого заземленным проводом. Для остальных плат в Setup-е желательно выставить порт LPT в ECP/EPP( как правило, раздел - CHIPSET FEATURES SETUP или INTEGRATED PERIPHERALS).

Осталось только указать, что C8 и D24 служат для начального сброса портов D4-D7, стабилитроны VD39 и VD40 формируют опорное напряжение для ЦАП-ов, а кварц Q1 необходим для программирования микроконтроллеров i87с5х, at89с5х.

На плате программатора, как видно из монтажной схемы, расположен набор посадочных мест под панельки многоразового пользования. Этот набор обеспечивает программирование серий: 27xx, 28xx, 29xx в DP7-DP9; 556PTxx в DP2-DP5; 1556хх, 89C1(2)051 в DP6; 155 PE3 в DP1; 8748(49) в DP10 и 8Х5х в DP11. Другие типы микросхем можно “уложить” в имеющиеся панельки, но рациональнее использовать внешний разъем Х2, к которому можно подключить любую плату с панелькой под конкретную серию, а также использовать нестандартные панельки под корпуса, например, типа PLCC.

Разъемы.

Разъем Х1 предназначен для подключения программатора через кабель к IBM-совместимому компьютеру на интерфейс Сentroniсs (разъем принтера). Шлейф распаивается "один в один", т.е. i-й контакт шлейфа с одной стороны разъема соединяется с i-м контактом разъема с другой стороны шлейфа (см. также раздел "Замечания").

На разъем Х2 выводятся все сигналы для программирования всех микросхем.

Через разъемы Х3 (выполненный в виде наплатного SG5) или Х5 (аналогичный тому, что на плате ПК типа IBM) поступают напряжения питания +5V, –5V и программирующее напряжение +27V – +30V (их можно получить от блока питания для ПК типа IBM с переделкой, описанной ниже).

Настройка и рекомендации.

Т.к. схема достаточно “линейна”, то настройка не представляет труда. Наиболее эффективно отстраивать плату с помощью тест - программы test.bat (такая программа содержится на прилагаемой дискете). Первый этап теста лучше всего начать с пункта «Автоматический тест», где легко локализовать неисправность.

В разделе «Check device» имеются различные тесты, которые помогут с помощью осциллографа определить неисправное звено. Например, в одном из тестов на линии РА0–РА19 и РD0–РD7 подаются поочередно логические уровни 0 и 1 с возрастающим интервалом (счетчик). Параллельно с помощью осциллографа имеется возможность наблюдения за этими уровнями на одной из панелек или на дополнительном разъеме. Если где-либо сигнала не наблюдается или меандр с неравномерной скважностью (замыкание между сигналами), то легко последовательно проследить всю логику вплоть до разъема Х1 и выявить неисправности. Также можно открывать линии РА0–РА19 и РD0–РD7 через транзисторы VT1–VT28 для высокого напряжения. Тест «Пила» в портах D6.С, D7.A, D7.B, D7.С циклически увеличивает данные, при этом на выходе ЦАП-ов и усилителей получается пилообразное напряжение. Тест «Чтение данных» читает с порта D5.A данные и выводит число на экран. В нормальном состоянии на экран выводится число #FF (в десятичном виде 255). Далее путем замыкания любого данного на одной из панелек с землей (на всякий случай через небольшой резистор ~ 20 Ом) должно наблюдаться изменение числа на экране. Например, если D0 замкнуть на 0, то на экране появится #FE(254). Если этого эффекта не наблюдается, то опять по цепочке выходим на неисправную микросхему, обрыв или замыкание.

Тесты имеют различные настройки в разделе Options, подробнее о каждом тесте и опциях можно узнать через контекстный Help (справка) в программе.

Замечания:

o Для качественного программирования ПЗУ не пожалейте блокировочных конденсаторов на все питания.

o !!! Рекомендуем настройку начинать с выключенным высоким напряжением +27v, т.к. возможные замыкания или некоторые неисправные элементы могут повлечь выгорание других элементов. !!! Опцию Bus translate в таких тестах как "Пила" и т.д. можно продолжительно использовать только с радиатором на транзисторе VT33(E1).

o У разных программаторов из-за разброса параметров элементной базы напряжения Е1-Е4 могут несколько отличаться. В Uniprog Plus осуществляется коррекция этих напряжений посредством программы test.bat (раздел "Юстировка напряжений E1-E4").

Замечания.

К плате Uniprog

o В Setup-е IBM PC желательно переключить тип LPT - порта из Normal(SPP) в ECP/EPP.

o В кабеле, соединяющем PC и UniProg, необходимо сигнальные шины чередовать с землей. Т.е. расположение сигналов на плоском кабеле должно быть: сигнал1-земля, сигнал2-земля, и т.д.

o На монтажной схеме 555 ЛА13 и 555 ЛН3 суть микросхемы 155 ЛА13 и 155 ЛН3.

o D2 (на схеме 555КП11) надо использовать более мощных серий - 531 или 155.

 

К модулю PIC

Программирование PIC последовательного типа (т.е. для всех серий, кроме PIC1652-58) осуществляется при помощи пяти проводов (например, на разъеме Х2):

Программатор   —> PIC16x(12x,14000)

  PA8               CLOCK

  PD0                DATA

  E4                   MCLR

  E2                   Vcc (Питание)

  GND                GND (Земля) - это сигналы Пика могут быть на разных ножках (например, для pic16f84 CLOCK(RB6) - 12, DATA(RB7) - 13, MCLR - 4, Vcc(Vdd) - 14, GND(Vss) - 5).

Сигналы с программатора см. по схеме (так на внешнем разъеме Х2 для версии 1.x и 2.x PA8 - А18, PD0 - А4, E4 - В9, E2 - В12, GND - А10,В10)

 

Программирование параллельного типа (т.е. для серии PIC1652-58) осуществляется при помощи семнадцати проводов:

Программатор   —> PIC16x52-58

  PA8                INCPC (OSC1)

  PA9                PROG/VER (T0CKI)

  PD0-7                       D4-D11 (RB0-RB7)

  PA0-3                       D0-D3 (RA0-RA3)

  E4                   MCLR

  E2                   Vcc (Питание)

  GND               GND (Земля)

 

Распределение памяти для модуля PIC в бинарном виде представлено в следующем виде:

с нулевого адреса - память программ, далее - память данных(если она есть) в словном размере и в конце восемь слов: первые четыре - ID, далее 5,6,7-е зарезервированные слова(в 7-м слове в новых микросхемах содержится идентификационный код) и, наконец последнее слово - конфигурационное. Т.е. :

0 - size_addr-1       - память программ;

size_addr - size_data-1   - память данных;

size_data - size_data+3  - ID;

NNN_data+4          - резерв;

NNN_data+5          - резерв;

NNN_data+6          - резерв или идентификационный код микросхемы;

NNN_data+7          - конфигурационное слово;

Биты слов, выходящие за пределы разрядности соответствующей памяти, игнорируются.

Можно также пользоваться .hex(или другими текстовыми форматами) файлами или конвертировать их в бинарный вид (cм. конверторы, пункт Source на стр. 6).

Более подробную информацию можно получить в контекстной справке по клавише 'F1' в модуле PIC.

К модулю FLASH

Микросхемы, имеющие более 32 выводов, можно программировать через внешний разъем Х2:

Программатор   —> FLASH

  E2                   Vcc (Питание)

  E3                   Reset

  E4                   Vpp

  PA16              CE

  PA17              OE

  PA18               WE

  PA0 - PA15              A0 - A15

  PD0 - PD7      D0 - D7

  GND                GND (Земля)

Если имеется сигнал BYTE, то он должен быть замкнут но 0, чтобы обеспечить байтовую шину данных.

Адрес РА19 зарезервирован для внешнего регистра, расширяещего адресное пространство до 24 (и более), т.е. дополнительные A16-A23 а также A-1. В ближайшее время ПО будет поддерживать этот регистр (поэтому пока можно программировать эти ПЗУ блоками по 64к).

Дата: 2019-07-30, просмотров: 175.