mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Act/Link Led für Uart


Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich würde gerne wie bei einer Netzwerkkarte die zwei Statusleds (ACT und 
LINK) für die Uart des AVRs realisieren. In einem anderen Thread zu so 
einem vorhaben habe ich gelesen, das die RS-232 Schnittstelle nach norm 
nur ca. 2mA leisten muss. Das ist natürlich viel zu wenig für eine LED, 
selbst mit einer low-current LED wird das eng.
Ich hatte jetz überlegt einen Transitor zu verwenden und damit dann die 
Leds zu schalten. Das müsste doch auch gehen oder?
Die einzige sache die mir so einbisschen bauchweh bereite ist, dass der 
pegel vllt. nicht mehr ausreicht um eine anständige übertragung zu 
bewerkstelligen.

Gibt es noch andere Möglichkeiten so etwas zu realisieren? Zum Beispiel 
einen extra pin zunemhmen und den per Softwäre anzusteuern. Gibt es da 
schon vorgefertigte Funktionen (vorzugsweise in Bascom)?

Bin für jede idee dankbar
Gruß
Tobi

Autor: Frank B. (frank501)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also die ACT-LED sollte mit einem Transistor, dessen Basis mit ca. 47K 
an RxD oder TxD angeschlossen ist machbar sein.

Nur, wann hast Du einen Link? Das ist schon Protokollabhängig. Also 
müsstest Du z.B. alle 10mS ein Byte senden und der Empfänger muss es 
quittieren. Nur wenn diese Quittierung erfolgt, geht die Link-LED auch 
an.

Also wäre das eine Softwaresache. Wie das in Bascom geht, kann ich jetzt 
nicht sagen, sollte aber je nach Erfahrung nicht all zu schwer werden.

Frank.

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

danke für die antwort. Also sollte es keine Bedenken geben wenn ich da 
einen Transistor mit einbaue und den basisstrom mit 47kohm begrenze?

Die link LED kann man entwedr so machen wie du vorgeschlagen hast oder 
ich mache mit einen "speziellen" stecker mit einer brücke oder so und 
lasse die led leuchten sobald ich den stecker eistecke.

Gruß
Tobi

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> danke für die antwort. Also sollte es keine Bedenken geben wenn ich da
> einen Transistor mit einbaue und den basisstrom mit 47kohm begrenze?

Du könntest mit pnp Transistoren auf der TTL-Seite eine Rx und eine 
Tx-LED anbringen. Das belastet die RS232-Seite garnicht.


> Die link LED kann man entwedr so machen wie du vorgeschlagen hast oder
> ich mache mit einen "speziellen" stecker mit einer brücke oder so und
> lasse die led leuchten sobald ich den stecker eistecke.

Wäre machbar. Aber ich denke, das ist unnützer Aufwand. Aber letztlich 
ist das deine Entscheidung.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

meine Meinung: 2 LEDs, die blinken wenn auf RxD oder TxD gesendet wird, 
nützen am meisten, das ist schon ein halber Analysator. Wenn du 
Verbindung aufnehmen willst und niemand ist da, dann blinkt die TxD-LED, 
aber die RxD-Led bleibt stumm - viel mehr gibt es garnicht zu wissen.
Das einzige Problem dabei ist, dass man bei hohen Baudraten kaum noch 
was sieht, aber das lässt sich dann nur durch künstliche Verlängerung 
der Impulse und damit in Software mit 2 Extra-Pins lösen.

Gruss Reinhard

PS natürlich gibts LEDs für 1mA Betriebstrom.

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Reinhard,

da hast du recht. Ich hatte das gerade mal auf meinem stk500 getestet.
Der avr sendet immer 8 zeichen! Wenn dazwischen keine künstliche pause 
ist, dann ist die LED immer an. Wenn ich eine Pause von 20-30ms 
dazwischen mache, dann sicht man sie flackern.
Wie ich das softwaretechnisch lösen könnte, habe ich noch keine idee. 
Ich bin nur auf die idee gekommen einen ne555 als retriggerbaren 
monoflopp zu bauen doch dann habe ich wieder ganau das, was ich vorher 
auch habe, die led leuchtet immer. wenn ich einen normalen monoflop 
nehme, dann werden ja fast alle signale verschluckt.

Weiss jemand wie die das bei den netzwerkkarten machen? Die ACT-LED 
leuchtet zwar auch nicht bei jedem bit aber man erkennt,dass was 
gesendet/empfangen wird.

Gruß
Tobi

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>dann nur durch künstliche Verlängerung

Vielleicht geht das ja so:

5V----------o---------o--------------
            |         |
           [#] R1     |
            |        ===
           \|/ LED   --- C
           -|-        |
            |         |
            '----o----'
                 |
                [#] R2
                 |
               |/ E
 Tx/Rx --------| pnp
(TTL-Seite)    |\ C
                 |
GND--------------o------------------

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

Ich habe deine Schaltung mal aufgebaut und getestet. Je nach größe des 
Kondensators geht halt die Led nen bissel später aus. Nur das ist halt 
noch nicht das was ich haben will. Trotzdem aber danke für deine Mühe.


1. Idee: Ich hatte mir überlegt einen Monoflop und einen Multivibrator 
hintereinander zusetzten. Der Monoflop wird duch das erste bitwackeln an 
der leitung aktiviert und läuft dann vielleicht so 3-5sek. Der 
multivibrator läuft dann halt solange der monoflop gesetzt ist. Der 
Multivibrator erzugt dann ein signal von 30ms an und 20ms aus oder so.

2. Idee: ich nehme mehre Flipflops hintereinander. Mit jedem weiteren 
FlipFlop halbiert sich ja dann die frequenz.

3. Idee: Ich lege die Leitungen auf einen exteren interrupt und lasse 
jedesmal eine variable hoch zählen. Da ich einen Timer habe der mir alle 
10ms einen overflow liefert, könnte ich damit die Led blinken lassen. Es 
würde dann kein impuls verloren gehen. Nachteil: Die led blinkt dann 
einige 100ms oder gar sekunden "nach" ...

Weiss jemand wie das bei dein richtigen Netzwerkkarten gemacht wird? Hat 
der Prozessor einen Extra ausgang dafür?

Gruß
Tobi

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatt keiner mehr eine idee wie man das problem lösen kann?

Gruß
Tobi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.