Смекни!
smekni.com

Разработка для контроля и определения типа логических интегральных микросхем методом сигнатурного анализа (стр. 7 из 12)

Математически процесс описывается формулой:

xkG(x)=Q(x)P(x)ÅR(x), где

Q(x) - частное; R(x) - остаток; P(x) -порождающий полином степени k, а G(x) - информационный полином, соответствующий входной двоичной последовательности x.

При прохождении последовательности xчерез сдвиговый регистр R(x) изменяется до тех пор, пока не закончится вся последовательность x. Конечное выражение R(x) является сигнатурой [11].

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

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


6.2. Описание алгоритма функционирования системы.

Общая структурная схема работысистемы в целом представлена на рис.17.

Рис.17. Алгоритм функционирования системы.


Комментарии к рис.17 изложены в табл.12.

Таблица 12

Блок Наименование Комментарии
2 Инициализация устройства Установка начальных значений регистров, снятие напряжения питания с панели для ИМС.
3 Ввод режима работы устройства Выбор меню “Тестирование” или “Определение типа”.
4 Режим работы В зависимости от п.3переход на исполнение выбранной части программы.
5 Ввод напряжения питания ИМС и выбор выводов для его подачи Ввод с клавиатуры напряжения питания ИМС и выбор выводов для его подачи из числа доступных в меню
6 Вызов подпрограммы определения типа микросхемы Определение типа ИМС, возврат из п/п результата определения типа
7 Ввод типа микросхемы Выбор в меню типа микросхемы
8 Вызов подпрограммы тестирования микросхемы Тестирование микросхемы, возврат из п/п результата тестирования
9 Вывод результатов на экран Вывод на экран результатов тестирования или определения типа
10 Инициализация устройства См. п.2.
11 Завершить работу с устройством ? В зависимости от выбора продолжить работу программы с п.3, либо завершить выполнение программы

6.3. Распределение адресного пространства LPT-порта.

Весь обмен данными осуществляется через стандартные адреса LPT-порта (см. приложение 4). За базовый принят стандартный адрес порта LPT1 - 378H.Рассмотрим назначение портов применительно к разрабатываемому устройству:

Порт 378H. Через него осуществляется запись информации во входные регистры, регистры управления напряжением и током (биты 0-7), а также для управления считыванием данных из “половинок” выходных мультиплексоров (бит 0).

Порт 379H. Используется для чтения данных из выходных мультиплексоров (биты 4-7), а также для контроля наличия напряжения питания на испытуемой микросхеме (бит 3).

Порт 37AH. Используется для дополнительной дешифрации регистров и мультиплексоров (биты 0-2), а также для стробирования записи во входные регистры (бит 3). Дополнительная дешифрация осуществляется следующим образом (табл.13):

Таблица 13

2 бит 1 бит 0 бит Назначение
0 0 0 Запись во входной регистр DD2, чтение из выходного мультиплексора DD13
0 0 1 Запись во входной регистр DD3, чтение из выходного мультиплексора DD14
0 1 0 Запись во входной регистр DD4, чтение из выходного мультиплексора DD15
0 1 1 Запись во входной регистр DD5, чтение из выходного мультиплексора DD16
1 0 0 Не используется
1 0 1 Запись в регистр регулировки напряжения питания DD7
1 1 0 Запись в регистррегулировки макс. потр. тока DD8
1 1 1 Запись в регистр управления коммутацией питания, выбора типа МС и включения напряжения питания DD6

Запись 8-ми бит данныхв соответствующий регистр производится из порта 378H (биты 0-7) при перепаде стробирующего сигнала 0Þ1 (бит 3, порт 37AH). Чтение 4-х бит данных из соответствующего мультиплексора производится из порта 379H (биты 0-3). Входы данного мультиплексора переключаются при помощи бита 0 порта 378H. Далее два считанных ниббла (по 4 бита) программно собираются в 1 байт (8 бит).

Значение, записываемое в регистр коммутации питания, зависит от типа микросхемы. Биты 0-2 регистра отвечают за коммутацию “+”питания микросхемы (табл.14), биты 3-5 - за коммутацию GND(табл.15), бит 6 отвечает за тип микросхемы (табл.16), бит 7 - за включение напряжения питания (табл.17):

