atomical
02.04.15, 21:11
Servus,
folgender Aufbau:
Eine Maschine erwartet an ihrer seriellen Schnittstelle (RS232 nur RX/TX/GND) ein Modem (ist nicht zu ändern, analoges Modem, kein Handshake - DB9 Brücken 1+4+6 / 7+8) um sich nach draußen zu verbinden - sprich, es wird von der Maschine zunächst zyklisch ein Init (ATV0E0X0) gesendet - darauf wird die Antwort 0 (OK) erwartet, nach dem 0 bzw. OK auf den Init kommen bis zum Augenblick des Anrufs zyklisch (~60s) einfache AT - die wiederum mit 0 beantwortet werden müssen, sonst geht es wieder beim Init los.
Kommt auf den Init seitens des Modems keine rechtzeitige Antwort (Zeitfenster geschätzt 1s) kommt der Init nach ca. 2s erneut.
Die Kommunikation der beiden Geräte (Maschine & Modem) habe ich mit zwei alten Notebooks mit "echter" RS232 (je eins auf Rx in der Rx und Tx Leitung der Maschine) und einem entsprechend gebasteltem Adapter mitgeschnitten.
Nun gilt es, die Kommunikation von der Telefonie-Strecke auf IP umzustellen - und das bei Beibehaltung des Maschinenrechners - sprich es braucht eine Art Modem-Simulator.
Solche gibt es bereits - u.a. von einem C64-Enthusiasten - tcpser - http://www.jbrain.com/pub/linux/serial
Mit einem Linux-Notebook älterer Bauart (Toshiba Portege 3490CT) und eben der Software tcpser funktioniert das - die Maschine bekommt ihre Antworten - 0 bzw. OK im Normalbetrieb und auch die Wahl nach draußen klappt. Auf meinen beiden "Spionier-Notebooks" unterscheidet sich die Kommunikation nicht von der mit dem alten Hardware-Modem.
Mit einem Embedded-System, auf welchem auch tcpser läuft, klappt das ganze nicht - obwohl dieses immer die passende Antwort (0) auf den Init sendet (ich schneide die Kommunikation nach wie vor mit), sendet die Maschine durchgehend alle ~2s den Init erneut und sonst nichts - sprich sie scheint auf die Antwort 0 hier nicht zu reagieren.
Nun die Frage - woran könnte das liegen?
Gibt es bei RS232 ggf. Parameter, die "halbkritisch" sind und je nach Toleranz des Empfängers egal ob gesetzt oder nicht trotzdem eine lesbarer Kommunikation (Mitschnitt klappt ja lesbar) zulassen?
Könnte es ein Zeitproblem sein, sprich das die Antwort zu schnell (oder nach Beobachtung bisher eher unwahrscheinlich) zu langsam kommt?
Hat ggf. jemand andere Hinweise?
... ich glaub dafür bin ich zu jung :D
folgender Aufbau:
Eine Maschine erwartet an ihrer seriellen Schnittstelle (RS232 nur RX/TX/GND) ein Modem (ist nicht zu ändern, analoges Modem, kein Handshake - DB9 Brücken 1+4+6 / 7+8) um sich nach draußen zu verbinden - sprich, es wird von der Maschine zunächst zyklisch ein Init (ATV0E0X0) gesendet - darauf wird die Antwort 0 (OK) erwartet, nach dem 0 bzw. OK auf den Init kommen bis zum Augenblick des Anrufs zyklisch (~60s) einfache AT - die wiederum mit 0 beantwortet werden müssen, sonst geht es wieder beim Init los.
Kommt auf den Init seitens des Modems keine rechtzeitige Antwort (Zeitfenster geschätzt 1s) kommt der Init nach ca. 2s erneut.
Die Kommunikation der beiden Geräte (Maschine & Modem) habe ich mit zwei alten Notebooks mit "echter" RS232 (je eins auf Rx in der Rx und Tx Leitung der Maschine) und einem entsprechend gebasteltem Adapter mitgeschnitten.
Nun gilt es, die Kommunikation von der Telefonie-Strecke auf IP umzustellen - und das bei Beibehaltung des Maschinenrechners - sprich es braucht eine Art Modem-Simulator.
Solche gibt es bereits - u.a. von einem C64-Enthusiasten - tcpser - http://www.jbrain.com/pub/linux/serial
Mit einem Linux-Notebook älterer Bauart (Toshiba Portege 3490CT) und eben der Software tcpser funktioniert das - die Maschine bekommt ihre Antworten - 0 bzw. OK im Normalbetrieb und auch die Wahl nach draußen klappt. Auf meinen beiden "Spionier-Notebooks" unterscheidet sich die Kommunikation nicht von der mit dem alten Hardware-Modem.
Mit einem Embedded-System, auf welchem auch tcpser läuft, klappt das ganze nicht - obwohl dieses immer die passende Antwort (0) auf den Init sendet (ich schneide die Kommunikation nach wie vor mit), sendet die Maschine durchgehend alle ~2s den Init erneut und sonst nichts - sprich sie scheint auf die Antwort 0 hier nicht zu reagieren.
Nun die Frage - woran könnte das liegen?
Gibt es bei RS232 ggf. Parameter, die "halbkritisch" sind und je nach Toleranz des Empfängers egal ob gesetzt oder nicht trotzdem eine lesbarer Kommunikation (Mitschnitt klappt ja lesbar) zulassen?
Könnte es ein Zeitproblem sein, sprich das die Antwort zu schnell (oder nach Beobachtung bisher eher unwahrscheinlich) zu langsam kommt?
Hat ggf. jemand andere Hinweise?
... ich glaub dafür bin ich zu jung :D