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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Etienne (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


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

von Etienne (Gast)


Bewertung
1 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.