07.09.2009

Тестер микросхем

Недавно мне презентовали весьма рандомный комплект советских логических микросхем, в основном серии К561.

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

Какой же бедный студент откажется от халявных микросхем! Но как отделить зерна от плевел – то бишь, брак от рабочих? Конечно же, первым делом я вооружился справочником В.Л. Шило "Популярные микросхемы КМОП. Справочник. Серии К176, К561, 564, КР1561, 1564" (Москва, "Ягуар", 1993 г.). Узнав оттуда назначение и расположение контактов одной из выбранных наугад микросхем – К561ТМ2, я соединил с Arduino входы первого из двух независимых D-триггеров, входящих в состав этой микросхемы, а прямой и инверсный выходы - на светодиоды с токоограничительными резисторами:



Как только я правильно написал скетч, светодиоды весело замигали:

/* K561TM2
   1 | Q1
   2 | Q1`
   3 | C1 
   4 | R1
   5 | D1
   7 | GND
   9 | D2
  10 | R2
  11 | C2
  12 | Q2`
  13 | Q2
  14 | Vcc
*/ 

#define pinC  2
#define pinR  3
#define pinD  4
#define pinS  5

void setup() {
pinMode(pinC,OUTPUT);
digitalWrite(pinC,HIGH);
pinMode(pinR,OUTPUT);
digitalWrite(pinR,LOW); 
pinMode(pinD,OUTPUT);
digitalWrite(pinD,LOW);
pinMode(pinS,OUTPUT);
digitalWrite(pinS,LOW);
}

void loop() {
digitalWrite(pinD,LOW);
digitalWrite(pinC,LOW);
delay(2);
digitalWrite(pinC,HIGH);
delay(500);
digitalWrite(pinD,HIGH);
digitalWrite(pinC,LOW);
delay(2);
digitalWrite(pinC,HIGH);
delay(500);

}



Помигать также можно и через R/S входы, если заменить в предыдущем примере тело loop:

void loop() {
digitalWrite(pinR,HIGH);
digitalWrite(pinS,LOW);
delay(500);
digitalWrite(pinR,LOW);
digitalWrite(pinS,HIGH);
delay(500);
}



Если светодиоды загораются по-очереди раз в полсекунды, то триггер вроде бы рабочий. Но в корпусе их два, а значит надо повторить проверку и для второго.

И тут я задумался: насколько такая проверка будет корректной?

Любая микросхема имеет определенное быстродействие (зависит от серии, например, в случае с КМОП – от напряжения питания) и неплохо было бы проверить, что оно достижимо. Поскольку оценивать это "на глазок" по миганию светодиодов нельзя, логично доверить это Arduino, подключив к нему и выходы тестируемой микросхемы тоже.

И обязательно надо проверить и взаимное влияние одного триггера на другой – например, при управлении одним, второй своего состояния менять не должен.

А если сделать программу для проверки более универсальной?

Немного подумав надо тем, как должна выглядеть Универсальная Программа Проверки Логических Микросхем, я ужаснулся и потянулся к Интернету, пытаясь найти готовое устройство для повторения. Но все оказалось не так просто, как я ожидал.

Надо заметить, что в существовании подобного устройства я не сомневался – несколько раз, покупая на рынке комплектуху для своего первого Спектрума, я прибегал с услугам дядьки-проверяльщика. Это такой специальный мужик (чем-то смахивающий на коробейника) с портативным проверочным устройством. За небольшую плату покупаемые микросхемы устанавливались в панельку на устройстве, нажималась кнопка и – чудо! Если загорался один светодиод, то проверка считалась успешной, если другой... микросхема возвращалась продавцу с вердиктом "битая". Стоило эта услуга весьма недорого и пользовалась заслуженной популярностью: выпаивать микросхему, рискуя повредить печать, не хотелось.

Первый найденный вариант обнаружился в книге "Популярные микросхемы ТТЛ. Серии: КР1533, КР1531, К531, К555, К155" (Москва, "Аргус", 1993). Назывался он "Прибор для испытания микросхем". Необходимость преподносилась его авторами так: "однотипные микросхемы, изготавливаемые разными фирмами как "функциональные аналоги", могут работать по-разному":



