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?