Forum: Mikrocontroller und Digitale Elektronik PIC: C18 CAN Probleme


von Stefan (Gast)


Lesenswert?

Hallo Leute,

ich hoffe mir kann jemand bei meinem Problem helfen:

PIC 18F
C18 Compiler

Arbeite mich gerade in CAN ein.
Habe dazu einfach von NULL angefangen und losprogrammiert.
Mit Hilfe eines Busmonitoring tools möchte ich nun schaun,
ob der PIC auch sendet.

Meine Frage:
Wenn ich mit CANSendMessage eine Nachricht verschicken möchte wird ja 
das TXREQ Flag des jeweiligen ConrolRegister gesetzt.

Jetzt versucht der µC doch die Nachricht zu versenden.

Sollte kein anderer Teilnehmer drahnhängen, wird ja kein ACK empfangen, 
was wiederum heißt der µC zählt Fehler hoch, oder?
Kenn das alles nur aus der AutomotiveTheorie!
(Der Bustreiber ist mit 120 Ohm abgeschlossen)

Frage das deshalb, weil bei mir unmittelbar nach Start des PIC das 
ErrorBit TXBO (ErrorCounter > 0xFF) gessetzt wird und die entsprechende 
IR_Routine meine MIL leuchten lässt.

Kann mir jemand von euch ein Vorgehen sagen, wie man normalerweise mit 
Steuergeräten an den CAN geht
(z.B. alle 50ms prüfen ob Teilnehmer da is (wie auch immer) und erst 
dann mit dem senden beginnen, oder so?)

Bitte um HILFE!


Grüße

Stefan

von crazy horse (Gast)


Lesenswert?

tja, üblicherweise sitzen immer min. 2 Geräte am Bus - 1 macht ja auch 
wenig Sinn. Wenn du mit CAN experimentierst, solltest du dir auf jeden 
Fall einen CAN-Dongle für PC zulegen. Dann hast du schon mal eine 
funktionierende Station. Ich habe gute Erfahrungen mit dem USB-Dongle 
von Peak Technology gemacht. Preiswerter da:
http://www.canhack.de/
allerdings keine Erfahrungen meinerseits.
Und ansonsten verhält sich dein CAN korrekt, wenn kein Ack kommt. 
Allerdings sollte das nicht sofort nach dem Einschalten passieren - 
127 wird üblicherweise versucht, die Botschaft loszuwerden.

von Stefan (Gast)


Lesenswert?

Hab ne RestbusSim mit V*ctor CAN*e 6.0 geschrieben.
Geh im Moment mit Ca*CaseXL Log an mein Steuergerät.

Das heißt, wenn kein Teilnehmer angeschlossen ist und ich senden möchte, 
wird der Fehlerzähler hochgezählt und mein Bustreiber ausgeschalten??

Hat mir jemand einen Tip wie ich den Bus am besten auf aktive Teilnehmer 
prüfe?
Das Steuergerät soll auch funktionieren, wenn kein anderer Teilnehmer 
aktiv ist.

von Olli (Gast)


Lesenswert?

Hi,

kann mir jmd die can18xx8.c  und  can18xx8.h hochladen oder
wenigstens sagen, wo man die bekommen kann.


Gruß Olli

von Stefan (Gast)


Lesenswert?

Hi Olli,

die nötigen Bibliotheken zu AppNotes findest du unter microchip.com
-> Desing -> Programming und dann "Application Notes - Source Code".

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2121


Grüße

Stefan

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.