Тестер цифровых микросхем на ATMega128

IC Tester ATMega128

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

Описываемое устройство предназначено, в первую очередь для тестирования логических микросхем в корпусах DIP (или в других корпусах через соответствующие переходники). Поддерживаются отечественные микросхемы ТТЛ и КМОП (серии 155, 555, 1533, 561, 176, 580, 589 и др.), их импортные аналоги от Tehas Instruments, а также, импортные микросхемы, не имеющие отечественных аналогов. Сейчас в базе тестов есть около 250 микросхем и эта цифра растёт. Так же тестер умеет проверять микросхемы DRAM, SRAM, умеет считывать EPROM и показывать, есть ли в них записанные данные. Кроме того, девайс можно использовать при отладке различных цифровых устройств как интерфейс с 40 каналами ввода-вывода управляемыми по rs232.

Проект является продолжением тестера микросхем на ATMega32. Желание тестировать все микросхемы с количеством выводов до 40 привело к переходу на микроконтроллер ATMega128. Тем более, что у МК ATMega32 уже почти не оставалось свободной памяти для расширения базы тестов.

Ссылки

Корпус для тестера
Цветной дисплейный модуль 128x128
Дисплейный модуль Nokia 5110
Написание тестов

Поддерживаемые микросхемы

Сейчас тестер умеет работать с более, чем 230 микросхемами, и это количество растёт. Ниже представлен список поддерживаемых микросхем (в скобках указаны импортные аналоги):

TTL, серии 155/531/555/1533

АП2, АП3 (240), АП4 (241), АП5 (244), АП6 (245), АП9 (640), АП10 (646), АП14 (465), АП15 (466), АП16 (643)
ИД3 (154), ИД4 (155), ИД5 (156), ИД6 (42), ИД7 (138), ИД10 (145), ИД11, ИД12, ИД14 (139)
ИЕ1, ИЕ2 (90), ИЕ4 (92), ИЕ5 (93), ИЕ6 (192), ИЕ7 (193), ИЕ8, ИЕ9 (160), ИЕ10 (161), ИЕ11 (162A), ИЕ12 (190), ИЕ13 (191), ИЕ14, ИЕ15, ИЕ16 (168), ИЕ17 (169), ИЕ18 (163), ИЕ19 (393), ИЕ23 (4520)
ИМ2 (82), ИМ3 (83), ИМ5 (183)
ИП2 (180), ИП3 (181), ИП4, ИП5 (280), ИП6 (242A), ИП7 (243)
ИР1 (95), ИР8 (164), ИР9 (165), ИР10 (166), ИР11, ИР12 (195), ИР13 (198), ИР15 (173), ИР16 (295), ИР17, ИР22 (373), ИР23 (374), ИР24 (299), ИР26 (670), ИР27 (377), ИР29 (323), ИР30 (259), ИР32 (170), ИР33 (573), ИР34 (873), ИР35 (273), ИР37 (574), ИР38 (874)
ИВ1 (148) КП2 (153), КП5 (152), КП7 (151), КП11 (257), КП12 (253), КП13 (298), КП14 (258), КП15 (251), КП16 (157), КП17 (353), КП18 (158), КП19(352)
ЛА1 (20), ЛА2 (30), ЛА3 (00), ЛА4 (10), ЛА6 (40), ЛА7 (22), ЛА8 (01), ЛА9 (03), ЛА10 (12), ЛА11 (26), ЛА12 (37), ЛА13 (38), ЛА16 (140), ЛА17, ЛА18 (452), ЛА19 (134), ЛА21 (1000), ЛА22 (1020), ЛА23 (1003), ЛА24 (1010)
ЛЕ1 (02), ЛЕ2 (23), ЛЕ3 (25), ЛЕ4 (27), ЛЕ5 (28), ЛЕ6 (128), ЛЕ7 (260), ЛЕ10 (1002), ЛЕ11 (33)
ЛИ1 (08), ЛИ2 (09), ЛИ3 (11), ЛИ4 (15), ЛИ5, ЛИ6 (21), ЛИ8 (1008), ЛИ10 (1011)
ЛЛ1 (32), ЛЛ2, ЛЛ4 (1032)
ЛН1 (04), ЛН2 (05), ЛН3 (06), ЛН5 (16), ЛН6 (366), ЛН7 (368), ЛН8 (1004), ЛН10 (1005)
ЛП3, ЛП5 (86), ЛП7, ЛП8 (125), ЛП9 (07), ЛП10 (365), ЛП11 (367), ЛП12 (136), ЛП16 (1034), ЛП17 (1035)
ЛР1 (50), ЛР3 (53), ЛР4 (55), ЛР9 (64), ЛР11 (LS51), ЛР13 (54)
ТМ2 (74), ТМ5 (77), ТМ7 (75), ТМ8 (175), ТМ9 (174), ТМ10 (375)
ТР2 (279)
ТВ1 (72), ТВ6 (107), ТВ9 (112), ТВ10 (113), ТВ11 (114), ТВ15 (109)
ТЛ1 (13), ТЛ2 (14), ТЛ3 (132) РП1
ПР6, (184), ПР7
РУ2, РУ5
СП1 (85)

