Forum: Digitale Signalverarbeitung / DSP / Machine Learning DSP F2812: "CAN - Remote Frame"


von müllo (Gast)


Angehängte Dateien:

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.

von müllo (Gast)


Angehängte Dateien:

Lesenswert?

anbei noch der Quelltext für den Sklave-DSP...

von Hoerby (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.