Wer hat schonmal den MCP2551 CAN Transceiver benutzt? Schaltungfrage Pullup an RX-Leitung

Gast #6950623
Lesenswert?

Wollte mal fragen wer schonmal mit dem MCP2551 CAN-Transceiver 
gearbeitet hat und mal etwas an seiner Schaltung/Software vergleichen 
kann. Da ich hier einen Fehler in der Übertragung habe und die Ursache 
nicht finde.

Benutzt ihr auf der RX Leitung zw. µC und MCP2551 in der Hard-/Software 
einen Pullup oder ist das sogar contraproduktiv.

Ich habe hier aus der Forums Wanderkiste eine Platine mit einem AVR 
ATMega16M1 dem ein MCP2551 bestückt, die Übertragung läuft einwandfrei 
aber ganz zum Schluß wird die Nachricht am PC-Interface verworfen und 
ich komme nicht drauf woran das liegt.
Angehängte Dateien:
#6950642
Lesenswert?

CAN_Newbie schrieb:
> die Übertragung läuft einwandfrei
> aber ganz zum Schluß wird die Nachricht am PC-Interface verworfen und
> ich komme nicht drauf woran das liegt.

Woher weißt du, dass die Übertragung einwandfrei läuft, wenn sie doch 
verworfen wird?

Mit welchem Fehler wird sie verworfen?


Pullups sind nicht notwendig, sollten aber eigentlich auch nichts kaputt 
machen.
Moderator (Firma: Titel) Persönliche Seite #6950645
Lesenswert?

CAN_Newbie schrieb:
> Benutzt ihr auf der RX Leitung zw. µC und MCP2551 in der Hard-/Software
> einen Pullup oder ist das sogar contraproduktiv.
Warum sollte da ein Pullup rein? die Leitung kann kein Tristate, also 
ist der Pegel immer definiert und ein Pullirgendwas unnötig.

> aber ganz zum Schluß wird die Nachricht am PC-Interface verworfen
An welchem PC-Interface? Von welcher Software?
Gast #6950689
Lesenswert?

CAN_Newbie schrieb:
> Ich habe hier aus der Forums Wanderkiste eine Platine mit einem AVR
> ATMega16M1 dem ein MCP2551 bestückt, die Übertragung läuft einwandfrei
> aber ganz zum Schluß wird die Nachricht am PC-Interface verworfen und
> ich komme nicht drauf woran das liegt.

Bei mir zählt eine Übertragung erst als einwandfrei laufend, wenn alles 
so ankommt, wie ich es mir vorstelle.

Wie sehen deine Signale auf dem Bus aus (physical layer), versteht der 
LA die Nachrichten und mit welchem Argument verwirft das PC-Interface 
die Nachricht?
Wie sieht deine Busbeschaltung aus? (Schaltplan)
Gast #6950714
Lesenswert?

ja Terminierung ist vorhanden, VREF ist offen das ist ja nur ein 
Ausgang, bei mir hängen aber alle Knoten hängen an der gleichen 5V, GND, 
CANL und CANH Leitung gibt also keinen Potentialunterschiede.

Das Interface ist dieses hier
https://www.microchip.com/en-us/development-tool/apgdt002

Mit dem Oszi kann ich die Nachricht aufzeichnen und da passt alles habe 
die Nachricht komplett analysiert inkl. Stuffbits, CRC Check usw.

Kann es sein das der Sender die Nachricht wiederuft, wenn man das TXOK 
Bit nicht richtig gesetzt/abgerufen wird? Nach den 7 Bits Pause nach der 
Nachricht sind noch mal 2 kürzere Pulse auf der Leitung allerdings nur 
mit etwa 1/4 der normalen Bitzeit.
#6951475
Lesenswert?

Vref bleibt offen, korrekt. Aber warum ist RS mit 100k auf einen Portpin 
gelegt? Brücke RS mal stumpf auf GND. Bei RS mit 100k gegen GND hast du 
schon extrem langsame Flanken, vlt noch für sehr niedrige Bitraten aber 
nicht mehr 100kbit oder höher. Siehe Bild.
Wenn der Portpin auf High liegt geht der MCP in Standby. Absicht?

Und zeige mal einen Screenshot von deinem Sniffer bitte.