TTL серии 580 и 589

КР580ВВ55
КР580ИР82, КР580ИР83
КР580ВА86, КР580ВА87
К589ИР12
К589АП16, К589АП26

КМОП (серии 176, 561, 1561)

ИД1 (CD4028), ИД2, ИД3, ИД6 (CD4555), ИД7 (CD4556)
ИЕ1 (CD4028), ИЕ3, ИЕ4, ИЕ8 (CD4017), ИЕ9 (CD4022), ИЕ10 (CD4520), ИЕ11 (CD4516), ИЕ14 (CD4029), ИЕ16 (CD4020), ИЕ19 (CD4018)
ИК1
ИМ1 (CD4008A)
ИП2 (MC14585), ИП5 (MC14554)
ИР2 (CD4015), ИР3, ИР6, ИР9 (CD4035), ИР10, ИР11 (CD4036), ИР12 (MC14580), ИР15 (MC14194)
КП1, КП2, КП4 (CD4519)
КТ1 (CD4016), КТ3 (CD4066)
ЛА7 (CD4011), ЛА8 (CD4012), ЛА9 (CD4023), ЛА10
ЛЕ5 (CD4001), ЛЕ6 (CD4002), ЛЕ10 (CD4025)
ЛИ1, ЛИ2 (CD4081)
ЛН1 (CD4502), ЛН2 (CD4049), ЛН3 (CD4503)
ЛП2, ЛП4, ЛП11, ЛП12, ЛП13, ЛП14 (CD4070)
ЛС2 (CD4019)
ПР1 (HC4094)
ПУ4 (CD4050), ПУ7 (CD4069)
РУ2 (CD4061)
ТВ1 (CD4027)
ТЛ1 (CD4093)
ТМ1 (CD4003), ТМ2 (CD4013), ТМ3
ТР2 (CD4043)

Прочие

КР514ИД1, КР514ИД2
К1561ПР1 (4094)
1564ИР52 (595)
HC126, HC541, HC597, HC688, HC4052, HC4053

ОЗУ

565РУ5 (4164), 565РУ7(41256)
К537РУ10 (61C16, 62C16)
61C256, 62C256
61C512, 62C512

ПЗУ (чтение и проверка "чистоты")

К155РЕ3
556РТ4, 556РТ5
27C16, 27C32, 27C64, 27C128, 27C256, 27C512

Схема тестера

Тестер имеет модульную конструкцию. К основной плате тестера можно подключить модуль дисплея (чтобы работать автономно, без подключения к ПК), модуль ключей на полевых транзисторах (для подачи питания на разные выводы тестируемых МС), преобразователь uart-to-usb для подключения к ПК. В качестве дисплейного модуля может использоваться модуль с экраном Nokia 5110 либо модуль с цветным экраном 128x128. Модуль дисплея подключается к основной плате через интерфейс UART, коих у ATMega128 на борту две штуки. Второй UART используется для подключения тестера к ПК.

Выводы микроконтроллеров AVR имеют максимальную нагрузочную способность выводов до 40 мА. Этого достаточно для питания большинства микросхем 155й серии (с микросхемами серий 555 и 1533 проблем вообще нет). Но есть и микросхемыы, для которых этого тока будет недостаточно. В частности, микросхемы памяти (по даташиту на 565РУ7 её тока потребления может достигать 80 мА). Для работы с такими микросхемами разработана отдельная плата, содержащая ключи на полевых транзисторах с n- и p-каналом подключённые к микросхемам 74HC595.

Прошивки скомпилированы для частоты кварцевых резонаторов в тестере и дисплее 16МГц. Ёмкость электролитического конденсатора тестера: 100..1000мкФ, в зависимости от уровня пульсаций используемого блока питания. Ёмкость фильтрующих керамических конденсаторов - 0.1 мкФ.

Схема тестера в PDF
Схема модуля ключевых транзисторов в PDF

