Kann man einen AVR-Port auf 1 initialisieren?

Gast #3234416
Lesenswert?

Hallole,
geht das eigentlich mit nem AVR, daß er nach dem Reset einen 
Ausgangsport auf direkt HI schaltet, ohne ein vorausgehendes LO?

Ich meine, nach dem Reset wird der Port ja auf als hochohmiger Eingang 
geschaltet, vor dem DDR_B0=1 kann dem Port ja keinen Ausgangszustand 
zuweisen, so daß der zumindest für einen Takt Stromsenke (LO) ist? Das 
würde an einem angeschlossenen Gerät möglicherweise eine Fehlfunktion 
auslösen.
Gast #3234423
Lesenswert?

Hi

>geht das eigentlich mit nem AVR, daß er nach dem Reset einen
>Ausgangsport auf direkt HI schaltet, ohne ein vorausgehendes LO?

Nach dem Reset ist der PIN Eingang. Also weder Hi noch Lo.

>Das würde an einem angeschlossenen Gerät möglicherweise eine Fehlfunktion
>auslösen.

Dann bringe den Pin mit einem externen Pull-Up-Widerstand auf einen 
definierten Pegel.

MfG Spess
Gast #3234428
Lesenswert?

batman schrieb:

> geht das eigentlich mit nem AVR, daß er nach dem Reset einen
> Ausgangsport auf direkt HI schaltet, ohne ein vorausgehendes LO?

Natürlich.

ldi R16,$ff
out PORTX
out DDRRX

Allerdings ist der Port für einen Takt nicht niederohmig HI, sondern nur 
über Pullups. Bei praktisch allen Logikfamilien, die man anschließen 
könnte reicht aber auch das Pullup-HI bereits sicher aus, um von diesen 
als HI "gesehen" zu werden.

Allerdings könnte es u.U. Schwierigkeiten geben, wenn über einen FET am 
Pin  direkt größere Lasten gesteuert werden. Die Eingangskapazität des 
FET zusammen mit dem Pullup stellt eine RC-Zeitkonstante dar. Bei 
ungünstiger Kombination der Werte könnte der FET innerhalb des einen 
Taktes in einen "halbleitenden" Zustand geraten. Ist er auch noch 
leistungsmäßig so "auf Kante genäht", daß er im sauberen Schaltbetrieb 
gerade so ausreicht, könnte er dadurch zerstört werden.

Es ist zwar relativ unwahrscheinlich, daß sowas passiert, aber man 
sollte es wenigstens durchrechnen und ggf. einen anderen FET wählen, mit 
dem man auf der sicheren Seite ist.
Gast #3235399
Lesenswert?

c-hater schrieb:
> Die Eingangskapazität des
> FET zusammen mit dem Pullup stellt eine RC-Zeitkonstante dar. Bei
> ungünstiger Kombination der Werte könnte der FET innerhalb des einen
> Taktes in einen "halbleitenden" Zustand geraten.

Wäre das so schlimm?
Schließlich ist der FET vor dem Einschalten kalt, da ausgeschaltet und 
damit hat er selbst bei knapper Auslegung eine Reserve für die Energie, 
die während dieses einen Taktes umgesetzt wird. Natürlich sollte man das 
Setzen von PORT und DDR als atomare Operation kapseln.
Gast #3235452
Lesenswert?

Mike schrieb:

> Wäre das so schlimm?

Wie schon gesagt: es ist ziemlich unwahrscheinlich, daß wirklich was 
abraucht, es ist aber eben auch definitiv nicht unmöglich.

Deswegen erneut meine Empfehlung: Einfach den worst case für die 
konkrete Schaltung selber durchrechnen. Oder vielmehr von Tools wie 
LTSpice durchrechnen zu lassen. Zum Glück braucht man sowas heutzutage 
ja nicht mehr mit Papier und Rechenschieber zu machen. Mein Gott, wenn 
mich jemand heute dazu zwingen würde, wäre ich auch erstmal ganz schön 
aufgeschmissen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren