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.
Kannst du nicht beim Test den Pullup einschalten und dann den Portstatus lesen? (Falls 0 wurde extern gegen GND gezogen).
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.
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...
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.