Интерфейс тестера

Главное меню

При включения тестера попадаем в главное меню:

Главное меню, начало Главное меню, конец

Отсюда можно запустить автоматический тест логических МС с определением типа; выполнить ручной тест, задавая уровни на входах микросхемы и контролируя состояния её выходов; проверить микросхемы EPROM на того, что они полностью стёрты; тестировать микросхемы ОЗУ; перейти к настройкам и посмотреть информацию о версии прошивки и количестве тестируемых микросхем в базе.

Для начала имеет смысл настроить тестер, для этого переходим на экран Settings:

Экран настроек

Настройки, начало Настройки, конец

Тут можно включить/выключить подсветку (Backlight), либо настроить её автовыключение.
Так же можно включить/выключить подачу звуковых сигналов (Sound) при нажатии на клавиши и в случае завершения тестов.
Далее, можно включить/выключить модуль ключей для подачи питания (Power). Если Power = on, то при тестировании логических микросхем и микросхем памяти питание на них будет подаваться через ключи модуля (иначе, они будут запитаны непосредственно с выводов микроконтроллера через токоограничивающие резисторы). Вообще, управлять модулем ключей можно непосредственно перед тестированием на экране "вставьте микросхему". В настройках задеётся значение по умолчанию.

Модуль питания имеет 16 ключей, подающих "землю" и 8 ключей, подающих +5В на тестируемую микросхему. Подключить эти ключи вы можете по своему усмотрению. Вообще, "земляные" ключи логично подать, как минимум, на выводы 7, 8, 10, 12, 14, 16 и 20. А один из "+5В" ключей должен подавать питание на 40й вывод ZIF-панели - у большинства микросхем напряжение питания подключается именно сюда. Вы можете использовать любые ключи (нужного типа), тестер сам распознает, какой ключ куда подсоединён. Для этого надо перейти в пункт "Configure". Важно! Перед выполнением конфигурирования в ZIF-панель должна быть пуста (в ней не должно быть микросхем). Тестер поочерёдно переберёт все ключи и определит, к каким выводам панели они подсоединены. Результат отобразится следующим образом:

Настройка модуля ключей, ZIF, начало Настройка модуля ключей, ZIF, конец

Тут слева идут номера выводов ZIF-панели, а справа - номера подсоединённых к ним выводов платы ключей. Т.е., в данном случае, к 7-му пину панели подсоединён ключ номер 2 отрицательной полярности, а к 40-му пину подсоединён ключ номер 21 положительной полярности. Нажатие средней кнопки клавиатуры переключает режим отображения:

Настройка модуля ключей, слоты, начало Настройка модуля ключей, слоты, конец

В этом режиме слева идут номера ключей питания, а справа - пины панели, с которыми эти ключи связаны. Ключи делятся на три группы по 8 штук, управляемых одним регистром 74HC595. Т.е., в данном примере ключ номер 2 первой группы имеет отрицательную полярность и соединён с 7-м пином панели. А ключ номер 5 третьей группы имеет положительную полярность и соединён с 40-м пином панели. Тогда как, ключи номер 3, 4, 6 и 7 из третьей группы никуда не подсоединены.

Если модуль ключей отсутствует, не подключён или нераспознан по каким-либо причинам, тестер сообщит об этом:

Модуль ключей не найден

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

Следующий параметр - Chips определяет, какие названия микросхем будут показываться:
Rus - показывать только названия отечественных микросхем
TI - показывать только названия импортных микросхем (Tehas Instruments)
all - показывать все названия
Этот параметр не ограничивает сами тесты. Т.е., если, например, выбран показ только отечественных названий, а тестируется импортная микросхема не имеющая отечественного аналога, то она всё равно определится и покажется её буржуйская маркировка.

Параметр Contrast задаёт контрастность дисплея. Обычно, наилучшее качество картинки получается при контрасте от 60 до 70. Некоторые дисплеи игнорируют этот параметр (т.е., одикокого одинаково хорошо работают при любом контрасте).

Последние два пункта настроек позволяют включить bluetooth и задать его пин-код. Тестер можно подключать к компьютеру через интерфейс UART посредством адаптера USB-UART (либо адаптера на микросхеме max232 к COM-порту) либо беспроводным способом через bluetooth с помощю китайских адаптеров типа HC-05 и HC-06. Если Bluetooth включен, то при запуске тестер попытается определить его тип и иницилизировать (при необходимости). Соответственно, если используется проводной способ подключения, то bluetooth лучше выключить, чтобы тестер не пытался его обнаружить посылая команды по UART.

