Hi,
ich möchte gerne Hardwaremäßig erkennen, ob an meiner Schaltung ein
serielles Kabel bzw. ein aktiver PC angeschlossen ist.
Dachte ich verwende das DTR (pin4) vom Kabel und überwache das per
Optokoppler.
Gibts da irgendwelche Einwände, das es hier zu Problemen kommen könnte?
Möglich sollen alle standard seriellen 9-pol Kabel funktionieren können.
Gruß Marc989
Klar, aber der Max232 verbraucht im zuviel Strom.
Habe für mein Projekt den Max222 eingeplant, aber auch der braucht
0,3mA, aber er hat auch diesen SHUTDN, mit dem lässt er sich auf 3uA im
Ruhezustand schalten.
So, und daraus will ich ihn und den Mikrocontroller aufwecken, wenn ein
Kabel gesteckt ist.
Gruß Marc989
Marc989:
schau dir mal den MAX3221 an, der hat einen auto-shutdown, laut
datenblatt, dann nur noch 1uA;
Wenn was auf der RS232 Leitung los ist, waked er wieder auf! :-)
Die RX-Leitung klemmst du mit an einen INT vom uC ran... hab ich
gedanklich was vergessen!?
Gruß Micha,
jo, hast du.
bis der Controller aufwacht über RX-Signal, ist das erste Byte schon
kaputt. Kenne den 3221 auch, aber hab mich halt dann für den anderen
entschieden und wollte ihn eben frühzeitig wecken. Ausserdem weiss dann
die Software, das sie nicht im Normalen RUN-mode ist, sondern im
Config-mode.
Marc989
hmmm,
die TX-Leitung die vom PC kommt hängt ja standardmäßig auf > -3V laut
Wiki, von daher ist die Idee mit optokoppler evtl. eine alternative. Ein
Paar mA für ein Optokoppler sollte der PC ja liefern können. Evtl. als
Stromquelle auslegen, denn der RS232 pegel kann ja auch mal -15V sein!
Softwareseitig musst du halt bedenken, das dieses Signal vom Optokoppler
bei Datenübertragung dann toggelt.
Mit der DTR leitung wäre ich Vorsichtig, nicht alle Kabel habe das
verdrahtet. Wir hatten hier im Betrieb auch schon "Spar-Kabel" welche
nur drei Leitungen (GND, RX, TX) verdrahtet hatten!
Gruß Micha,
PS: jetzt an "fast" alles gedacht? .)
Jepp :-))
Nur das toggeln des TX Pins gefällt mir halt nicht so ganz. Müsste das
Signal für den SHUTDN dann blocken, damit dieser bei der Übertragung
nicht schaltet.
Die Spar-kabel wären schon ein Nachteil für meine erste Überlegung, aber
vielleicht liefer ich ja auch einfach ein gutes Kabel mit dazu.
Hatte auch mal ein ein produktspezifisches Kabel gedacht mit Brücke
drin, aber auch hier weiss ich nicht, was der Benutzer so anstellt
Zuhause :-)
Marc989
wird das kabel aufgesteckt hast du deine > -3V (muss das eigentlich
größer -3V oder kleiner -3V heißen? matheass da? vrmtl. kleiner -3V...
), das kannst du erkennen und dein uC freischalten + perepherie.
auto-shutdown von deinem ganzen geraffel nach z.B. 2sec, wenn kein
impuls > -3V mehr anliegt. Selbst wenn du immer 0'en sendest, mindestens
das Startbit unterbricht dir die sequenz. So brauchst du dir um das
toggeln während der Datenübertragung keine gedanken machen.
ich mach sowas ähnliches bei einer CAN-RS485 Bridge. Ich erkenne anhand
des Stromflusses während des Sendens ob ein zweiter Abschlusswiderstand
auf dem Bus steckt. Wenn ja schalte ich alles frei, wenn nicht, wartet
er noch 10sec und geht mit allem in shutdown...
Geht halt nur, wenn das shut-down der uC managed, oder kannst/willst du
das signal vom optokoppler nicht zum uC führen?
Gruß Micha,
danke für die antwort.
habe drüber nachgedacht und werde das so mal probieren. Shutdn vom Max
über MCU und Optokopplersignal an den Pinchange-Wakeup.
Getriggert über RX Leitung bzw. über DRT mit kleinem Lötjumper (3pol).
Dann kann ich mir bis zuletzt die DTR Option freihalten, falls das mit
RX widererwarten nicht klappen sollte.
Herzlichen Dank für die Anregung....
Marc989