Недавно мне презентовали весьма рандомный комплект советских логических микросхем, в основном серии К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, "Тестер для проверки микросхем". Там мы найдем похожую схему для проверки регистров и мультиплексоров ТТЛ-серий, которая предполагает проверку путем формирования тестовой последовательности на испытуемой и эталонной микросхеме. Таким образом, работающей платы не требуется, зато сужается диапазон типов проверяемых микросхем. Необходимость иметь "про запас" исправную эталонную микросхему тоже не отпадает, увы:
(как и все схемы в моем блоге - кликабельно для увеличения)
Продолжение поисков обязательно следует...