Таблица 14

0 бит 1 бит 2 бит Коммутируемый вывод разъема X3
0 0 0 13
0 0 1 14
0 1 0 23
0 1 1 24
1 0 0 26
1 0 1 28

Таблица 15

3 бит 4 бит 5 бит Коммутируемый вывод разъема X3
0 0 0 16
0 0 1 19
0 1 0 20

Таблица 16

6 бит Тип микросхемы
0 ТТЛ
1 КМОП

Таблица 17

7 бит Напряжение питания испытуемой микросхемы
0 Неизменно
1 Включено

6.4. Описание подпрограмм.

1) Подпрограмма инициализации устройства.

После включения питания устройства в регистрах находится случайная информация. Для того, чтобы привести его в исходное состояние, необходимо записать начальные значения в управляющие регистры. Для этого нужно записать в порты следующие значения (значениеÞпорт):7FHÞ378H, 07HÞ37AH, 0FHÞ37AH(запись 7FH в регистр управлениякоммутацией питания - отключение напряжения питания и коммутаторов), затем 0Þ378H, 05HÞ37AH, 0DHÞ37AH (запись 0 в регистр регулировки напряжения), и затем 06HÞ37AH, 0EÞ37AH (запись 0 в регистр регулировки тока). Эти же действия необходимо будет выполнять после каждого цикла тестирования, чтобы избежать выхода из строя испытуемой микросхемы при ее смене. Блок-схема подпрограммы инициализации приведена на рис.18. Подпрограмма инициализации, написанная на языке Ассемблер, приведена в приложении 4.

Рис.18. Блок-схема подпрограммы инициализации устройства.


2) Подпрограмма тестирования микросхем.

Блок-схема подпрограммы тестирования представлена на рис.19.

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

1 байт - данные по коммутации напряжения питания (значение записывается в регистр DD6, 7-й бит не используется).

1 байт - данные по максимально потребляемому микросхемой току (в мА), значение записывается в регистр DD8.

2 байта - количество 8-байтовых данных в повторяющейся последовательности записи-сверки (см. ниже). Фактически представляет собой количество циклов записи-сверки.

Далее идет периодически повторяющаяся последовательность, длина которой зависит от конкретной микросхемы:

4 байта - данные, записываемые во входные регистры (входная последовательность).

4 байта - данные, сверяемые со считанными с выходов испытуемой микросхемы (контрольная последовательность).

При программировании учтены следующие особенности:

· инверсия данных, записываемых во входные регистры, в устройстве согласования повходу;

· инверсия данных, считываемых из выходных мультиплексоров, в устройстве согласования по выходу;

· дополнительное потребление по току в устройстве коммутации, равное 7мА.


Рис.19. Блок-схема подпрограммы тестирования.


Рассмотрим процесс тестирования на примере микросхемы К555ЛА3:

1) Значение, записываемое в регистр DD6. Для подачи питания на данную микросхему используются выводы 7 (GND) и 14 (+5в). Им соответствуют контакты 16 и 23 разъема X3. Для коммутации +Uпит.мс. необходимо в разряды 0-2 регистра DD6 записать значение 010B. Для коммутации GND необходимо в разряды 3-5 регистра DD6 записать значение 000B. Поскольку тип микросхемы ТТЛ, необходимо в разряд 6 регистра DD6 записать значение 0B. Просуммировав, получим значение, которое необходимо записать в регистр DD6: 0000010B=2H.

2) Значение потребляемого микросхемой тока - 4.4мА. Округляем до целого в большую сторону - 5H.

3) Число циклов тестирования. Зависит от микросхемы. Для тестирования микросхемы К555ЛА3 (с 2-мя входами у каждого элемента) достаточно 22=4 цикла тестирования.

4) Периодически повторяющаяся последовательность. Представляет собой 4 записываемых байта и 4 байта, с которыми производится сверка считанных значений. Для неиспользуемых разрядов записываемое и считываемое значения должны соответствовать друг другу, для выводов “+” питания микросхемы будет считываться логическая “1”, для GND - логический “0”. Для данной выбранной микросхемы тестирование будет заключаться в переборе комбинаций по 2-м ее входам (т.е. 00, 01, 10 и 11) и сравнении выходных сигналов с заведомо верными.