Hallo,

Zoals de titel zegt dus. Ik lees in een PIC tutorial dat alvorens SLEEP te doen, de pinnen best in tristate worden gezet (input dus). Is er dan een verschil met output low? Dat geeft toch 0 V en aangezien hetgene aangesloten is aan dezelfde grond hangt, kan er toch geen stroom lopen?

Joris

Ja op die manier, maar dan moet dat andere ding al op een hogere spanning werken?

Ik dacht meer aan een outputpin die uitkomt op een mosfet gate of transistor basis. Door output te houden zou ik geen pulldown aan de gate moeten voorzien dan?

Inderdaad, een datasheet kan geen rekening houden met jou toepassing.

Daarbij, het kan zijn dat er iets klappert aan de uitgang bij het ingaan van de sleep, en dat juist daarom de boel eerst tristate gemaakt moet worden. Is er een reden om niet te doen wat de datasheet als suggestie geeft?

edit (nav jouw nieuwe post): blijft die uitgang wel 0 dan, na het ingaan van sleep?

[Bericht gewijzigd door Jochem op (13%)]

In de datasheet vind ik hier niets specifieks over. Enkel :

"I/O pins
that are high-impedance inputs should be pulled high
or low externally to avoid switching currents caused by
floating inputs."

Dus als ik dat lees zou het net beter zijn om een poort output te houden zodat geen pulldown weerstand op een transistorbasis nodig is?

Jochem, wat bedoel je? In de datasheet staat dat poorten hun staat behouden. Het zijn toch gewoon CMOS uitgangen, waarom zou die niet gewoon 0 blijven als ik hem 0 had gezet?

Het is mogelijk, dat de PIC in zijn sleep-mode iets minder stroom verbruikt als zijn pinnen als ingang geschakeld zijn - dat zal je in de datasheet moeten opzoeken.
Zoiets heeft uiteraard enkel belang bij batterij-voeding, zeker als je het onderste uit de kan wil halen. In dat geval dien je uiteraard pull-up of pull-down weerstanden te voorzien waar dat nodig is.

Als het verbruik niets uitmaakt, kan je de I/O-pinnen gewoon in hun gewenste toestand laten staan bij het ingaan v/d sleep-mode. Het zou wel al te gek zijn, moesten ze daardoor willekeurig veranderen...

Op 28 september 2009 16:56:24 schreef taddam:
Jochem, wat bedoel je? In de datasheet staat dat poorten hun staat behouden. Het zijn toch gewoon CMOS uitgangen, waarom zou die niet gewoon 0 blijven als ik hem 0 had gezet?

Dan is er verder geen probleem, ik heb die datasheet niet gelezen.

Jochem, wat bedoel je? In de datasheet staat dat poorten hun staat behouden. Het zijn toch gewoon CMOS uitgangen, waarom zou die niet gewoon 0 blijven als ik hem 0 had gezet?

Een poort "0" houden kost meer stroom dan hem in tri-state houden. Bovendien citeer je een stukje over floating INPUTS, geen outputs.

Groeten, Bram

Dag Bram,

Onder welke sectie in een PIC datasheet valt zoiets terug te vinden? Bij DC characteristics staat niks over pinnen, enkel dat een input max 1 uA lekt. Over hoeveel extra bij output 0 heb je het dan?

Onder welke sectie in een PIC datasheet valt zoiets terug te vinden?

Dat is niet PIC specifiek, maar algemeen. Als je een uitgang van een microcontroller (of ander IC) naar "0" moet trekken moet je daar een tor voor aansturen die vervolgens een pull-up weerstand naar beneden trekt, dat kost beide stroom. Tri-state hoeft dat niet en daar is de uitgang dan ook "ongedefinieerd" ofwel hangt gewoon "open".

Wat dat in stroom specifiek voor de PIC doet zul je moeten meten.

Groeten, Bram

Maar in CMOS technologie zijn er ten eerste toch geen transistoren en ten tweede geen geen pull weerstanden? (Of bedoel je wat er komt in het blokje dat schakelt tussen in/out ?). De hele zaak van CMOS is nu net dat er enkel verbruik is tijdens schakelen.

Op 28 september 2009 16:56:24 schreef taddam:
In de datasheet vind ik hier niets specifieks over. Enkel :

"I/O pins
that are high-impedance inputs should be pulled high
or low externally to avoid switching currents caused by
floating inputs."

Tri-state is géén output low, maar output impedantie 'oneindig'. Het simuleert een niet aangesloten output. Dat kan in sommige gevallen 0-1 'kortsluitingen' - m.n. tijdens het schakelen ( bijvoorbeeld schakelovergangen, die vaak bij CMOS optreden) - vermijden

Misschien is dit duidelijker dan de vorige beschrijving.