Если bluetooth-адаптер включен и подсоединён, то можно перейти к настройке пин-кода. На экране показывается версия bluetooth-модуля и четыре ячейки цифрового кода (этот код потом потребуется ввести на компьютере/телефоне при соединении с тестером).

Настройка bluetooth

Тестирование логических МС

После конфигурации тестер готов к использованию. Для проверки и определения микросхем служит первый пункт меню Detect & Test. Сначала надо определиться с типом проверяемой микросхемы - КМОП или ТТЛ:

Выбор группы для тестирования

Затем, отображается предложение установить микросхему в панель:

Перед проверкой

При этом, если модуль ключей установлени и сконфигурирован, то на экране отображается его состояние (ON/OFF). Кнопкой "вверх" можно включить питание, кнопкой "вниз" - выключить. Если питание выключено, во время тестов микросхема будет запитываться от atmeg-и (что более безопасно), если включено - будет использован модуль ключей. Т.е., сначала можно выполнить проверку с выключенным модулем, затем, в случае неуспеха, попробовать его включить.

Центральной либо правой кнопкой запускается тест. Девайс последовательно проходится по всем тестам в базе, и выполняет все команды пока не получит первую ошибку. После ошибки переходит к проверке следующей МС и т.д. После завершения теста на экране отобразятся названия всех микросхем, для которых тесты выполнились успешно. Например вот результат для микросхемы 555АП14 (импортный аналог 74LS465):

Результат проверки

Микроконтроллер тестера работает на тактовой частоте 16МГц что может оказаться слишком быстрым для некоторых микросхем. Поэтому, в случае неуспеха, устройство повторно прогонит все тесты добавив задержки между подачей сигналов на входы и их считываением с выходов. Если в этом случае удасться определить микросхему, то тест будет повторяться с уменьшением добавленной задержки до тех пор, пока микросхема не перестанет обнаруживаться. В результате, внизу экрана отобразится величина задержки (измеренная в условных попугаях). Чем эта цифра меньше, тем выше быстродействие микросхемы:

Результат проверки если микросхема медленная

Если же после всех этих переборов не удалось ничего обнаружить, то результат будет такой:

Результат проверки если микросхема повреждена или неизвестна

Проверка ОЗУ

Отдельным пунктом меню идёт тест памяти. На момент обновления этой страницы тестер умеет проверять динамическую память 4164 и 41256 (отечественные аналоги - 5655РУ5 и 565РУ7 соответственно) и статическую память 61c256 и 61c512 (использовалась в качестве кэша на материнских платах).

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

Для динамической памяти результат показывается в виде карты - закрашенные клетки - полностью исправные области, крестики - область содержит минимум одну сбойную (с т.зрения тестера) ячейку. Например, так выглядит результат успешной проверки 565РУ5:

Тест памяти 4164 - нет ошибок

А так выглядит результат, если сбойных ячеек много:

Тест памяти 4164 - много ошибок

Ещё один пример - 565РУ7 с несколькими сбойными ячейками:

Тест памяти 41256 - есть ошибки

Для статической памяти экран результата выглядит так в случае исправной микросхемы:

Тест памяти 61c256, нет ошибок

Как показала статистика, в случае повреждения у этих микросхем обычно выгорает одна из линий. Т.е, ошибки обычно бывают сразу во всех ячйках. Поэтому, в случае обнаружения ошибок, вместо карты памяти на экране показыватся биты шины данных, на которых были замечены ошибки:

Тест памяти 61c256, есть ошибки

В данном примере у микросхемы обнаружились проблемы при работа с битами данных 7 и 4.

Проверка ПЗУ

Также тестер умеет считывать микросхемы EPROM (серии 27cXXX, и некоторые отечественные - 155РЕ3, 556РТ4, 556РТ5) и проверять, являтся ли они "чистыми". Если микросхема содержит данные, то показывается процент чистых битов и байт. Для УФ-стираемых микросхем это позволяет оценить успешность засветки под лампой (особенно, если для стирания используются самодельные варианты вроде ламп ДРЛ с разбитой внешней колбой) и быстрее подобрать достаточное время экспонирования.

Сначала выбираем тип микросхемы:

Выбор EEPROM Выбор EEPROM

После завершения чтения, видим результат - сообщение о том, что микросхема полностью стёрта, либо информацию о проценте "стёртых" (т.е., установленных в 1 для 27сХХХ) бит и "стёртых" байт (т.е., байт, у которых все биты стёрты). Эта информация позволяет оценить степень удачности облучения ультрафиолетом, и быстрее определять необходимое и достаточное время засветки.

