-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Aktivitätsanzeige an serieller Schnittstelle

  1. #1

    Aktivitätsanzeige an serieller Schnittstelle

    Anzeige

    Hi!

    Seit einiger Zeit schon bastel ich an einem eigenen und damit maßgeschneiderten MC-Board rum. Bin noch nicht sehr weit, Controller läuft soweit, ISP funktioniert und einige LEDs funzeln auch. Jetzt habe ich gerade die serielle Schnittstelle ans Laufen bekommen, auch Dank einigen Tips hier aus dem Forum. Ganz klassisch mit MAX 232 nach Datenblatt. So weit, so gut.

    Da ich bei der Entwicklung viele blöde Fehler gemacht habe (Pinbelegung vom Stecker, Verbindungskabel usw.) habe mir zur Fehlerbeseitigung als "Aktivitätsanzeige" einfach LEDs mit Vorwiderstand an die TX bzw. RX Leitungen gelegt. Hat mir auch so weit gute Dienste geleistet.

    Nun möchte ich auch das fertige Board mit LEDs als "Aktivitätsanzeige" ausstatten. Um aber bei höheren Baudraten die Signale nicht zu stark zu belasten, habe ich Transistoren als Treiber benutzt. Funktioniert bei TTL-Pegel ganz gut, die +/- 12V Seite funktioniert noch nicht, ist aber auch bestimmt hin zu bekommen.

    Jetzt aber endlich zu meiner Frage. Gehe ich mit den Transistoren den richtigen Weg oder gibt es andere, bessere Lösungen für das Problem? Ich bitte um Nachsicht, wenn die Frage einem Profi zu einfach erscheint. Ich bin leider nicht wirklich vom Fach.

    Bin über jeden Tip dankbar.

    Gruss

    Bot-Builder
    Legasteniker on Board!
    gefundene Rechtschreibfehler dienen der Belustigung des Lesers und dürfen von diesem behalten werden.

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die LED direkt mit Vorwiderstand ist auch bei höheren Baudraten kein Problem. Man sollte aber 2 low current oder besser helle LEDs (antiparallel) nehmen. Ein Widerstand von etwa 4,7 K trennt die LED von den gar nich so hohen Frequenzen.

  3. #3
    Zitat Zitat von Besserwessi
    Die LED direkt mit Vorwiderstand ist auch bei höheren Baudraten kein Problem.
    Okay, das macht die Sache deutlich einfacher.

    Zitat Zitat von Besserwessi
    ...
    (antiparallel)
    ...
    Leucht mir für den Teil mit richtigem RS232-Pegel, also +/- 12V ein. Du meinst in etwa so, richtig?





    Aber für den TTL-Pegel Teil funktioniert das so doch nicht, oder? Im ersten Moment habe ich dann an so etwas ähnliches gedacht.



    Würde für jede der beiden Leds einzeln angeschlossen funktionieren. Aber wenn beide angeschlossen sind würden beide dauern leuchten.

    Ist natürlich auch nicht antiparallel. Oder bleibt für den TTL-Teil nur die Lösung mit einer LED und Vorwiderstand?


    mfG

    Bot-Builder
    Legasteniker on Board!
    gefundene Rechtschreibfehler dienen der Belustigung des Lesers und dürfen von diesem behalten werden.

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Das für die +-12 V war genau so gemeint.
    Nur die bedeutung bei der RS232 ist so, dass +12 V für eine 0 und -12 V für eine 1 stehen, wenn ich micht richtig erinnere.

    Die Version für 5 V funktioniert so wie auch schon geschrieben in der Regel noch nicht (könnt mit 2 blaugrünen oder blauen LEDs gehen). Da einfach 2 Widerstände für die beiden LEDs, ruhig auch etwas größer. Wenn einem die Last zu groß ist, dann besser ein TTL bzw., HC-MOS-Gatter davor, z.B. 74HC14 oder so.

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    @ Bot-Builder

    Nur die Schaltung aus deinem oberen Schaltplan kann mit zwei gleichen LEDs zwei gleiche Spannungen mit gleicher Helligkeit anzeigen. Bei LEDs mit diversn Farben (Durchflußspannungen) muss man die gleiche Helligkeiten (fürs Auge) mit unterschiedlichen Vorwiderstanden einzeln einstellen.

    Bei der unteren Schaltung werden die LEDs zwar gleichzeitig, aber wegen fehlendem Vorwiderstand bei starker Spannungsquelle leider nicht lange leuchten...

    Wenn eine LED ab bestimmter Spannung leuchten soll, müsste man seriell mit der LED eine Zener-Diode mit entsprechender Spannung schalten.

    MfG

  6. #6
    Zitat Zitat von Besserwessi
    ...
    Nur die bedeutung bei der RS232 ist so, dass +12 V für eine 0 und -12 V für eine 1 stehen, wenn ich micht richtig erinnere.
    ...
    Da einfach 2 Widerstände für die beiden LEDs, ruhig auch etwas größer. Wenn einem die Last zu groß ist, dann besser ein TTL bzw., HC-MOS-Gatter davor, z.B. 74HC14 oder so.
    Du hast natürlich mit dem Signalpegel Recht. Muss umgekehrt sein.

    Das mit den zwei Widerständen habe ich noch nicht so ganz kapiert, werde es aber gleich mal auf einem Steckbrett ausprobieren.

    Aber Du hast weiter oben was zum Thema Frequenzen gesagt.



    Wenn also ein Zeichen '1010 1010' übertragen wird, kommt ich bei 9.600 Baud auf eine Frequenz von 57,6 kHz. Stimmt die Überlegung so oder ist da ein Denkfehler drin?

    Könnte man damit die genaue Baudrate messen? Ich komme deshalb darauf, weil ich bei meinem Aufbau auch einen Baudratenfehler (ungeeignete Quarzfrequenz) gehabt habe. Um da genau zu sein müsste man aber wissen die lange die Ruhepause zwischen zwei Zeichen ist auch wenn kontinuierlich Zeichen gesendet werden.

    Konkret stelle ich mir vor man misst mit einem Controller einfach die Zeit zwischen den Flankenwechseln und rechnet dann die konkrete Baudrate hoch. Macht so etwas Sinn?

    mfG

    Bot-Builder
    Legasteniker on Board!
    gefundene Rechtschreibfehler dienen der Belustigung des Lesers und dürfen von diesem behalten werden.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.07.2009
    Ort
    Wien
    Beiträge
    131
    baud sind (in diesem fall) bit/sekunde, deine grundfrequenz liegt also bei 9600Hz.

    das mit der baudratenmessung funktioniert so, wenn du ein definiertes bitmuster hast.

    cm.

  8. #8
    Zitat Zitat von cmock
    baud sind (in diesem fall) bit/sekunde, deine grundfrequenz liegt also bei 9600Hz.
    Klar! Bit / Sekunde und nicht Zeichen pro Sekunde!

    Und beim näheren Hinschauen hat sich dann auch die Frage nach der Ruhepause zwischen den Zeichen erledigt (glaube ich zumindest!). Denn in meinem ersten Signaldiagramm ist auch noch ein Fehler. Stopbit hat logischen Pegel 1, also ergibt sich dann folgendes Diagramm.



    Die Startbedingung ist die steigende Flanke vom Startbit, richtig? Da Ruhe logisch 1 ist, muss Startbit logisch 0 sein. Stopbit ist logisch 1. Also braucht es bei kontinuierlichem Zeichenfluss keine Ruhepause. Das sehe ich doch jetzt richtig, oder?

    Um einen kontinierlichen Pegelwechsel auf der Leitung zu erzeugen braucht es dann allerdings eine ungewöhnliche Einstellung der Übertragung: 7Bit, even Priority, 1 Stopbit.

    Liege ich jetzt richtig?
    Legasteniker on Board!
    gefundene Rechtschreibfehler dienen der Belustigung des Lesers und dürfen von diesem behalten werden.

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Moin moin.

    Der Ruhezustand von TXD ist H, das Startbit beginnt mit der fallenden Flanke.

    Ich habe mal eine Automatisch Baudratenerkennung "gebastelt".
    Dazu habe ich immer als erstes Byte 01010101 gesendet und
    eine Bitweite gemessen. Dann 1/2 BItweite hinzuaddiert damit
    beim Einlesen in der Bitmitte gelesen wird. Das erste Byte diente nur
    zur Zeitmessung, danach wurde dann (beim Lesen) mit dem Startbit
    + 1/2 Bitlänge angefangen und mit Bitlänge eingelesen.

    Gruß Richard

  10. #10
    Moin!

    Zitat Zitat von Richard
    ...
    Der Ruhezustand von TXD ist H, das Startbit beginnt mit der fallenden Flanke.
    ...
    Mit der (logisch) fallenden Flanke von log 1 auf log 0, aber mit steigenden (Signal-)Flanke von -15 auf +15. Korrekt?!?

    Das mit der Baudratenerkennung werde ich auch mal versuchen. Findest Du den Code vielleicht noch? Mit "Beispiel" arbeitet es sich leichter

    Vielen Dank schon mal

    mfG

    Bot-Builder
    Legasteniker on Board!
    gefundene Rechtschreibfehler dienen der Belustigung des Lesers und dürfen von diesem behalten werden.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •