-         
+ Antworten
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 34

Thema: nochmal: 1x PC, 2x UART (ATMEGA32)

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137

    nochmal: 1x PC, 2x UART (ATMEGA32)

    Hallo,

    Ich habe folgendes Problem:

    Ich habe 2 ATMEGA32 mit jeweils einer einer seriellen schnittstelle und ein PC der als Steuerung dient... Ich möchte jetzt den IC´s befehle mit hilfe des PC´s senden... Kann man das irgentwie über eine serielle Schnittstelle mit Adress-befehlen irgentwie regeln?

    Hat da jemand ne Idee?

    Ich hatte zuerst geplant, das der Master IC die serielle Schnittstelle mit ner logischen Verknüpfung umschalten kann... Aber so toll finde ich die Lösung irgentwie nicht.

    Gruss

    Jan

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    Was willst du genau machen?

    PC -> ATMEGA32(1) -> ATMEGA32(2)?

    oder wie?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hi Jan,

    selbst wenn man Adressinfos über die serielle Schnittstelle an beide Controller schickt, gibt solch eine Y-Lösung spätestens dann ein Problem, wenn die Controller Daten zurück an den PC senden sollen.

    Ich würde die Controller einfach über I2C oder notfalls auch SPI verbinden und die seriellen Infos an nur einen Controller schicken, der dann die Sachen weiterreicht.

    HTH und Viele Grüße
    Jörg

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Warum soll es bei der Y-Lösung Probleme geben ?
    Wenn im Protokoll klar geregelt ist, das nur ein Slave(Controller) zur Zeit senden darf und dies ganz klar vom Master (PC) gesteuert wird, gibt es auch keine Konflikte.
    Einziger Nachteil ist, das ggf. der Master immer wieder die einzelnen Slaves nach ev. auftauchenden Informationen abfragen muß, da die ja nicht von sich aus senden dürfen (es sei denn, man steuert so ein Slaverequest über eine weitere eigene Leitung)

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    @x-ryder

    Der PC soll Befehle an jeden Controller senden können, und der Controller soll nach dem Empfang des Befehls ein Rückgabewert an den PC senden. Ohne Befehl vom PC haben die Controller nichts zu senden... Also selbstständig werden diese nichts ausgeben... Halt nur nach einem Befehl....

    Gruss

    Jan

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo Freiheitspirat,

    Warum soll es bei der Y-Lösung Probleme geben ?
    Wenn im Protokoll klar geregelt ist, das nur ein Slave(Controller) zur Zeit senden darf und dies ganz klar vom Master (PC) gesteuert wird, gibt es auch keine Konflikte.
    leider doch, die RS-232 Schnittstelle ist nicht busfähig. In Richtung Controller ist ein Sender (PC) mit zwei Empfängern (Controller) verbunden. Das gibt (mal abgesehen vom Pegel bei manchen Treibern) keine Probleme. In Richtung PC arbeiten zwei Sender (Controller) auf einen Empfänger (PC). Dabei sind zwei Ausgangstreiber auf einer Leitung. Sofern beide ruhig sind, kein Problem, wenn jetzt einer sendet, bringt der eine Sender +12V, der andere bleibt jedoch bei -12V, alles auf der gleichen Leitung, der stärkere gewinnt.

    Klar kann man jetzt die MAX-Treiber über eine Logik abklemmen oder hochohmig schalten. Der Aufwand dafür dürfte jedoch ziemlich hoch sein, zumindest deutlich höher, als immer nur mit einem Controller zu reden und die Befehle an den anderen Controller quasi zu forwarden.

    Viele Grüße
    Jörg

  7. #7
    Gast
    leider doch, die RS-232 Schnittstelle ist nicht busfähig. In Richtung Controller ist ein Sender (PC) mit zwei Empfängern (Controller) verbunden. Das gibt (mal abgesehen vom Pegel bei manchen Treibern) keine Probleme. In Richtung PC arbeiten zwei Sender (Controller) auf einen Empfänger (PC). Dabei sind zwei Ausgangstreiber auf einer Leitung. Sofern beide ruhig sind, kein Problem, wenn jetzt einer sendet, bringt der eine Sender +12V, der andere bleibt jedoch bei -12V, alles auf der gleichen Leitung, der stärkere gewinnt.

    Ich dachte der Ruhestrom beim UART ist positiv und beim senden negativ?

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Ich dachte der Ruhestrom beim UART ist positiv und beim senden negativ?
    Das ist beim UART ja auch richtig. Der Schnittstellentreiber (MAX232 oder kompatible) invertiert das ganze jedoch, und da wird aus dem Ruhepegel (5V/high) -12V und dem Aktivpegel (0V/low) +12V.

    Viele Grüße
    Jörg

  9. #9
    Gast
    Hallo Leute
    Kann ich denn die zwei ATMEGA´s direkt über I2C Bus miteinander verbinden? Hat da jemand n Code-Beispuel für Bascom?

    Gruss

    Jan

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo Jan,

    Kann ich denn die zwei ATMEGA´s direkt über I2C Bus miteinander verbinden? Hat da jemand n Code-Beispuel für Bascom?
    für Bascom nicht. Ich habe sowas mit dem AVRco von E-Lab schon mehrfach durchgezogen, Bascom nutze ich leider nicht.

    Viele Grüße
    Jörg

+ Antworten
Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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