Результат для чистой EEPROM Результат для EEPROM с даными

Ручные тесты

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

Ручной тест, выбор корпуса

На экране ручного тестирования есть два режима - "setup" и "out". В режиме setup происходит настройка выводов микросхемы на вход или выход. По умолчанию все выводы являются выходами, т.е., тестер считывает их состояние. Выходы рисуются стрелкой ОТ микросхемы. Если стрелка направлена К микросхеме, то пин является её входом, тестер может менять уровеня на входе. Название текущего режима отображено на экране.

Ручной тест, DIP-8, режим SETUP Ручной тест, DIP-8, режим OUT Ручной тест, разные состояния выводов Ручной тест, DIP-20

В режиме out тестер может менять состояния входов и выходов микросхемы. Если на входе микросхемы установлен высокий уровень, в ячейки рисуется плюсик. Для выходов микросхемы так же можно менять уровни, тут включенный высокий уровнь будет означать включение подтяжки вывода к питанию. Состояния выходов микросхемы отображаются стрелкой - если она закрашена, то на выходе высокий уровень.

Экран информации

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

Экран about

Сборка и прошивка

Монтажная схема основного модуля, верх:

Монтажная схема основного модуля, верх

Монтажная схема основного модуля, низ:

Монтажная схема основного модуля, низ

Фотографии собранного тестера

Фото тестера микросхем, вид сверху
Тестер в работе

Плата модуля ключевых транзисторов

Плата модуля ключевых транзисторов

Фьюзы тестера

Фьюзы тестера

Соединение модулей

В своей полной конфигурации тестер состоит из четырёх плат:

  1. Основная плата
  2. Плата дисплейного модуля
  3. Плата с ключами
  4. Плата преобразователя USB-UART

Последние три платы необязательны и подключаются к основной.

Назначение разъёмов на плате тестера:

Назначение разъёмов на плате тестера

1 и 2 - три разъёма питания, соединены параллельно. На один из них подаётся питание от БП (напряжение 5В), к двум другим можно подключить питание дисплея и модуля ключей (с соблюдением полярности!).
3 - разъём UART1. Сюда подключается модуль дисплея (пин Rx тестера - к пину Tx дисплея, пин Tx тестера к пину Rx дисплея, земля у них общая)
4 - разъём UART. Сюда подключается адаптер USB-UART для связи тестера и компьютера (пин Rx тестера - к пину Tx адаптера, пин Tx тестера к пину Rx адаптера, земля у них общая)
5 - разъём для подключения платы ключей (подключается ко входу INPUT платы ключей, соединение такое PG1 - SER, PG0 - RCK, PG2 - SCK

Назначение разъёмов на плате дисплея:

Назначение разъёмов на плате дисплея

1 - разъём UART подключается к разъёму UART1 тестера
2 - разъём питания (5В)

Назначение разъёмов на плате ключей:

Назначение разъёмов на плате ключей

1 - разъём питания (5В)
2 - разъём INPUT для подключения к линиям управления тестера (PG0-PG2).

Написание тестов

Язык написания тестов подробно описан в этой статье. После напсиания тестов, их надо скомпилировать в h-файл и пересобрать прошивку.

Подключение к ПК

Тестер можно подключить к компьютеру посредством адаптера usb-to-uart. Адаптер подключается к разъёму UART (а дисплей - к UART1). В качестве адаптера можно рекомендовать схему на чипе CH340G - я тестировал с ним.

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

Программа написана на Java и требует Java Runtime версии не менее 8. Запускаетя командой

java -jar ic-tester.jar

В выпадающем списке выбирается COM-порт, к которому подключён тестер. Чекбоксы внизу экрана управляют оптимизацией компилятора.

Внешний вид экрана отладчика:

Пошаговый отладчик

Так же можно скомпилировать тесты командой

java -cp ic-tester.jar ru.trolsoft.ictester.compiler.Compiler путь_к_исходному_файлу.ic путь_к_генеримому_файлу.h суффикс

Приобрести печатные платы можно в магазине

Прошивки:

Downloadic-tester-display.hex
Downloadic-tester-main.hex
Downloadv0.8.0_128x128.zip (последняя версия прошивки тестера и дисплея для экрана 128х128)

Софт для ПК:

Downloadic-tester.jar

Самые свежие прошивки и софт можно скачать на странице группы вконтакте.

Рейтинг: 
0
Голосов еще нет