Как определить, неисправен ли новый микроконтроллер?


11

Я никогда не имел дело с частями, являющимися дефектными проливами от DigiKey, но 3 новых Atmel ATmega164A, которые я получил, демонстрировали чрезвычайно странное поведение.

Я сузил его до некоторой степени, связанного с тактовой частотой, и оказалось, что результирующий тактовый сигнал от предположительно «откалиброванного на заводе» внутреннего генератора колебался между 650-700 кГц, а не на 1 МГц, как это должно быть. Я смог записать в калибровочный байт, чтобы получить это очень близко к 1 МГц (все еще с некоторым дрожанием), и большинство вещей работает, но UART просто не работают должным образом, они, кажется, выдают непрерывный поток коротких импульсов независимо от того, что вы просите их сделать.

Раньше я имел дело с маломощной версией этого микроконтроллера (164P) с нулевыми проблемами и решил сбросить ее на месте и проверить выход тактовой частоты на нем, и он имеет твердую частоту 1 МГц без дрожания. Я склоняюсь к выводу, что эти чипы 164A неисправны, но есть ли какие-либо другие тесты, которые я мог бы попытаться подтвердить, что?


Изменить: Просто думал, что я опишу процесс, с помощью которого я измеряю часы. Я включил разрядный предохранитель тактового выхода и измерил соответствующий вывод с помощью выборки логического анализатора с очень высокой скоростью. У меня есть программа, которая записывает данные в регистр калибровки, OSCCALи я смог пробовать и ошибаться до 1 МГц.


Редактирование # 2: После дальнейшего исследования, похоже, что микроконтроллер начинает работать после определенного размера программыпорог. Пустой проект с единственным исходным файлом, мигающим светодиодом, кажется нормальным, но компиляция и компоновка любых других моих файлов (например, библиотеки UART или чего-либо еще) без вызова функции для этих методов приводит к тому, что микроконтроллер ведет себя в описанное поведение выше. Подключения питания в порядке, и было выполнено правильное разделение. У меня нет времени на дальнейшую отладку в данный момент, поэтому вместо этого мы пошли на версию с низким энергопотреблением. Я не уверен, где именно может быть проблема: 1) 164A и 164P несовместимы с кодом 2) Процедура программирования для этих двух контроллеров различна. 3) Блоки неисправны. Я уверен в дизайне нашей платы и исключил бы проблемы с питанием. К сожалению, я не могу действительно выбрать правильный ответ, поэтому я оставлю этот вопрос как есть - может быть, я Я вернусь к проблеме снова в будущем. Спасибо всем, кто предоставил проницательные комментарии или ответы, они могут быть полезны для кого-то еще с проблемами ОК из коробки.


Не имеет прямого отношения к вашему вопросу, но стоит упомянуть. Многие производители микросхем имеют страницу ошибок, которую они выпускают, когда обнаруживают ошибки в определенных версиях кремния. Я был несколько раз пойман известной ошибкой, которая была в ошибках, которые я никогда не проверял. Обычно это не такие большие вещи, как часы, которые не работают, и, как правило, предлагают некоторую работу. Но в вашем случае нет известных ошибок.
Kellenjb

1
@jon, если версия с более высоким энергопотреблением вышла из строя, а версия с более низким энергопотреблением работает, есть вероятность, что вы плохо отсоединяете свою цепь, и у нее возникают проблемы с целостностью питания.
Кортук

@Kellenjb, "Нет известных опечаток" для этой модели в техническом описании (последний документ, который появляется, 06/11). Конечно, стоит упомянуть хоть какие-то способы, спасибо.
Джон Л

@Jon Да, это то, что я имел в виду под «Но в твоем случае нет известных ошибок».
Kellenjb

1
Я буду вторым, что сказал Кортук. Это пахнет как проблемы с питанием или разъединение для меня.
Олин Латроп

Ответы:


3

Такой провал случается редко. Вы можете ожидать, что на выводе будет немного больше шума, или этот вывод будет полностью неработающим. Но иметь его «в какой-то мере, но не полезным способом» редко. Я подозреваю, что есть проблемы дизайна, которые вызывают проблемы, и имеют какое-то отношение к разнице между 164A и 164P. Поскольку джиттер высок, я бы посмотрел на связанные с силой вещи. Все ли контакты питания / gnd подключены? Штырьки ввода / вывода находятся в состоянии движения или тянут высоко или низко? И т.п.

Но все еще остается вероятность того, что запчасти плохие. Это редко, но не случайно. Единственный реальный способ узнать это - получить еще несколько деталей от другого поставщика и попробовать их. Если они работают, то вам нужно провести дальнейшее расследование и посмотреть, убили ли вы их при обработке / пайке или они действительно были плохими от Digikey.


2
Я все проверю, когда у меня будет шанс. Я тоже скептически отношусь к своему собственному заключению, идея о том, что это не будет поймано на заводе или вероятность того, что он был поврежден в переходный период, представляется крайне маловероятной ... сообщит.
Джон Л

в отношении соединений все проверяется. Я отредактирую вопрос, чтобы предоставить более подробную информацию ...
Джон Л

2

Однажды у меня была очень похожая проблема с базовыми частями микрочипа. Мы испортили программирование ICSP и нашли способ стереть подстройку генератора, что привело к грубым ошибкам в точности внутренних часов. Убедитесь, что ваше устройство программирования и / или инструменты программирования подключены правильно и используются правильно.

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


Я включил бит предохранителя выходного сигнала синхронизации, и он подает сигнал синхронизации на вывод PORTB. Это то, что я выбираю для определения точности генератора / тактовой частоты. Я дважды проверю процесс программирования и инструменты, спасибо.
Джон Л
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.