DSP F2812: "CAN - Remote Frame"

Gast #253341
Lesenswert?

Hallo liebe Mitstreiter,

zur Vorbereitung einer Studienarbeit kämpfen wir uns gerade durch ein
Vorlesungsskript. Nunmehr das Kapital CAN fast durchgearbeitet, hängen
wir an der letzten Übung.

Aufgabe:
2CAN-Controller sollen so konfiguriert werden, dass sie im
"auto-answer-mode" arbeiten. Ein Empfänger- Mailbox (Sklave), die den
RTR (remote-transmission-request) vom Master empfängt und die Portpins
(B15...B8) per CAN überträgt.

Problem:
Nach Start der beiden Controller (sourcen siehe Anhang), wird der RTR
nur einmal ausgeführt und danach passiert nix mehr.

Lösungsansätze:
Ich bin der Meinung, dass irgendwo ein Bit zurückgesetzt werden muss.
Vielleicht gibt's hier im Forum ein paar Leute, die den Fehler sehen.
Im Voraus schonmal vielen Dank.
Angehängte Dateien:
Gast #253343
Lesenswert?

Um über das TMS320F281x eCan Modul einen neuen Remote Frame zu senden
muss das RTR Bit im MCF  Register erneut gesetzt werden. Dafür jedoch
muss die betreffende Mailbox zuvor deaktiviert werden (CANME -
Register). Anschließend die Mailbox wieder aktivieren (enable) und
schon wird ein neuer Remote Frame übertragen.
Es ist auch darauf zu achten, dass nach dem Empfang eines via RTR
angeforderten Datenframes, das RMP (Recieve Message Pending) Bit
zurückgesetzt wird.
Wenn zusätzlich mit Interrupts gearbeitet wird, so müssen innerhalb der
ISR auch die entsprechenden Interrupt - Flagregister zurückgesetzt
werden.

Ich hoffe das hilft, obwohl es etwas spät kommt.

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