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



6.1. Метод сигнатурного анализа.

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

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

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

Сигнатурный анализ основывается на следующем принципе сжатия данных: двоичная последовательность x в виде информационного полинома G(x) поступает с выхода проверяемой схемы на сдвиговой регистр и делится в виде полинома xkG(x) (где k - количество разрядов сдвигового регистра) на порождающий полином P(x) степени k. Деление не порождающий полином P(x) реализуется с помощью сдвигового регистра с обратными связями. Результатом деления является остаток R(x), получающийся в сдвиговом регистре после приема входной последовательности.

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

 

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) и сравнении выходных сигналов с заведомо верными.

 

Разработанная подпрограмма тестирования на языке Ассемблер для микросхемы К555ЛА3 приведена в приложении 5 (подробности работы данной подпрограммы изложены в комментариях).


 

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

 

Задача определения типа микросхемы представляет собой перебор всех известных для тестирования комбинаций при заданном значении напряжения питания микросхемы. Блок схема алгоритма определения типа приведена на рис.20.

 

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

Нужно учесть, что в приведенной на рис.20 блок-схеме, внутри подпрограммы тестирования программно выставляемое напряжение питания испытуемой микросхемы меняться не должно Т.е. это необходимо учитывать при использовании алгоритма, представленного на рис.19.

 

 


 


Дата добавления: 2019-07-15; просмотров: 179; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!