stefan_m
30.06.2006, 01:18
Hi,
Ich habe folgendes Prblem: Ich möchte CAN Nachrichten empfangen ohne Interrupts zu verwenden. (Die Anwendung hat strikte Deadlines und darf daher nicht unterbrochen werden. Denn falls auf dem CAN Bus viele Nachrichten übermittelt werden, könnte die Anwendung ihre Deadlines eventuell nicht mehr unterschreiten.) Die Nachrichtenpuffer sollen von der Anwendung zyklisch abgefragt werden: liegt eine neue Nachricht im Puffer wird diese verarbeitet. Das Problem hierbei ist, ich kann Nachrichten "verpassen", d.h. es werden 2 Nachrichten in einen Puffer geschrieben der nur eine aufnehmen kann.
Ich verwende einen MPC555 mit TouCAN Controller (mit 16 Nachrichtenpuffern). Ist es möglich diese Puffer so einzustellen, dass mehrere Puffer als Lesepuffer konfiguriert werden und diese nacheinander befüllt werden, so dass mehrere Nachrichten (anstatt einer) pro Zyklus gespeichert werden können? Wichtig dabei ist, dass alle Puffer alle möglichen eingehenden Nachrichten aufnehmen sollen, d.h. die Filtermaske für die Puffer auf 0x00000 steht. Dies ist wichtig, weil die Anwendung unterschiedlichste zur Laufzeit nicht bekannte Nachrichten empfangen und ggf. verarbeiten soll.
Vielen Dank im voraus,
Stefan
Ich habe folgendes Prblem: Ich möchte CAN Nachrichten empfangen ohne Interrupts zu verwenden. (Die Anwendung hat strikte Deadlines und darf daher nicht unterbrochen werden. Denn falls auf dem CAN Bus viele Nachrichten übermittelt werden, könnte die Anwendung ihre Deadlines eventuell nicht mehr unterschreiten.) Die Nachrichtenpuffer sollen von der Anwendung zyklisch abgefragt werden: liegt eine neue Nachricht im Puffer wird diese verarbeitet. Das Problem hierbei ist, ich kann Nachrichten "verpassen", d.h. es werden 2 Nachrichten in einen Puffer geschrieben der nur eine aufnehmen kann.
Ich verwende einen MPC555 mit TouCAN Controller (mit 16 Nachrichtenpuffern). Ist es möglich diese Puffer so einzustellen, dass mehrere Puffer als Lesepuffer konfiguriert werden und diese nacheinander befüllt werden, so dass mehrere Nachrichten (anstatt einer) pro Zyklus gespeichert werden können? Wichtig dabei ist, dass alle Puffer alle möglichen eingehenden Nachrichten aufnehmen sollen, d.h. die Filtermaske für die Puffer auf 0x00000 steht. Dies ist wichtig, weil die Anwendung unterschiedlichste zur Laufzeit nicht bekannte Nachrichten empfangen und ggf. verarbeiten soll.
Vielen Dank im voraus,
Stefan