Смекни!
smekni.com

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

Раздел 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. При этом можно оперировать логическими понятиями шины адреса, данных и управляющими сигналами, не вдаваясь в физическое устройство программатора.