AtMega 238p IO syö virtaa

Olisiko joku törmännyt tämmöiseen.

Käytän AtMegan pinnejä Digital pin 7 ja 8 (piirin nastat 13 ja 14) sarjaliikenteeseen, middlewarena NewSoftSerial. Ohjaan gsm-modeemia. Kaikki menee OK, mutta kun kytken modeemin Rx ja Tx -piuhat mikrokontrollerin nastoihin, niin lepovirtaan menee noin 150 uA, oli modeemi päällä tai ei. Eli virransyönti alkaa, kun kytken piuhat kiinni kontrollerin nastoihin. Normaalitilassa (sleep mode) virrankulutus on oleellisesti pienempi, mutta nousee heti kun piuhat panee kiinni.

Ei tämä maailman isoin ongelma ole, mutta kuitenkin. Olisiko jotain kikkaa, jolla tämä “ylimääräisen” virransyönnin saisi pois? Brutaali ratkaisu olisi laittaa rele kytkemään modeemi pinneihin kiinni, kun laite herää sleep modesta (ja alkaa syöttää modeemille käyttöjännitettä), mutta löytyisiköhän joku elegantimpi ratkaisu? Isoja virityksiä en haluaisi enää tehdä, koska paketti toimii nyt muutoin hyvin.

Ja tuon GSM-piirin “vuotaminen” on kenties juuri tuo mainitsemasi?
Jos kyllä, niin sit aika hankala varmaan muokata ilman sen radikaalimpeja toimenpiteitä…

GSM-mokkulaan menevät piuhat menevät ilmeisesti suoraan jollekin piirille, joka ymmärtää TTL-tason signaalia. ATmegan manuaali sanoo, että ei resistiivistä lastia pinneille… no joo. Voin kyllä elää tämän virranhassauksen kanssa, mutta PERIAATTEESSA harmittaa vähän.

Olethan asettanut kyseiset pinnit inputeiksi ja disabloinut ylösvetovastukset ja kyseisissä pinneissä olevat oheislaitteet (jos mitään), ennen kun menet sleeppiin?