Trol73, На меня один комплект тестера тоже запишите :)
Вид для печати
Trol73, На меня один комплект тестера тоже запишите :)
Trol73, Я буду в этом участвовать!
Господа, давайте записываться не здесь!
Trol73,
Внутренние элементы микросхем и дорожки на печатной плате имеют некоторую ёмкость, если этот конденсатор зарядить или разрядить, подтягивающих резисторов и открытых транзисторов с ним не связано, то своё состояние он будет сохранять достаточно долго, чтобы его можно было считать в следующем такте(DRAM кстати тоже на конденсаторах). Проблема только с большой ёмкостью, мы не можем выдать слишком длинный импульс для заряда, поскольку не знаем, нет ли там открытых транзисторов и не устроим ли мы КЗ.Цитата:
По поводу шаманства с выводами в Z-состоянии - кмк, это все слишком ненадежно
До начала тестов и подключения микросхемы к земле и питанию можно просканировать все возможные пары выводов и составить матрицу в которой будет указано ведёт ли себя эта пара как диод. Сканирование выполняется следующим образом: все выводы находятся в режиме входов, на каждый вывод по очереди подаём высокий(низкий) уровень, а на все остальные(тоже поочерёдно) выдаём короткий импульс низким(высоким) уровнем, и сразу считываем, если вернулся обратно, значит там что-то похожее на диод. Если подав на вход A высокий уровень, мы его наблюдаем на входе B, а подав на вход B низкий уровень мы его наблюдаем на входе A, то значит точно похоже на диод. Для КМОП-микросхем с защитными диодами матрицы скорее всего будут одинаковые, но строки и столбцы соответствующие питанию должны быть видны явно, а вот ТТЛ-микросхемы скорее всего будут от КМОП и друг друга отличаться. На равенство сравнивать полученную матрицу с матрицами в базе данных конечно нельзя, но можно искать наиболее похожую.
Конечного количества тестов может быть достаточно для распознавания микросхемы, но полноценным тестированием это назвать сложно. К примеру память, достаточно ли записать/прочитать 1, 10, 100 ячеек? Ясное дело что всех комбинаций тут не перебрать, но проверить что все ячейки способны сохранять различную информацию, что она не стирается вдруг при особой комбинации адреса/данных, очень желательно.Цитата:
достаточно конечного количества тестов. В любом случае, этот вопрос решается добавлением новых команд в язык описания тестов.
Хотя если в описание тестов добавить команды организации циклов, переменные, арифметические операции, возможность присваивания разрядов переменной "списку ног" и наоборот, то можно будет счётчики, сдвиговые регистры и память более полноценно проверять. Z-состояние тоже желательно проверять, микросхемы такие используются, да и сделать несложно.
Да, но если я не ошибаюсь, то дорожка на плате - это не только конденсатор, но еще и антена, на которую можно поймать все, что угодно, от ближайшего wi-fi, до пролетающих в соседней галактике звездолета. Причем, разные дорожки имеют разную длину и геометрию.
Для памяти, очевидно, надо, как минимум, записать 0 и 1 во все ячейки. Но при этом, очевидно, что мы навряд ли сможем в 32кб ОЗУ записать вообще все возможные комбинации. А для регистров, подозреваю, достаточно записать все нули, все единицы и комбинации вида 01010101 и 10101010. Проверять все 256 сочетаний, думаю, тут не обязательно.
Для проверки выводов с ОК и Z-состояний мы решили использовать резисторы подтяжки к земле (резисторы подтяжки к питанию есть в AVR). Подтягивая поочередно к земле и питанию мы можем попробовать угадать входы и выходы тестируемой МС. И таким образом попытаться на первом шаге отсеять большую часть заведомо ненужных тестов.
Прикрепил схему основного модуля тестера.
Trol73, а в какой проге делали предыдущий проект, а то в AtmelStudio 6 жму Build - какая-то ерунда выскакивает, в WinAVR пытался скомпилить - сплошные ошибки! С AtmelStudio вообще не работал (жуткий монстр!), ради этого проекта поставил, поэтому может где-то чего-то не настроил?
Изначально делал в в AtmelStudio 7. Но, во-первых, она только под Windows. А во-вторых, после ее обновления как-то словил кучу проблем.
В итоге, перешел на NetBeans - хоть и монстр, зато открытый и кроссплатформенный. Его использовал как удобный текстовый редактор.
Для сборки проектов запилил свою утилитку на питоне: http://trolsoft.ru/ru/soft/avr-builder. Проверял под Windows и MacOS.
Тестер собирается ей (см. файл make.builder).
Первая партия плат прибыла.
Осталось
1. собрать пробный экземпляр
2. написать софт для компа. Как минимум, необходима возможность пошаговой отладки тестов с визуализацией состояния выводов тестируемой микросхемы. Иначе написание тестов вслепую превращается в боль и страдания.
3. написать и отладить прошивки для нового девайса и блока управления
Текущая версия плат не содержит полевых транзисторов для подачи питания на тестируемую МС. Т.е., особо прожорливые микросхемы им проверять а автоматическом режиме не получится (но ничто не мешает подать питание вручную, разъём на плате для этого предусмотрен). В следующей версии платы хочу добавить их
Сейчас хотелось бы оценить спрос на этот девайс, а именно
1. Комплектация:
а) только платы,
б) платы + детали (все или частично)
в) готовое устройство
2. Насколько важен блок с полевиками и возможности проверять микросхемы с током потребления более 50 мА. Возможно, кому-то не нужен модуль экрана и клавиатуры, если будет нормальный интерфейс с компом
3. Возможно, какие-то пожелания по железной части.
Заинтересованных просьба отписываться в ЛС или на сайт.
И по поводу продажи плат - хотелось бы сначала поиметь рабочий вариант устройства хотя бы в зачаточной форме. Конечно, могу выставить имеющиеся излишки плат на продажу прямо сейчас, но смысл это делать, когда ничего еще не готово и пока не ясно со сроками. Даже нормально оформленной схемы нет. Заказывать платы партиями больше 10 штук пока тоже смысла не вижу - первое время возможны интенсивные изменения.
Заинтересован в варианте 1б.
Интерфейс с компом вообще не интересен. Многие универсальные USB-программаторы имеют функцию проверки логических микросхем.
Гораздо удобнее, на мой взгляд, иметь отдельный девайс, с дисплеем, выводящим всю необходимую информацию.
Вообще хочется полный фарш со всеми фишками, которые задумали. :)
Подозреваю, что многоуниверсальные USB-программаторы могут только проверять логические микросхемы и ставить диагноз: годная/нет. Главная фишка подключения к компу в том, чтобы иметь возможность изучить микросхему, "потыкать в нее палочкой". А если она определяется как нерабочая, то увидеть причину неработоспособности. Для таких вещей дисплея нокии 3310 и 5 кнопок будет явно мало :)