User Tag List

Показано с 1 по 10 из 421

Тема: Тестер микросхем на ATMega16/32

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    192
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    14 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Trol73,
    По поводу шаманства с выводами в Z-состоянии - кмк, это все слишком ненадежно
    Внутренние элементы микросхем и дорожки на печатной плате имеют некоторую ёмкость, если этот конденсатор зарядить или разрядить, подтягивающих резисторов и открытых транзисторов с ним не связано, то своё состояние он будет сохранять достаточно долго, чтобы его можно было считать в следующем такте(DRAM кстати тоже на конденсаторах). Проблема только с большой ёмкостью, мы не можем выдать слишком длинный импульс для заряда, поскольку не знаем, нет ли там открытых транзисторов и не устроим ли мы КЗ.

    До начала тестов и подключения микросхемы к земле и питанию можно просканировать все возможные пары выводов и составить матрицу в которой будет указано ведёт ли себя эта пара как диод. Сканирование выполняется следующим образом: все выводы находятся в режиме входов, на каждый вывод по очереди подаём высокий(низкий) уровень, а на все остальные(тоже поочерёдно) выдаём короткий импульс низким(высоким) уровнем, и сразу считываем, если вернулся обратно, значит там что-то похожее на диод. Если подав на вход A высокий уровень, мы его наблюдаем на входе B, а подав на вход B низкий уровень мы его наблюдаем на входе A, то значит точно похоже на диод. Для КМОП-микросхем с защитными диодами матрицы скорее всего будут одинаковые, но строки и столбцы соответствующие питанию должны быть видны явно, а вот ТТЛ-микросхемы скорее всего будут от КМОП и друг друга отличаться. На равенство сравнивать полученную матрицу с матрицами в базе данных конечно нельзя, но можно искать наиболее похожую.

    достаточно конечного количества тестов. В любом случае, этот вопрос решается добавлением новых команд в язык описания тестов.
    Конечного количества тестов может быть достаточно для распознавания микросхемы, но полноценным тестированием это назвать сложно. К примеру память, достаточно ли записать/прочитать 1, 10, 100 ячеек? Ясное дело что всех комбинаций тут не перебрать, но проверить что все ячейки способны сохранять различную информацию, что она не стирается вдруг при особой комбинации адреса/данных, очень желательно.
    Хотя если в описание тестов добавить команды организации циклов, переменные, арифметические операции, возможность присваивания разрядов переменной "списку ног" и наоборот, то можно будет счётчики, сдвиговые регистры и память более полноценно проверять. Z-состояние тоже желательно проверять, микросхемы такие используются, да и сделать несложно.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    352
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    63
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от blackmirror Посмотреть сообщение
    Внутренние элементы микросхем и дорожки на печатной плате имеют некоторую ёмкость, если этот конденсатор зарядить или разрядить, подтягивающих резисторов и открытых транзисторов с ним не связано, то своё состояние он будет сохранять достаточно долго, чтобы его можно было считать в следующем такте(DRAM кстати тоже на конденсаторах). Проблема только с большой ёмкостью, мы не можем выдать слишком длинный импульс для заряда, поскольку не знаем, нет ли там открытых транзисторов и не устроим ли мы КЗ.
    Да, но если я не ошибаюсь, то дорожка на плате - это не только конденсатор, но еще и антена, на которую можно поймать все, что угодно, от ближайшего wi-fi, до пролетающих в соседней галактике звездолета. Причем, разные дорожки имеют разную длину и геометрию.
    Цитата Сообщение от blackmirror Посмотреть сообщение
    Конечного количества тестов может быть достаточно для распознавания микросхемы, но полноценным тестированием это назвать сложно. К примеру память, достаточно ли записать/прочитать 1, 10, 100 ячеек? Ясное дело что всех комбинаций тут не перебрать, но проверить что все ячейки способны сохранять различную информацию, что она не стирается вдруг при особой комбинации адреса/данных, очень желательно.
    Хотя если в описание тестов добавить команды организации циклов, переменные, арифметические операции, возможность присваивания разрядов переменной "списку ног" и наоборот, то можно будет счётчики, сдвиговые регистры и память более полноценно проверять. Z-состояние тоже желательно проверять, микросхемы такие используются, да и сделать несложно.
    Для памяти, очевидно, надо, как минимум, записать 0 и 1 во все ячейки. Но при этом, очевидно, что мы навряд ли сможем в 32кб ОЗУ записать вообще все возможные комбинации. А для регистров, подозреваю, достаточно записать все нули, все единицы и комбинации вида 01010101 и 10101010. Проверять все 256 сочетаний, думаю, тут не обязательно.

    Для проверки выводов с ОК и Z-состояний мы решили использовать резисторы подтяжки к земле (резисторы подтяжки к питанию есть в AVR). Подтягивая поочередно к земле и питанию мы можем попробовать угадать входы и выходы тестируемой МС. И таким образом попытаться на первом шаге отсеять большую часть заведомо ненужных тестов.

    Прикрепил схему основного модуля тестера.
    Вложения Вложения

  4. #3

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    965
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    140
    Поблагодарили
    75 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Trol73, а в какой проге делали предыдущий проект, а то в AtmelStudio 6 жму Build - какая-то ерунда выскакивает, в WinAVR пытался скомпилить - сплошные ошибки! С AtmelStudio вообще не работал (жуткий монстр!), ради этого проекта поставил, поэтому может где-то чего-то не настроил?

  5. #4

    Регистрация
    07.05.2015
    Адрес
    г. Ульяновск
    Сообщений
    352
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    63
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Изначально делал в в AtmelStudio 7. Но, во-первых, она только под Windows. А во-вторых, после ее обновления как-то словил кучу проблем.
    В итоге, перешел на NetBeans - хоть и монстр, зато открытый и кроссплатформенный. Его использовал как удобный текстовый редактор.
    Для сборки проектов запилил свою утилитку на питоне: http://trolsoft.ru/ru/soft/avr-builder. Проверял под Windows и MacOS.
    Тестер собирается ей (см. файл make.builder).

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Тестер микросхем динамической памяти.
    от stealth_w в разделе Оборудование
    Ответов: 16
    Последнее: 28.09.2014, 10:43
  2. AY + тестер = нужна помощь!
    от Black_Cat в разделе Звук
    Ответов: 3
    Последнее: 16.07.2011, 22:17
  3. ТЕСТЕР микросхем логики
    от Mikka_A в разделе Оборудование
    Ответов: 29
    Последнее: 19.03.2007, 22:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •