Forum: Mikrocontroller und Digitale Elektronik Output gegen Output: was passiert?


von Dietmar (Gast)


Angehängte Dateien:

Lesenswert?

Was passiert, wen man den Ausgang eines AVR für sehr kurze Zeit gegen 
den Ausgang eines anderen IC schaltet? Kurzschluss und Port (oder mehr) 
sofort kaputt?

Ausgangspunkt ist, dass die 1. und 2. Platinenrevision meines Projekts 
an A4, A5, A6, A7 jeweils einen anders belegten SPI-Bus verwenden. Ich 
würde gerne die gleiche Firmware verwenden und per Test entscheiden, 
welche Hardware vorliegt. Beim Test würde aber kurz Ausgang gegen 
Ausgang arbeiten:

Die erste Revision hatte dort zwei IC (MAX667x) und Datenübertragug nur 
zum AVR, die zweite Revision hat bidirektionale Übertragung zu einem IC 
(AD7792). Die ICs beider Revisionen sind direkt mit AVR-Ports verbunden. 
Ich wollte den AD7792 der Revision 2 takten und sehen, ob Daten 
ankommen. Der Takt an A6 würde aber bei Revision 1 gegen den MISO-Output 
eines IC arbeiten.

von Rintintin R. (rintintin)


Lesenswert?

Im Zweifelsfalle Schutzwiderstände verwenden.

von Simon K. (simon) Benutzerseite


Lesenswert?

Kannst du nicht beim Test den Pullup einschalten und dann den Portstatus 
lesen? (Falls 0 wurde extern gegen GND gezogen).

von Dietmar (Gast)


Lesenswert?

Die Platine ist fertig, Schutzwiderstände bekomme ich nicht mehr rein. 
Ich hatte an den CS-Leitungen der 1. Revision externe Pull-Up. Wenn es 
Pull-Downs gewesen wären, hätte ich sie jetzt mit den schwachen Pull-Ups 
im AVR detektieren können. Aber da der AVR keine Pull-Downs hat, komme 
ich so leider nicht weiter.

von Sven (Gast)


Lesenswert?

Kannste doch trotzdem nutzen: A5 als Ausgang und low => muss low geben, 
A5 als Eingang und tristate => bei V1 mit Pull-up ergibt sich high, bei 
V2 ohne Pull-up low, A5 als Eingang und interner Pullup aktiv => muss 
high ergeben, sonst Fehler

Musst nur bei den Zeiten schauen, wie lange der externe Pull-up braucht, 
um den Pin zuverlässig nach dem low auf high zu ziehen, und wie lange 
der Pin ohne Pull-up zuverlässig als low erkannt wird. Tendenziell 
laufen Tristate-Pins beim AVR gegen Vcc, aber das dauert paar Sekunden. 
Hängt natürlich von der externen Beschaltung ab, und ist möglicherweise 
störempfindlich.

Ich würds nicht gern so machen, aber wenn Du keine andere Möglichkeit 
hast...

von Dietmar (Gast)


Lesenswert?

Um auf die Frage zurückzukommen: was passiert bei Ausgang gegen Ausgang? 
Haben ICs mit SPI-Interface vieleicht sowieso interne Serienwiderstände 
(am SPI-Bus könnte so etwas ja schon mal passieren) oder andere 
Massnahmen zur Strombegrenzung und falls ja, wäre das im 
Ersatzschaltbild der ICs eingezeichnet oder gibt es einen Eintrag im 
Datenblatt, aus dem man dazu Rückschlüsse ziehen kann?

von Falk B. (falk)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.