Hallo Leute, ich versuche mich momentan an einer XCP Verbindung die über die serielle Schnittstelle läuft. Also praktisch USART - RS232. Laut XCP Spezifikation ist dies möglich und nennt sich XCP over Sxi. Mein Problem dabei ist, ich weis nicht wie ich eine eingehende XCP Nachricht aus dem RX Bytestream herausfiltern soll. Im angehängten Bild ist der Aufbau eines XCP over Sxi - Frames zu sehen. Aber im Gegensatz zu zB PPP Frames beginnt und endet dieser Frame mit keinem speziellen Steuerzeichen. Kennt sich damit zufällig jemand aus? Wie würdet ihr einen solchen Frame "erkennen"? Hab mir schon gedacht über einen Timer Übertragungspausen zu messen. Empfange ich mehrere Bytezeiten nichts kann die Übertragung als zu Ende angenommen werden. Wobei ich das eher für Pfusch halte, vor allem wenn evtl. noch andere Sachen an der Seriellen empfangen werden sollen. Jemand eine Idee? Viele Grüße, hiko
Sorry, aber deine Frage ist zu allgemein und doch zu speziell. Zu speziell, weil hier kaum einer Zugriff auf die ASAM-Specs haben wird und wenn dann müsste er diese auch erst durcharbeiten. Zu allgemein, weil du nicht beschreibst aus was du die Daten heraus filtern willst. Wenn man den Frame-Aufbau in deinem Bild anschaut, so sieht es danach aus als würde auf dem seriellen Bus zu dem Zeitpunkt nur der XCP-Frame übertragen (und dessen Länge steht ja im Header). Also wird entweder der Bus ausschließlich für XCP sein oder es wird sich um eine Master-Slave Kommunikation handeln (was bei XCP der Normalfall ist). Und dann weiß der Master ja automatisch dass die Antwort eben auch ein XCP-Frame ist. Den Frame als Spy heraus lesen geht dann nur, wenn man die Kommunikation auf dem Bus von Anfang an mit macht oder wenn die Pausen zwischen den Anfragen des Masters ausreichend groß sind, dass man sie detektieren kann. Gruß, TManiac
Ja, hab mich jetzt auch dazu durchgerungen das erste empfangene Byte als Längenbyte zu werten und dann eben genau soviele Bytes zu lesen. Nur schiefgehen darf dabei dann nix... Die Specs gibts btw für jeden verfügbar, sind Teil des (kostenlosen) Basictreiber den es bei Vector gibt. Aber viel Lektüre ist es wirklich... :) Grüße, hiko
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.
