Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Mega128 CAN Bibliothek Kategorie: CC-Pro Unit & Appl.Board (von Borney - 26.03.2012 10:08)
Als Antwort auf Re: Mega128 CAN Bibliothek von Jan - 24.03.2012 14:29

> > Hallo,
> >
> > nun habe ich mal begonnen, den Mega128 CAN zu testen, habe es aber bisher nicht geschafft den
> > CAN-Bus zum laufen zu bringen. Hierfür habe ich ein Testprogramm zusammengestellt aus den Beispielen
> > der Hilfe:
> >
> > ' Ausgabe auf CAN - Test:
> >
> > Dim fifo_buf(140) As Byte
> > Dim data(8) = {1,2,3,4,5,6,7,8} As Byte
> > Sub main()
> > CAN_Init(CAN_250KBPS,10,fifo_buf)
> > CAN_SetMOb(1,0x0cffffff,0,CAN_SEND Or CAN_EXTID)
> > Lab Schleife
> > CAN_MObSend(1, 8, data)
> > AbsDelay(50)
> > Goto Schleife
> > End Sub
> >
> >
> > Die Mega128CAN läuft auf dem Application Board, der CAN-Bus ist mit 2x 120 Ohm abgeschlossen,
> > aber keine Botschaften werden versendet (Pegel auf CAN HI und LO konstant bei 2,5V, gemessen mit
> > Oszi und mit Canalyzer überprüft)!
> >
> > Ich denke das etwas bei der Initialisierung fehlt, vielleicht hat jemand die CAN-Schnittstelle
> > schon erfolgreich getestet und kann ein paar Tipps geben?
> >  
> >
> > GruÃ? Borney
>
> Hallo Borney,
>
> hierzu fallen mir zwei Dinge ein:
> Der flag- Parameter wird durch Oderierung gebildet, statt dem "And" muss bei Dir also ein "Or" stehen.
> Wofür willst Du CAN_EXTID einstellen?
> Ich habe die Erfahrung gemacht, dass das Programm nur dann läuft (also sendet), wenn es auch einen
> Adressaten gibt, der auch genau diese Nachricht (ID) lesen soll. Das Program läuft sonst nicht weiter,
> kann also nichts senden, was Du messen kannst.
> Schlie� zwei Application Boards an den CAN Bus an und konfiguriere das zweite als Empfänger,
> dann geht es.
>
> GruÃ?, Jan

Hallo Jan,

vielen Dank für deine Tipps!
Nun funktioniert es auch nachdem die Flageinstellung mit "Or" verknüpft ist. Den EXTended ID verwende
ich zur Simulation des SAE J 1939 CAN - Protokoll, wie in Nutzfahrzeugen verwendet.
�brigens läuft hier der CAN auch mit einem Teilnehmer (Mega128 CAN) einwandfrei, wenn die Abschlusswiderstände eingebaut sind.

Das Beispiel oben habe ich entsprechend geändert und könnte somit als Beispiel verwendet werden.

Der Canalyzer gibt mit dem Beispielprogramm folgendes aus:

     Time           Chn ID          Name         Dir     DLC Data                      Send nodeDiff time    
 [-] 1362.925003    1   CFFFFFFx                 Rx      8   01 02 03 04 05 06 07 08       0.046280    
  |      Priority: 3   Data page: 0   Source : all   Destination: --   CAN-Id CFFFFFFx

Ich hoffe dies hilft auch weiteren CAN-Bus Interessenten weiter.

GruÃ? Borney


    Antwort schreiben


Antworten: