can bus



  • CANalratte schrieb:

    sind error frames nicht optional?

    Optional? Wenn ein Teilnehmer die Arbitrierung gewinnt und dann auf dem Bus anstelle seine rezessiven Bits ein dominantes sieht, gibts einen Error-Frame.

    CANalratte schrieb:

    wie hast du's gemacht? rumreichen eines sende-tokens nehme ich an...
    🙂

    Nö. Das war so ein Ping-Pong-Protokoll. Der Client sendet einen Request, darin ist u.a. eine IDE drin, die einen der Teilnehmer eindeutig anspricht. Empfängt dieser die Botschaft, darf er sofort senden. Die anderen sehen das und machen nichts. Sollte aber der angesprochene Teilnehmer aus einem Grund nicht existieren, dann sendet ein anderer Teilnehmer (der mit der niedrigsten ID) einen Fehler zurück, nach einer gewissen Zeit (abhängig von der eigenen ID).

    Edit: Den Client durfte ich nicht anfassen. Deswegen das Gefrickel.



  • Tim schrieb:

    Optional? Wenn ein Teilnehmer die Arbitrierung gewinnt und dann auf dem Bus anstelle seine rezessiven Bits ein dominantes sieht, gibts einen Error-Frame.

    ach so, ich kann mich dunkel daran erinnern mal irgendwo gesehen zu haben, dass man die erzeugung von error frames auch abschalten kann. aber eigentlich dürfte das wiederholen einer message (was ja ganz normal ist) keinen error frame auslösen, es sei denn, der teilnehmer ist nicht mit dem bus synchronisiert und haut dominante bits mitten in eine übertragung. error frames gibts doch eigentlich nur, wenn irgendwas richtig kaputt war, z.b. keiner ack'd, crc falsch, usw. ansonsten ist es das übliche spiel: die message mit der kleineren ID gewinnt und der andere muss eben seine message danach wiederholen muss. oder täusche ich mich?
    🙂


Anmelden zum Antworten