Тестер микросхем 2.0 на ATMega128

IC Tester ATMega128

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

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

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

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

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

Весь исходный код проекта доступен на github
Приобрести печатные платы можно в магазине

Прошивки:

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

Софт для ПК:

Downloadic-tester.jar
Рейтинг: 
0
Голосов еще нет