Pull-ups an RXD/TXD kenne ich höchstens noch aus der 8051 Zeit, wo die 
Portpins beim Startup teilweise nicht Highpegel halten konnten und vor 
der Initialisierung des Ports bei einem zufälligen Low mal schön einen 
Busfehler bei den übrigen Busteilnehmern erzeugt hat.
Angehängte Dateien:
Gast #6951575
Lesenswert?

Es ist eine alte Weisheit dass Schaltungen mit dem MCP2551
CAN-Transceiver keine Abblock-Kondensatoren brauchen. Solche
Kondensatoren müssen nur dann vorgesehen werden wenn auf der
Schaltung das Prädikat "professionell" aufgeklebt ist.

Normale Hobby-Schaltungen brauchen diese Kondensatoren
grundsätzlich nicht da überall im Internet geschrieben wird
dass es auch ohne hunderprozentig zuverlässig funktioniert.
#6951659
Lesenswert?

OMG schrieb:
> Es ist eine alte Weisheit dass Schaltungen mit dem MCP2551
> CAN-Transceiver keine Abblock-Kondensatoren brauchen. Solche
> Kondensatoren müssen nur dann vorgesehen werden wenn auf der
> Schaltung das Prädikat "professionell" aufgeklebt ist.
>
Bevor ich den Verdacht raushaue, würde ich erstmal den Rest der 
Schaltung betrachten. Mit der Drossel, PESD1CAN und der 
Split-Termination entstammt das ja höchstwahrscheinlich nicht der Feder 
eines Dilettanten. Die Abblockung kann je nach Aufbau auch anderweitig 
stattfinden, wenn z.B. der Transceiver direkt neben dem Spannungsregler 
sitzt.

@CAN_Newbie:
Das Oszillogramm sieht etwas merkwürdig aus, entweder 1MHz 
Taschenoszilloskop oder fehlender Masseanschluss. Ich würde nicht so ein 
Auf und Ab im Pegel erwarten…
#6951680
Lesenswert?

Ich denke dein Problem sind die zwei rot eingekreisten Impulse, die 
offensichtlich nicht zum CAN Protokoll gehören. Die können den Error 
auslösen. Während das gesamte Oszillogramm zu deinem Diagramm passt sind 
die beiden Impulse fehl am Platz. Auch von der Breite her passen die 
nicht zur eingestellten Baudrate.

So etwas kann ausgelöst werden, wenn die IO-Portpins mit 0 initialisiert 
sind und die Sonderfunktion CAN von diesen beiden Portpins zu- und 
abgeschaltet wird. D.h. solange das CAN-Modul die Portpins bedient 
werden die schön mit 1 in den Ruhephasen belegt. Wird die Sonderfunktion 
CAN von dieser IO weggeschaltet gilt wieder der zuvor eingestellte 
Pegel. Also bitte mal das IO-Ausgangsregister mit „1“ vorbelegen.
Angehängte Dateien:
(Firma: Da) #6952116
Lesenswert?

CAN_Newbie schrieb:
> Die Bussignale sind sauber. Das Interface sagt einfach nur Error.
> Anbei
> der beigelegte Schaltplan.

Laut Forenregeln müssen Schaltpläne im PNG-Format (oda GIF) gespeichert 
werden! Ich hab das mal korrigiert! Halte dich nächstes mal bitte daran!

Zidat:
"Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate."
Angehängte Dateien:
Gast #6952229
Lesenswert?

ja was soll es bringen ein .jpg nochmal in .png zu ändern die Infos die 
das .jpg verloren hat kommen dadurch nicht wieder. Wenn ich einen 
Schaltplan einstelle der direkt vom Rechner stammt speichere ich das 
selbstverständlich gleich als .png

PS aus dem 74kB .jpg wurde jetzt ein 460kB .png

Der MCP2551 hat nen 100nF Kerko direkt zw. VCC und GND, bei der Messung 
habe ich mir nicht die größte Mühe gemacht, da es bei der 
differentiellen Übertragung nicht darauf ankommt.
#6952244
Lesenswert?

Thomas O. schrieb:
> Harald: Ja genau diese 2 Impulse habe ich im Verdacht, als ob das als
> Errorframe erkannt wird und die ganze Übertragung verworfen wird.

Lass dich nicht mit den Bildformaten irritieren.

Aber was ist denn jetzt mit den beiden Impulsen? Vom CAN Controller 
kommen die eher nicht. Die Übertragung ist eigentlich nicht verworfen, 
das Quittungsbit kommt ja.

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