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