Механическую основу девайса составляет универсальная панелька на 24 контакта, к кажому из которых припаяно по проводку длиной 150мм, со штырьком на конце. С двух сторон расположены тумблеры и светодиоды с гнездами: для начала надо раздобыть описание микросхемы и подключить проводками тумблеры - ко входам, а светодиоды – к выходам. Наверное, вы уже догадываетесь, что дальше надо руководствуясь документацией / интуицией / исключительно субъективным пониманием того, как должна работать микросхема, набирать на тумблерах комбинации и анализировать результат. В схеме предусмотрен генератор импульсов 1 Гц, который предназначен для формирования сигнала проверки последовательных регистров и сдвиговых счетчиков (и тоже имеет отдельное гнездо):



Как гласит последний абзац описания, "некоторые микросхемы КМОП не работают от 5В. Разомкните тумблер S15, подайте от внешнего питания 9В". Это единственное упоминание КМОП в книге, полностью посвященной ТТЛ- и ТТЛШ-логике, отдает мистикой ;)

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

Продолжая искать, я нашел статью "Прибор для контроля работы микросхем", автор Н.И. Заец:



Принцип работы: берутся две одинаковых микросхемы, у них соединяются входы и в реальном времени сравниваются состояния на выходах: при расхождении загорается светодиод. Главная особенность этого способа заключается в том, что можно (и даже нужно!) проверять микросхему не выпаивая - прямо в работающем устройстве. Правда, для этого придется собрать специальный игольчатый переходник, но в итоге появляется уникальный шанс "застукать" неисправную микросхему, если "один из входов или выходов ... могут иметь обрыв или "сидеть" на одном из уровней, а в статике логика работы будет совпадать".

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

Кстати, нельзя не заглянуть в статью, на которую ссылается Заец: журнал Радио №7 за 1993, "Тестер для проверки микросхем". Там мы найдем похожую схему для проверки регистров и мультиплексоров ТТЛ-серий, которая предполагает проверку путем формирования тестовой последовательности на испытуемой и эталонной микросхеме. Таким образом, работающей платы не требуется, зато сужается диапазон типов проверяемых микросхем. Необходимость иметь "про запас" исправную эталонную микросхему тоже не отпадает, увы:



(как и все схемы в моем блоге - кликабельно для увеличения)

Продолжение поисков обязательно следует...

3 комментария:

  1. Обалдеть, Unit testing (http://en.wikipedia.org/wiki/Unit_testing) для микросхем, я люблю этот блог! ;-)

    ОтветитьУдалить
  2. Всем привет. Как-то тоже был озадачен проверкой исправности большого количества разных цифровых микросхем 155 и 555 серии. Информацию о реальном устройстве, пригодного для повторения радиолюбителями сначала нашел в журнале Радиолюбитель №12 за 1994г, а затем схему и программу в Радиолюбителе №3 за 1996год. Статья называется "Устройство проверки микросхем". Схема сделана на рассыпухе 555 серии, программа написана на Бейсике для ПК а-ля "ZX-Spectrum" версии "Балтик", поэтому очень проста и прозрачна для понимания. Легко можно адаптировать под Ардуино. качество проверки не зависит от быстродействия программы, т.к. "защелка" отклика сделана аппаратная. Редактор журнала сильно статью "покалечил", поэтому много ошибок. Где-то в последующих номерах есть некоторые исправления. По умному такой способ контроля называется "методом сигнатурного анализа". К сожалению автор не привел исходник составителя тестовых таблиц. Вроде автор делал устройство в виде автономного устройства, но не могу ошибаться.

    ОтветитьУдалить
    Ответы
    1. Нашел в журнале Радиолюбитель две статьи: 1) "Прибор для проверки микросхем" М.Лошкарев, А.Николаев, О.Мохов 1995 N7 с. 25-27, N8 с. 22-24. Программа на ассемблере. 2) "Устройство проверки микросхем" С. Коржов 1996 N2 с. 29-31, N3 c.29. Программа на Бейсике.

      А в N12 за 1994 статья "Программатор ПЗУ К155РЕ3 и К155РТ4" того же С.Коржова, программа тоже на Бейсике.

      Удалить