-         

Ergebnis 1 bis 8 von 8

Thema: CAN baudrate stimmt nciht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2014
    Beiträge
    15

    CAN baudrate stimmt nciht

    Anzeige

    Hallo, nachdem ich mein lcd-display wieder zum laufen bekommen habe, gehe ich wieder meiner eigentlich aufgabe dem CAN nach. Dieser hat auf dem dspicdem2 Board mit einem dspic30f4011 funktioniert.
    Jetzt habe ich ein dspic30f6011a und es funktioniert nicht.
    Ich habe einen 8MHz quarz angeschlossen mit einem PLL 8. Daraus Folgt FCY=FOSC*PLL/4=8MHz.
    das BRP habe ihc =0 gesetzt.
    TQ=2*((BRP+1)/FCY)=250ns. Die Baudrate vom CAN soll 250kHz (1Bit=4us) sein. Daraus folgt, dass ein Bit aus 16 TQ besteht. diese habe ich wie folgt verteilt
    Synchronizations Segment = 1TQ
    Propagations Segment = 5TQ
    Phase Segment 1 = 5TQ
    Phase Segment 2 = 5TQ
    Damit habe ich dei 16 TQ verteilt. Die Sprungweite habe ich auf 3TQ gesetzt.
    wenn ich das ganze am CANalyzer anschliesse, wird mein CAN aber nicht gefunden. setze ich diesen auf 250kHz, dann bekomme ich nur Error-Frames.
    Die Regeln für die Verteilung
    Propagations Segment + Phase Segment 1 >= Phase Segment 2
    Phase Segment 2 >= Sprungweite
    muss ich noch weitere sachen berücksichtigen?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.397
    Zitat Zitat von Chandler Beitrag anzeigen
    Ich habe einen 8MHz quarz angeschlossen mit einem PLL 8. Daraus Folgt FCY=FOSC*PLL/4=8MHz.
    Ich rechne 8 * 8 / 4 = 16. IMHO muß man aber beim dspic durch 2 teilen, also 32.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2014
    Beiträge
    15
    Oha, ich hatte mich verschrieben. Ich meinte, ich habe ein PLL von 4. Der Rest der Berechnung ist auch mit PLL=4 berechnet.
    wo steht das, dass man durch 2 teilen muss? Im Datenblatt steht, dass durch 4 geteilt wird.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.397
    Zitat Zitat von Chandler Beitrag anzeigen
    wo steht das, dass man durch 2 teilen muss? Im Datenblatt steht, dass durch 4 geteilt wird.
    Bei den 16 Bit PICs wird durch 2 geteilt, und ich denke die dspic sind aus der gleichen Familie. Aber wenn in deinem Datenmblatt durch 4 steht, dann wirds nicht so sein.

    Aber bei solchen Sachen rechne ich nicht. Schätzen, etwas ausgeben und mit Scope oder LA messen und die Schätzung korrigieren. Geht schneller, als in zwei Foren nachzufragen.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2014
    Beiträge
    15
    nun ja, ist ja nicht so, dass ich nichts probiere.
    habe die anzahl der TQs in den einzelnen Phasen verändert, aber zu keinem erfolgreichen Ergebnis gekommen. Da ich ja eigentlich meiner Meinung nach alles richtig eingestellt habe und es trotzdem nicht funktioniert, würde ich auch in vielen Foren Nachfragen, ob man dabei doch noch mehr sachen berücksichtigen muss, damit das funktioniert.
    Und wenn es funktioniert würde ich es gerne mit absicht machen und nicht einfach try and error.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Zitat Zitat von Chandler Beitrag anzeigen
    mit absicht machen und nicht einfach try and error.
    Dann ist die Microchip-Site ein guter Anlaufpunkt. Es würde mich wundern, wenn die zu diesem Prozessor bzw. -familie keine Anleitung (Application Note) zur CAN-Programmierung liefern.
    Microchip ist in dieser Hinsicht m.E. wirklich gut!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.03.2014
    Beiträge
    15
    Bevor ich es vergesse, möchte ich mich für eure antworten bedanken. Das Problem hat zwar ein bisschen gedauert, habe es aber letztendlich herausgefunden (schon am Montag).
    Das Problem war, dass ich meinen CAN galvanisch mit einem ISO7221A entkopple. Dies habe ich zumindest gedacht, aber auf meiner Platine ist ein ISO7220 drauf. So wurde das CAN High/Low signal verfälscht, bzw. kam erst gar nicht an. Auch meine eingestellten TQs funktionieren jetzt.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Glückwunsch und Danke für den abschließenden Bericht zur Lösung.

Ähnliche Themen

  1. Nimmt Adapter scheinbar nciht an
    Von Nerd im Forum AVR Hardwarethemen
    Antworten: 19
    Letzter Beitrag: 04.07.2008, 20:13
  2. Frequenzwandlung - ich weiß nciht weiter
    Von Powell im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 22.06.2008, 17:14
  3. Ausgabe an DIsplay klappt nciht richtig / komischer fehler
    Von NetBlade im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 4
    Letzter Beitrag: 04.05.2008, 22:31
  4. Funkschaltplan, stimmt das so?
    Von Rohbotiker im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 15.10.2007, 17:53
  5. [ERLEDIGT] Stimmt das?
    Von Tixo im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 31.01.2004, 12:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •