MOb-Register befüllung beim AT90CAN128

Gast #3548096
Lesenswert?

Hallo,

Ich verwende AT90CAN128 und habe dazu eine rein theoretische Frage:

Szenario:
Auf dem CAN-Bus kommt ein Frame zu dem es ein passendes MOb gibt und ein 
Hit wird erkannt. Die IDT, IDE DLC weden geupdated und die 8 Daten-Bytes 
werden im Register des MOb abgelegt. -> RXOK

Was passiert nun wenn ein weiterer Frame mit der gleichen ID, jedoch 
anderen Daten, kommt bevor ich in meinem Programm die Daten des alten 
Frame ausgelesen habe?

Werden die Register einfach überschrieben? Oder bleibt der Frame im 
Receive-Buffer bis das das Register des MOb wieder frei ist?
Gast #3549546
Lesenswert?

Ja, solange die Messsage-Box nicht wieder auf Empfang geschaltet wird 
nimmt sie halt keine Daten an.

Das dürfte sich aber in der Praxis eher nicht so auswirken das 
Botschaften verloren gehen, der CAN ist ja doch recht langsam.
Eine CAN-ISR die einfach nur die Daten aus dem MoB schaufelt ist in 
weniger als 2µs fertig.

Wie kurz kann ein Frame sein? Ich komme auf mindestens 52 Bits bei einem 
Byte Daten, also 52µs bei 1MBit.
8 Byte Nutzdaten und 500kBit wären dann 216µs.

Also richtig viel Zeit dafür zu sorgen, dass die Daten verstaut sind.

100% Buslast hat man dann ja auch nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren