Раздел 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 Plus входит пакет Uniprog Development Kit.
Подробно описать все функции Uniprog Development Kit мы планируем в отдельной брошюре (пока см. Help в каталоге UDK). Поэтому очень кратко остановимся на общих принципах взаимодействия пользователя с этим пакетом(см. блок-схему).
Блоки: "программирующий модуль", "модуль редактора", "модуль автоопределения" и "конфигурационный файл" доступны пользователю при написании собственной программы программирования.
"Программирующий модуль" содержит собственно программу прожига, проверки и т.д и использует разнообразные функции ядра Uniprog. При этом можно оперировать логическими понятиями шины адреса, данных и управляющими сигналами, не вдаваясь в физическое устройство программатора.