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


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.