Hallo Allerseits, ich habe folgendes System: Ein PC und eine Steueeinheit komunizieren miteinander über serielle Schnittstelle(RS232). Die Steueeinheit sendet über RS232 graphische Daten bezüglich ihres Zustandes zum PC. Ich möchte mit einem dritten System (Embedded System: basiert auf Rabbit 3000 Prozessor) über RS232 an die serielle Komunikation zwischen PC und der Steuereinheit ran. Ich suche eine Hardware Lösung, Ideen, mit denen ich folgendes erreichen kann: 1. Alle drei Komponenten des Systems sind in einer Hardware physikalisch verbunden. 2. Der PC soll jeweils die Richtung der seriellen Kommunikation steuern. 3. Mall wird duch den PC die serielle Verbindung Steuereinheit->Embedded System ausgewählt und Mall wird die serielle Verbindung PC-->Embedded System ausgewählt. 4. Wenn die Verbindung Steuereinheit->Embedded System ausgewählt wird, muss der PC immer in der Lage sein, die Daten aus der Steueneinheit weiter zu empfangen. Wie kann ich so was erreichen bzw. realisieren. Ich würde mich sehr freuen wenn ihr mir Ideen oder Schaltungspläne für die Implementierung zur Verfügung stellt. Ich bedanke mich im voraus
Wo ist das Problem ? Hat das Karnickel 3000 etwa keine 2 COMs ? Dann nimm irgendwas anders mit 2 COMs und dann eben Daten durchreichen oder selber kommunizieren. Alleine mit Hardware geht das eh nicht, denn Du brauchst ja irgendein Softwareprotokoll, welches die Umschaltung vornimmt. Peter
Warum so umständlich? Das mithörende System verwendet gleichzeitig zwei serielle Schnittstellen, mit denen es gleichzeitig an beiden Datenleitungen mithört: TxD >------+--------------> RxD | PC | Steuereinheit | RxD <------)----+---------< TxD | | | | v v RxD1 RxD2 Mithörer Da muss nichts umgeschaltet werden, und die Übertragung zwischen PC und Steuereinheit wird durch nichts gestört. Um einen zeitlichen Zusammenhang der aufgezeichneten Daten rekonstruieren zu können, schreibt der Mithörer alle empfangenen Daten in einen Puffer, und zwar zu jedem empfangenen Zeichen zusätzlich eine "Kanalkennung", die besagt, auf welcher der beiden Schnittstellen das Byte empfangen wurde. Fertig. Oder verstund' ich was miss?
Scheinbar sind doch alle 3 Komponenten miteinander verbunden: PC, Steuereinheit und Hase. Mir ist noch nicht ganz klar wann zu welchem Zeitpunkt wer sendet und wer empfängt. Beschreib doch mal, wer wann wo welche Aufgaben wahrnimmt, und ob die Kommunikation bidirektional ist oder nur in eine Richtung geht
Hallo, ich danke euch erstmal für eure Hilfe und tut mir leid falls meine Frage nicht deutlich war. Also nochmal: Das vorhandene System ist wie folgt: TxD >--------------------> RxD PC Steuereinheit RxD <-------------------< TxD Ich habe an mein Mithörerplatine nur eine einzige serielle RS232 Schnittstelle. 1. Ich möchte pc gesteuert zum einen folgenden Kommunikationsweg erreichen: TxD >------+ --------------> RxD |wird unterbrochen --> PC | Steuereinheit |wird unterbrochen <-- RxD <------) -------------< TxD | | v RxD1 Mithörer PC gesteuert ist damit gemeint, dass vom PC der Befehl('zum Beispiel') zur vorhandenen seriellen Kommunikation kommt und die Unterbrechung zur Steuereinheit führt. Die Verbindung ist dann nur mit dem Mithörere. 2. Als zweite Variante zur Kommunikation. Ich möchte pc gesteuert zum anderen folgenden Kommunikationsweg mit der Steuereinheit erreichen: TxD >---------------------> RxD PC Steuereinheit RxD <-----------+---------< TxD | | v RxD1 Mithörer Ich möchte an der TxD Leitung der Steuereinheit lauschen ohne die Verbindung PC-->Steuereinheit zu unterbrechen. ISt die Frage klarer geworden?? Ich bedanke mich im voraus
Mir ist nicht klar, wozu die erste Variante gut sein soll, und auch nicht, welchen Informationsgewinn Du erhalten möchtest, wenn Du bei einer bidirektionalen Kommunikation nur einen Kanal abhörst ... Wozu soll das ganze gut sein? Um Protokollanalyse scheint es ja nicht zu gehen, also: Details. Mehr davon.
Also noch Mal. Ich möchte an ein existierendes System Daten sammeln ohne die serielle Kabel umzusteken, so dass mein Applikation automatisch laufen kann. Ich möchte mit meinem Abhörere System mal Daten aus dem PC abfragen und ein anderes Mal Daten aus der Steuereinheit ohne die Verkablung PC-->Steuereinheit abzutrennen. Die erste Variante PC-->Abhörer soll bidirektional laufen. Es tut mir leid ich habe es letztens falsch gezeichnet. Die richtige Skizze sieht folgendemassen aus: TxD >------+ --------------> RxD | wird unterbrochen --> PC | Steuereinheit | wird unterbrochen <-- RxD <------)------| ----------< TxD | | | | v | RxD1 TxD1 Mithörer Dadurch kann ich Daten aus dem PC abfragen und die an mein Abhörsystem zur weiteren Verarbeitung übergeben. Die zweite Variante soll die serielle Komunikation des bideriktionalen vorhandenen System PC-->Steuereinheit nicht unterbrechen sondern nur die TxD Leitung der Steuereinheit abhören, so dass ich in der Lage bin die Daten aus der Steuereinheit zu verarbeiten. Ich bedanke mich nochmal und würde mich freuen wenn ihr mir Tips für Chips oder Module empfehlen konnt so dass ich die Aufgabe realisieren kann.
Wenn Du eine bidirektionale Kommunikation so unterbrichst, wie angezeigt, dann wird da nichts mit "Mithören" drin sein, das sollte eigentlich klar sein. Die auf dem PC laufende Software wird auf Reaktionen der Steuereinheit warten - da die nicht kommen, wird sie sich mit ziemlicher Sicherheit vom Normalbetrieb unterscheiden. Das dürfte also ziemlich sinnlos sein. Wenn Dein Mithörer schon nur über einen Kanal verfügt (was auch dessen Gebrauchswert ziemlich einschränkt, weil Du so nur eine Seite der Kommunikation mitbekommst), dann musst Du, um ihn zu verwenden, die Übertragungsleitung zwischen PC und Steuergerät in keinem der beiden Fälle unterbrechen, sondern einfach nur umschalten: TxD >------+--------------> RxD | PC | Steuereinheit | RxD <------)----+---------< TxD | | | | o o \ \ o | v RxD Mithörer oder halt | | o o / / o | v RxD Mithörer Wenn Du einen normalen V.24-Empfängerbaustein wie den 1489 oder einen Max232 verwendest, kannst Du den Umschalter hinter die zwei Eingangsstufen setzen. Der kann ein simpler mechanischer Schalter sein oder aber ein Multiplexer. Insgesamt kannst Du Dein Ansinnen mit dem Versuch vergleichen, ein Telephongespräch abzuhören: - Wenn Du nur einem der Sprecher zuhörst, bekommst Du nur die Hälfte des Gesprächs mit, was nur eingeschränkten Nutzen hat - Wenn Du, um einem der Sprecher zuzuhören, die Verbindung zum anderen Sprecher kappst, dann wird der Sprecher, dem Du zuhören willst, überhaupt nichts erzählen, da er mitbekommt, daß die Gegenseite fehlt. Ist also erst recht ziemlich nutzlos.
Hallo, ich danke dir erstmal für deine Tips. Deine Skizze ist ganz hilfsvoll aber ich darf bei meiner Aufgabe keine Schalter benutzen. Die Verbindung der Kommunikatioen zwischen allen Teilnehmer soll automatisch und PC gestereurt erfolgen. Wie kann ich jetzt in deiner Skizze den Schalter ersetzen so dass ich eine pc gesteurte automatisierte fehlerfreie Kommunikation in beiden Varianten erreichen kann.
Na, den Schalter kannst Du durch einen Multiplexer ersetzen, der durch eine zusätzliche Schnittstelle des PCs angesteuert wird. Welchen Sinn hat die ganze Übung? Geht es darum, ein (unbekanntes) Protokoll zwischen einer PC-Software und externer Hardware aufzuzeichnen, um es später analysieren zu können? Dann ist -wie ich schon dargelegt habe- die Verwendung nur eines Abhörkanales nur eingeschränkt sinnvoll; ich denke, die Analogie mit dem Telephongespräch sollte das verdeutlichen. Nach welchen Kriterien soll was auf dem PC die Steuerung der Aufzeichnung vornehmen? Was soll mit den aufgezeichneten Daten geschehen? Was genau bedeutet "ich darf bei meiner Aufgabe"?
Also in Details: Beim vorhandenen System werden immer daten von der Steuereinheit zum PC gesendet. Der PC zeichnet es auf und speicher bestimmte Informationen in Dateien ab. Meine Aufgabe ist zum einen dieses gespeicherte Dateien aus dem PC abzufragen (erste Variante )und zum anderen (zweite Variante) den Datenfluss der Steuereinheit abzuhören und verarbeiten. Mein Abhörsystem ist ein embedded Network prozessor. Der soll bei der ersten Variante die Dateien aus dem PC zu einem Server übertragen. Das selbe gilt auch bei der zweiten Variante. Ich möchte den Datenfluss zwischen Steuereinheit-->PC mit meinem Abhörsystem zu einem Server übertragen ohne die Verbindung Steuereinheít-->PC zu unterbrechen. Das ganze soll durch eine auf dem PC seitiige Software kontroliert werden, ohne Kabelen umzustecken und automatisch ohne Schalter. Man kann sich vorstellen, dass auf dem PC eine Oberfläsche existieren soll, die folgendes anzeigt: 1. Verbindung zum Abhörsystem herstellen und Dateien übertragen 2.Verbindung zum Abhörsystem herstellen und Steuereinheit abhören Was meinst du denn dass man mit Multiplexer die Sache realisieren kann. Kannst du mir Bauelemente oder Beispielschaltung vorschlagen. Ich bedanke mich noch Mal im Voraus
. "Beim vorhandenen System werden immer daten von der Steuereinheit zum PC gesendet. Der PC zeichnet es auf und speicher bestimmte Informationen in Dateien ab. Meine Aufgabe ist zum einen dieses gespeicherte Dateien aus dem PC abzufragen (erste Variante )" Was bringt Dich zu der Annahme, daß das auf dem PC laufende Programm diese Daten wieder an das Steuergerät sendet? Nur wenn es das täte, hätte es einen Sinn, die Verbindung zwischen PC und Steuergerät zu kappen und an der Sendeleitung des PCs alleine zu lauschen.
Na ja, das soll bei meiner Implementierung genau so realisiert werden. Ich muss eine Software auf der Seite des PCs (MS_DOS)schreiben, die die Dateien vom PC mit Hilfe beider Leitungen RX und TX des PCs über die serielle Schnittstelle sendet. In diesem Fall muss der PC seine Verbindung zur Steuereinheit meines vorhandenen Systems unterbrechen, damit er mit meinem Abhörsystem über die TX und RX eine biderektionale Verbindung herstellen kann. Nun, ist es jetzt klar, wenn ja was denkst du wie man das (Hardware mässig)lösen kann? Wenn es immer irgendwas noch nicht klar, sag es mir bitte dann erkläre ich dir auch. Ich würde mich freuen wenn ich mit dir zu einer Lösung komme. Grüße
Das wird jetzt zunehmend unverständlicher. Fangen wir mal ganz von vorne an: Du hast einen PC. Auf diesem PC scheint eine Software zu laufen, die mit einem Steuerungsgerät über eine serielle Schnittstelle kommuniziert. Ist das soweit korrekt? Angenommen, daß ja: Was ist das für eine Software? Existiert die schon, sollst Du die schreiben, sollst Du die verändern oder was?
Moment, ich hab mir die Beiträge von karomi nochmal zusammen gelesen. Vielleicht geht es ja um folgendes (@karomi, bitte korrigier mich) "Beim vorhandenen System werden immer daten von der Steuereinheit zum PC gesendet. Der PC zeichnet es auf und speicher bestimmte Informationen in Dateien ab." "Meine Aufgabe ist zum einen dieses gespeicherte Dateien aus dem PC abzufragen (erste Variante )... " "... und zum anderen (zweite Variante) den Datenfluss der Steuereinheit abzuhören und verarbeiten." Daraus folgt für mich: Derzeit spricht das Steuergerät "ganz normal" bidirektional mit dem PC und tauscht aus was auszutauschen ist. Diese Kommunikation soll analysiert werden. Auf PC-Seite arbeitet dann ein zugehöriges Programm, welches mit der seriellen Leitung des PC spricht, und "irgendwas" mit den Daten macht (sie irgendwie aufbereitet, darstellt etc), und dann auf die Platte dudelt. Also ist die höhere Aufgabe die, das unbekannte Leitungsprotokoll zu analysieren, dann die unbekannte Programmfunktion zu analysieren, und alles hübsch nachzubauen. Als weitere Mitspieler sind benannt: Ein embedded System (der 3000er Hase) soll da wohl bei der Protokollanalyse behilflich sein. Ein noch zu erstellendes DOS-Programm für den PC (Zweck unbekannt) Da stell ich mir dch die Frage (beziehungsweise stelle als Lösungsansatz in den Raum): Warum nicht gleich am PC einen COM-Port-Sniffer einsetzen, der alles abgreift was da an COM1 reinkommt und rausgeht, und dann mit den abgegriffenen daten arbeiten, z.B.: :: über COM2 dem Hasen direkt zum Fraß vorwerfen :: auf Platte bunkern, und später als Datei dem Hasen zu füttern geben guckstu auch hier: http://www.rabbitsemiconductor.com/products/rab3000/index.shtml http://stsboard.de/fpost31751.html
Hallo, es ist fast richtig was ihr bis jetzt verstanden habt. Es geht nicht um eine Analyse eines Protokolls zwischen PC und Steuereinheit. Zur Zeit exe. eine Software auf dem MSDOS PC, die die Komunikation zwischen PC und Steuereinheit regelt. Der PC zeichnet bestimmte graphische Daten der Steuereinheit und speichert sie in Dateien auf der Platte ab. Mein Hase 3000 System (Network Adabter mit einem RS232) exe. schon. Ich muss zum einem eine DOS basierte Software auf dem PC schreieben und zum anderen eine Hardware Erweiterung für mein Networkadabter bauen. Die Hardware solle alle Kompnenten des Systems verbinden: PC (RS232)--------|----------(RS232)Steuereinheit | | | (RS232) Network Adabter Folgende Wege sollen mit Hilfe der Software und der Hardware ermöglicht werden: 1. Die vorhandene Komunikation PC <--> Steuereinheit beibehalten 2. Die Unterbrechung der vorhandenen Komunikation und die biderektionale Verbindung PC <--> Networkadabter bauen. 3. Die Unterbrechung der vorhandenen Komunikation und die Verbindung Steuereinheit ---> Networkadabter bauen. Bemerke: Die Umschaltung der Komunikationswege darf nicht manuell(Mit Schalter) realisiert werden. Da alles automatisch und mit Unterstützung der zu schreibende Software auf dem PC laufen soll. Ist die Problematik klarer geworden?? Danke und Grüße
Würdest Du Dir freundlicherweise dies hier "Zur Zeit exe. eine Software auf dem MSDOS PC, die die Komunikation zwischen PC und Steuereinheit regelt. Der PC zeichnet bestimmte graphische Daten der Steuereinheit und speichert sie in Dateien auf der Platte ab. Mein Hase 3000 System (Network Adabter mit einem RS232) exe. schon." nochmal durchlesen? Ich kann das nicht verstehen.
Warum muß da überhaupt was umgeschaltet werden? Was soll denn dein Hase3000 denn so machen? Wenn die Kommunikation zwischen PC und Network Adapter komplett abgeklemmt wird, heißt es ja, daß dann der HAse mit der Steuereinheit spricht. Versteht er denn was die Steuereinheit sagt? Hast du meinen Lösungsansatz verstanden den ich dir beschrieben habe? Vermutlich nicht... Da brauch gar nix leitungstechnisches umgeschaltet zu werden. Alles per Software: PC --> COM1 --> Steuereinheit (wie gehabt) PC --> COM2 --> Hase3000 In einem Software-Zustand spricht deine bestehende Software auf dem PC "wie gehabt" mit der Steuereinheit. Im anderen Zustand werden alle Datenpakete von COM1 direkt nach COM2 durchgeleitet, und deine bestehende Software bekommt überhaupt keinen Input mehr aus COM1. Damit wäre genau das von dir gewünschte realisiert.
@Rufus das exe. soll wohl die Abkürzung sein für "existiert". Dann macht das gesagte Sinn, da das Wort auch 2*verwendet wird @karomi vvAdkk (vermeiden von Abkürzungen die keiner kennt) soviel mehr Schreibarbeit ist es auch nicht, da 5 Buchstaben mehr zu schreiben....
Hallo, exe bedeutet existiert. Das ist richtig verstanden worden. Auf dem PC ist nur eine einzige serielle Schnittstelle vorhanden. Wenn der PC gerade mit der Steuereinheit komuniziert, muss er seine Komunikation dann unterbrechen wenn der Network Adabter von ihm was will. Ich habe kein COM2 auf dem PC. Ist es jetzt klarer Danke und Grüße
@Wegstaben Verbuchsler: Ich bin beeindruckt. Darauf wäre ich wirklich nicht gekommen. Grandios. Wie soll man jemandem bei einem Problem helfen, der es in solche ... Worte kleidet?
@Karomi: OK, gehen wir mal davon aus das dein PC keine 2. COM-Schnittstelle hat und da auch keine Möglichkeit exisitiert, da eine rein zu bekommen. Schade, das hätte die Sache ziemlich leicht gemacht. Aber so muß es also anders erfolgen. Ich denke mal scharf nach über das was du da erzählst... "Wenn der PC gerade mit der Steuereinheit komuniziert, muss er seine Komunikation dann unterbrechen wenn der Network Adabter von ihm was will." Dazu bedarf es also zuerst einmal "irgendeiner" Möglichkeit für den Networkadapter, dem PC mitzuteilen, daß der nun mit dem PC sprechen möchte, und für den PC heißt es, das er dazu in der Lage sein muss, deises zu identifizieren. FRAGE_1: Hat denn der Network Adaper die Möglichkeit, seinen "Gesprächswunsch" dem PC mittels einer ungenutzten Steuerleitung (RTS, CTS oder was weiss ich) zu signalisieren? Vermutlich braucht es da ja auch im Network Adapter irgendeiner Software-Anpassung, daß der vor Gesprächsbeginn erst mal irgendeine Signalisierung in dieser genannten Form anfängt. Und weiter: Nachdem der PC also den "Gesprächswunsch" des Network Adapter mitbekommen hat, muß er also mittels geeigneter externer Hardware die Datenkommunikation umschalten: "Normal" = PC <--> Steuereinheit "umgeschaltet" = PC <--> Network Adapter FRAGE_2: Wie soll denn der PC diese Umschaltung vornehmen? Da könnet er vermutlich von seinen eigenen Steuerleitungen (RTS, CTE etc) eine Leitung opfern, und entsprechend eine Umschaltung vornehmen ... Liesse sich das abbilden? Und weiter: "Irgendwann und Irgendwie" muß doch nun auch der Ursprungs-Zustand wieder hergestellt werden... Frage_3: Was ist denn das Kriterium, dass die "ursprüngliche" Verbindung PC <--> Steuergerät wieder aufgenommen wird?
FRAGE_1: Hat denn der Network Adaper die Möglichkeit, seinen "Gesprächswunsch" dem PC mittels einer ungenutzten Steuerleitung (RTS, CTS oder was weiss ich) zu signalisieren? Vermutlich braucht es da ja auch im Network Adapter irgendeiner Software-Anpassung, daß der vor Gesprächsbeginn erst mal irgendeine Signalisierung in dieser genannten Form anfängt. ... ... ... Genau so habe ich es mir auch gedacht. Der Network Adabter wird seinen Wunsch mittels einer RI-Leitung dem PC signalisieren. Aber wie sieht die Beschaltung für die Umschaltung von dem normalen Zustand: PC<--->Steuereinheit zum PC<-->Networkadabter?????????? Das ist meine Frage und möchte gerne eine Lösung bzw. Schaltung dafür. Nach dem der PC und der Networkadabter ihre Arbeit abgeschlossen haben, muss der ursprüngliche Ausgangspunkt : PC<-->Steuereinheit wieder hergestellt werden. Ich danke dir im Voraus
"Aber wie sieht die Beschaltung für die Umschaltung von dem normalen Zustand: PC<--->Steuereinheit zum PC<-->Networkadabter?????????? Das ist meine Frage und möchte gerne eine Lösung bzw. Schaltung dafür. " Wichtig ist erst mal, daß du dir den Gesamt-Zusammenhang verdeutlichst. Dabei ist es ziemlich egal, ob du da Relais, Transistoren oder ein IC zu nimmst. "im einfachsten Fall" nimmst du dir einen billigen "KVM-Switch" (Keyboard/Video/Maus-Umschalter). Maus und Tastatur sind im allgemeinen seriell, und sollten dann vollständig elektrisch umschalten (KVM-odellspezifisch) Nachmal die Frage_2: Hast du die möglichkeit, mit 1 Bit von der seriellen Schnittstelle des PC "irgendeine" Komponente dazu zu bewegen, eine Umschaltung von ein paar Leitungen in kontrollierter Form vornehmen zu lassen ? Und nochmals die Frage_3: Auch hier nochmal der Zusammenhang "im Ganzen" durchdacht: Networkadapter signalisiert PC mittels RI daß er Daten haben möchte. PC schaltet um (siehe Frage 2), und macht was zu machen ist. ALSO: Wie bekommt der PC nun mit das die ursprüngliche Verbindung Steuergerät <-> PC weider herzustellen ist? Ist das "einfach so", weil PC dem Networkadapter eine definierte Menge an Daten übergeben hat, und danach "zwangsweise" wieder umschaltet? Übrigens: Dir ist bewusst, dass zum Zeitpunkt der Verbindung zwischen PC und Network-Adapter die Daten des Steuergerätes gegen "Luft" gehen, also nicht abgeholt werden etc? Wie verhinderst du denn daß tatsächlich das Steuergerät nix rausschickt, solange der PC mit dem Networkadapter spricht?
Antwort auf die Frage_2: Ich kann an der seriellen Schnittstelle des PCs eine Leitung auf HIGH bzw. LOW setzen. Ich habe mir gedacht, dass der Networkadabter dem PC über die RI-Leitung seinen Wünsche zur Komunikation äussert. Der PC antwortet zurück mit dem setzen einer weiteren Leitung auf HIGH. Dann kann ein Relay geschaltet werden und die RX-TX Leitungen zwischen PC<-->Networkadabter durchschalten und dementsprechend die Steuereinheit unterbricht. Antwort auf Frage_3: Für die Komunikation zwischen dem PC und dem Networkadabter ist ein software Protokoll vorgedacht, so dass der PC mitgeteilt wird wann die Komunikation zu Ende ist. Da habe ich mir gedacht dass der PC durch setzen einer Leitung seiner RS232 die Relays wieder zum Ausgangspunkt zurückschaltet. Nun, was denkst du ???
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.