Forum: Mikrocontroller und Digitale Elektronik serial host detection .....


von Marc989 (Gast)


Lesenswert?

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

von ab-cd (Gast)


Lesenswert?

klemme einen MAX232 ran...
mit dem TTL Ausgang machst Du was Du willst.
Kein traffic...kein Pegelwechsel !

von Marc989 (Gast)


Lesenswert?

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

von Michael S. (mst)


Lesenswert?

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,

von Marc989 (Gast)


Lesenswert?

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

von Michael S. (mst)


Lesenswert?

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? .)

von Marc989 (Gast)


Lesenswert?

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

von Michael S. (mst)


Lesenswert?

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,

von Marc989 (Gast)


Lesenswert?

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

von Michael S. (mst)


Lesenswert?

nix zu danken;

berichte dann evtl. mal obs funktioniert hat, oder wie du es 
letztenenden dann gemacht hast...

Gruß Micha,

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.