Witajcie. Ten kto bawi się xmegami wie że można je w bardzo fajny sposób programować przez flip'a i kabel USB bez żadnych programatorów. Bardzo jest to wygodne lecz wymaga przytrzymania jednego pinu w stanie niskim i w tym samym czasie zresetowania procka aby on przeszedł do sekcji bootloadera. Na moje potrzeby chcę wyeliminować ten przycisk ustawiający stan niski pinu i resetowanie ręczne dlatego stworzyłem mały układzik który działa tak jak należy ale ma jedną wadę która nie wiem czy jest dopuszczalna. Schemat w załączniku.
Działanie:
Podczas normalnej pracy układu xmega ma pin reset i pin umożliwiający przejście do programowania w stanie wysokim (pull up do 3V3).
Kiedy podłączy się kabel USB pojawi się napięcie +5V (na schemacie z prawej strony, zapomniałem zaznaczyć) które przez tranzystor spowoduje stan niski na pinie IO.
Dalej jako że ten pin IO jest wejściem mogę wykryć to "0" i zareagować na nie programowym resetem układu co spowoduje przejście procesora w stan programowania USB.
W chwili odłączenia kabla USB pin IO z powrotem będzie w stanie wysokim a przez kondensator pojawi się na chwile niski stan na resecie czego następstwem będzie reset układu i dalej wykonywanie właściwego programu.
Wszystko przeanalizowałem na biurku i po testach z oscyloskopem wykryłem mały problem w chwili załączenia kabla USB z 5V. Na pinie reset pojawia się napięcie ok 4,8V na czas jakichś 38ms. Czy jest to dozwolone dla xmegi? czy muszę to jakoś zabezpieczyć diodą zenera czy jakoś inaczej?
Wiem że atmegi podczas programowanie HV na reset podaje się 12 V i nic im sie nie dzieje a tutaj ni mogę znaleźć żadnych info na temat max napięcia resetu wiem jedynie że na IO można dać VCC+0,5V.
Dorzucam jeszcze rzut z oscyloskopu, żółty to sygnał na pinie resetu a niebieski to na IO.
Działanie:
Podczas normalnej pracy układu xmega ma pin reset i pin umożliwiający przejście do programowania w stanie wysokim (pull up do 3V3).
Kiedy podłączy się kabel USB pojawi się napięcie +5V (na schemacie z prawej strony, zapomniałem zaznaczyć) które przez tranzystor spowoduje stan niski na pinie IO.
Dalej jako że ten pin IO jest wejściem mogę wykryć to "0" i zareagować na nie programowym resetem układu co spowoduje przejście procesora w stan programowania USB.
W chwili odłączenia kabla USB pin IO z powrotem będzie w stanie wysokim a przez kondensator pojawi się na chwile niski stan na resecie czego następstwem będzie reset układu i dalej wykonywanie właściwego programu.
Wszystko przeanalizowałem na biurku i po testach z oscyloskopem wykryłem mały problem w chwili załączenia kabla USB z 5V. Na pinie reset pojawia się napięcie ok 4,8V na czas jakichś 38ms. Czy jest to dozwolone dla xmegi? czy muszę to jakoś zabezpieczyć diodą zenera czy jakoś inaczej?
Wiem że atmegi podczas programowanie HV na reset podaje się 12 V i nic im sie nie dzieje a tutaj ni mogę znaleźć żadnych info na temat max napięcia resetu wiem jedynie że na IO można dać VCC+0,5V.
Dorzucam jeszcze rzut z oscyloskopu, żółty to sygnał na pinie resetu a niebieski to na IO.
