Як визначити, несправний новий мікроконтролер?


11

Я ніколи не мав справу з тим, що частини були несправними протокою з digikey, але 3 нові Atmel ATmega164A, які я отримав, проявляли надзвичайно дивну поведінку.

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

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


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


Редагувати №2: Після подальшого дослідження виявляється, що мікроконтролер починає діяти після певного розміру програмипоріг. Проект з голими кістками з єдиним вихідним файлом, що блимає світлодіодом, здається нормальним, але компіляція та зв’язування будь-якого з моїх інших файлів (скажімо, бібліотеки UART чи будь-чого іншого), навіть не здійснюючи виклик функції до цих методів, змушує мікроконтролер поводитись у описана поведінка вище. Підключення до електроживлення нормально, і належне роз'єднання виконано. На даний момент я не маю часу налагоджувати це питання, тому ми замість цього продовжили версію з низькою потужністю. Я не впевнений, де саме проблема може бути або 1) 164A і 164P не сумісні з кодом. 2) Процедура програмування відрізняється для цих двох UC 3) Одиниці несправні. Я впевнений у нашому дизайні ради і виключив би питання з владою. На жаль, я не можу вибрати правильну відповідь, тому я залишу це питання таким, яким є - можливо, я ' я знову повернуся до проблеми. Дякуючи всім, хто надав проникливі коментарі чи відповіді, вони можуть бути корисними для когось іншого з питаннями, пов'язаними з УК.


Не пов'язане безпосередньо з вашим запитанням, але варто згадати. Багато виробників ІС мають сторінку Errata, яку вони випускають, коли знаходять помилки в певних змінах кремнію. Мене кілька разів спіймала відома помилка, що була в ерраті, яку я ніколи не перевіряв. Зазвичай це не такі великі речі, як годинник, які не працюють, і зазвичай пропонують певну роботу. Але у вашому випадку невідома еррата.
— Kellenjb

1
@jon, якщо версія з більшою потужністю зламана, і версія з меншою потужністю працює, є ймовірність, що ви не роз'єднаєте свою схему добре, і у неї виникнуть проблеми з цілісністю живлення.
— Кортук

@Kellenjb, "Немає відомих помилок" для цієї моделі в аркуші (останній лист описується, 06/11). Безумовно, варто згадати хоча будь-якими способами, дякую.
— Джон L

@Jon Yeah, саме це я мав на увазі під назвою "Але у вашому випадку немає відомих помилок".
— Kellenjb

1
Я другий, що сказав Кортук. Це пахне моїм джерелом живлення або роз'єднанням.
— Олін Латроп

Відповіді:


3

Такий збій рідко трапляється. Ви можете очікувати, що ви побачите трохи більше шуму на штифті, або будете мати його зовсім не функціонально. Але мати це «дещо працювати, але не корисно» - це рідкість. Я б підозрював, що є проблеми з дизайном, які викликають проблеми, і щось пов'язане з різницею між 164A і 164P. Оскільки тремтіння велике, я б розглядав речі, що стосуються влади. Чи всі шнури живлення / gnd підключені? Чи штифти вводу / виводу приводяться в рух або піднімаються високо або низько? І т.д.

Але все ще залишається можливість, що деталі погані. Це рідко, але не нечувано. Єдиний реальний спосіб сказати - отримати ще кілька деталей від іншого постачальника та спробувати їх. Якщо вони працюють, то вам потрібно додатково дослідити і побачити, чи ви вбили їх під час обробки / пайки або чи справді вони походили з Digikey погано.


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

підключення, все перевіряється. Я відредагую питання, щоб надати більш детальну інформацію ...
— Jon L

2

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

Немає простого способу перевірити точність осцилятора без програмування деталей, тому я просто напишу тривіальну програму перемикання портів (ту, яка нічого не робить, окрім викручування лінії вводу / виводу), і запросити когось іншого програмувати деталі, бажано з різними програмними засобами програмування. Після перевірки хитання ви можете перевзначити власний код і побачити, чи проблема не зникає.


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