CAN - Latenzzeit und FIFO

Dec 17, 2003 3 Replies

Ich habe da mal eine kätzerische Frage:



Stellen wir uns vor, ein Teilnehmer will eine niederpriore Nachricht senden. Aufgrund der hohen Buslast verweilt diese längere Zeit in der Sende-FIFO Während dessen registriert der Teilnehmer ein wichtiges Ereigniss das er dringend mitteilen muss. Dieses Nachricht bekommt eine hohe Priorität, welche eine schnelle Übertragung sichern soll. Dummerweise mus diese Nachricht aber auch auf die FIFO gepackt werden, die noch mit der anderen Nachricht verstopft ist. Wie ist das dann mit der Latenzzeit? Ist im CAN-Protokoll irgendwie für diesen Fall vorgesorgt? Oder sollte man sicherheitshalber für jeden Nachrichtidentifier (oder gruppenweise) eine eigene FIFO definieren?



Danke



- Steffen.


Wenn es ein Echtzeitproblem gibt, am besten ein anderes Bussystem nehmen, was dafür geeignet ist. Solche Probleme kenne ich auch mit CAN-Bus. Gruss, Heinz Dittmar

snipped-for-privacy@web.de schrieb im Beitrag ...

Bei den mir bekannten CAN Chips gibt es mehrere Slots, die alle parallel auf Senden warten. Darf man dann senden, kommt der hoeherpriorisierte zuerst dran. Es ist also kein FIFO, aber das mag nicht bei jedem Chip gleich sein.

Manfred Winterhoff, reply-to invalid, use mawin at despammed.com homepage: http://www.geocities.com/mwinterhoff/ de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/ Read 'Art of Electronics' Horowitz/Hill before you ask. Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.

snipped-for-privacy@web.de schrieb:

Selbst beim SJA1000 kann man den laufenden Sendeversuch einfach abbrechen und dann eine andere Botschaft "dazwischenschieben". Da wird nur die Software im uC etwas komplizierter.

mfg Helmut

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required