В начале вам предлагается ввести (курсором) число от 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А от высоких напряжений.