Forum: Mikrocontroller und Digitale Elektronik CAN-Bus mit TM4C123G und MCP2562


von Etienne (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche nun seit einer Woche, eine einfache CAN-Kommunikation 
zwischen zwei Evaluation Boards vom Typ EK-TM4C123GXL 
(http://www.ti.com/tool/ek-tm4c123gxl) von TI mithilfe ihrer eingebauten 
CAN-Controller und CAN-Transceivern vom Typ MCP2562 herzustellen. Den 
Schaltplan habe ich angehängt (aus Versehen sogar doppelt, 
Entschuldigung).

Als Programme verwende ich die von TI im TivaWare-Paket enthaltenen 
CAN-Beispielprogramme simple_tx.c und simple_rx.c, die im Original 
angehängt sind. Die Zeile für das dynamische Interrupt-Vectoring habe 
ich jeweils aktiviert, der Interrupt-Handler wird auch ausgeführt (daran 
erkennbar, dass das Flag bei empfangener Nachricht gesetzt wird, das 
eine Ausgabe auf der seriellen Schnittstelle zur Folge hat). Ansonsten 
habe ich an der angehängten Datei nichts verändert. Die Pinbelegung 
stimmt mit meinem Aufbau überein (PB5 als TX, PB4 als RX). Die 
Abschlusswiderstände von 120 Ohm habe ich eingesetzt.

Mein Problem ist, dass der Sender ständig Nachrichten sendet. Der 
Empfänger empfängt auch Nachrichten, liest aber nur Nullen ein.

Ich habe verschiedene Tests an der Hardware durchgeführt, alle ohne 
Ergebnis. Beispielsweise habe ich TX und RX am Sender mit einem 
Oszilloskop gemessen. Die Verläufe stimmen überein, wie es sein sollte, 
da ja nur ein Board sendet. Ein Kollege hat mit einem Logic-Analyzer die 
verläufe von RX und TX am Empfänger-Board gemessen, dekodiert und die 
korrekten Daten ausgelesen.

Das Herabsetzen der Bitrate war ebenfalls wirkungslos.

Ich habe jetzt das Gefühl, dass möglicherweise ein Problem mit der 
Software vorliegt. Kann mir jemand helfen?

Ich bin für jede Anregung dankbar.

Mit freundlichen Grüßen,

Etienne

von dunno.. (Gast)


Lesenswert?

Etienne schrieb:
> Ein Kollege hat mit einem Logic-Analyzer die verläufe von RX und TX am
> Empfänger-Board gemessen, dekodiert und die korrekten Daten ausgelesen

Habt ihr denn das ack-bit vom Empfänger gesehen? Wenn nein, wäre das 
schonmal eine Erklärung für das dauernde senden..

von Etienne (Gast)


Lesenswert?

Ja, wenn das Empfänger-Board eingesteckt ist, sendet es das ACK Bit.

von Etienne (Gast)


Lesenswert?

Es handelt sich um einen Bug in der TivaWare-API v2.1.3.156. Siehe auch 
https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/551204/2013754

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.