Nigdy nie miałem do czynienia z częściami będącymi wadliwymi cieśninami od digikey, ale 3 nowe Atmel ATmega164A, które otrzymałem, wykazują bardzo dziwne zachowanie.
Zawęziłem go do czegoś związanego z zegarem i okazało się, że wynikowy sygnał zegarowy z rzekomo „fabrycznie skalibrowanego” wewnętrznego oscylatora drga między 650-700 kHz zamiast solidnego 1 MHz, jaki powinien być. Byłem w stanie zapisać bajt kalibracyjny, aby uzyskać to bardzo blisko 1 MHz (nadal z pewnym drganiami) i większość rzeczy działa, ale UART po prostu nie zachowują się prawidłowo, wydają się wytwarzać ciągły strumień krótkich impulsów bez względu na to o co ich poprosisz.
Miałem wcześniej do czynienia z wersją tego mikrokontrolera o niskiej mocy (164P) z zerowymi problemami i postanowiłem go upuścić na miejscu i sprawdzić na nim wyjście zegara, a także jego solidny 1 MHz bez zakłóceń. Przechylam się do wniosku, że te układy 164A są wadliwe, ale czy byłyby jakieś inne testy, które mógłbym to potwierdzić?
Edycja: Pomyślałem, że opiszę proces, według którego mierzę zegar. Włączyłem bit bezpiecznika wyjściowego zegara i zmierzyłem odpowiedni pin przy pomocy próbkowania analizatora logicznego z bardzo dużą szybkością. Mam program, który zapisuje się w rejestrze kalibracji OSCCAL
i byłem w stanie przetestować i naprawić moją drogę do 1 MHz.
Edycja # 2: Po dalszych badaniach wydaje się, że mikrokontroler zaczyna działać po określonym rozmiarze programupróg. Projekt z otwartymi kośćmi, w którym pojedynczy plik źródłowy miga diodą LED, wydaje się być w porządku, ale kompilowanie i łączenie w dowolnym innym moim pliku (powiedzmy w bibliotece UART itp.) Bez wywoływania funkcji do tych metod powoduje, że mikrokontroler zachowuje się w opisane zachowanie powyżej. Połączenia zasilania są w porządku i zastosowano właściwe odsprzęganie. W tej chwili nie mam czasu na debugowanie, więc zamiast tego wybraliśmy wersję o małej mocy. Nie jestem pewien, gdzie dokładnie może być problem 1) 164A i 164P nie są kompatybilne z kodem 2) Procedura programowania jest inna dla tych dwóch komputerów uC 3) Jednostki są wadliwe. Jestem przekonany co do projektu naszej płyty i wykluczę problemy z zasilaniem. Niestety, nie mogę naprawdę wybrać prawidłowej odpowiedzi, więc pozostawię to pytanie bez zmian - może „ Wrócę do problemu w przyszłości. Dzięki wszystkim, którzy dostarczyli wnikliwe komentarze lub odpowiedzi, mogą być przydatne innej osobie z problemami związanymi z UC.