Upalony MOSI w USBasp -- powtarzalne

Sep 10, 2020 6 Replies

Jest ATtiny25, taktowany zewnętrznym kwarcem (16 MHz). Na pinie MOSI tenże ATtiny generuje przebieg -- docelowo sinus przez PWM, chwilowo po prostu PWM 8 MHz.



Podczas eksperymentów upaliłem pin MOSI w programatorze USBasp -- ma zwarcie do plusa, na oscyloskopie widać tam 5V z drobnymi spadkami, tak jakby górny tranzystor w push-pull programatora miał przebicie.



Zdarza się. Kupiłem drugi programator, podłączyłem i... jest to samo. Nie wykrywa tego AVRa, innego (czystego) też nie wykrywa, na oscyloskopie widzę ten sam objaw z MOSI. Szkoda, że nie sprawdziłem wcześniej na czystym AVR, tylko od razu podłączyłem do tego.



Sam MOSI (jak i inne piny) jest odłączony od reszty układu (jumper), to goły AVR, zasilany z programatora.



Zanim kupię trzeci programator (i może dodam rezystory na liniach programujących) -- ktoś się z tym spotkał? Czy przebiegi szybkozmienne (bliskie 8 MHz) na tym pinie mogą powodować taki problem? Przebieg jest oczywiście tylko dopóki programator nie włączy resetu, więc to nie powinno mieć wpływu, ale drugi upalony programator to nie przypadek.


Pytanie czy programator utrzymuje linie MOSI/MISO/CLK w stanie wysokiej impedancji jeśli nie programuje układu. Jeśli nie to tylko szeregowe rezystory cię uratują.

Logika nakazywałaby, żeby utrzymywał, a czy utrzymuje, to będę musiał sprawdzić... ciekawe, że ja go używałem z 10 lat, zaprogramowałem dziesiątki jak nie setki AVR-ów, i nigdy nie było problemu.

Queequeg snipped-for-privacy@trust.no napisa³(a):

Jakby co¶, to mogê odst±piæ taki z buforem:

formatting link

Jest to jakaś opcja :) Na razie kupiłem dwa kolejne, dodam rezystory i zobaczę, może wystarczy.

Pamiętam, że kiedy uczyłem się programowania MCU właśnie na AVR-ach, podręczniki z których korzystałem (a może materiały z sieci?) polecały, żeby w przypadku stosowania tych linii czegoś innego niż ISP i SPI stosować bufory trójstanowe. Chodziło właśnie m.in. o sytuację, kiedy coś (np. przycisk) może zewrzeć wyjście programatora do masy.

Ok, ale tu nie było nic innego, tylko MCU. Tak czy inaczej problem się rozwiązał. Okazało się (najprostsza rzecz, aż wstyd), że kabelek programujący był uszkodzony...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required