Forum: Mikrocontroller und Digitale Elektronik CAn-Controller und AVR ???


von Heinz (Gast)


Lesenswert?

Hallo alle zusammen!

Ich will mit dem AVR 8535 CAN Botschaften senden und empfangen.
Dazu will ich den SJA1000 benutzen.
Da ich noch in dem gebiet Afänger bin benötige ich Infos dazu.
(Hardwareaufbau und Software)
Wie spreche ich den CAN Controller mit dem AVR richtig an?
Hat jemand dazu ein kleines Beispiel Programm???

Vielen Dank!

von Norman Paasche (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Heinz,

ich weis nicht was Du da vorhast, aber der 8535 erscheint mir als
etwas zu mikrig, um damit vernünftig CAN machen zu wollen.
Der SJA1000 ist ein BASIC-CAN Controller, der zwar Nachrichten
empfängt usw., nur die Auswertung der Nachrichten, bzw. das Überge-
ordnete Programm benötigt etwas mehr RAM als der 8535 hat. OK,
externer RAM kann man anschalten ;-)
Der SJA1000 hat ja auch ein Parallelinterface. Würde also passen.

Aber vielleicht möchtest Du ein smartes Leiterplattendesign auf
engstem Raum, um zB. nur ein Sensorsignal auszuwerten, welches seine
Daten halt über CAN-Bus schickt. Wenn dies der Fall sein sollte,
so empfehle ich Dir den MCP2515 oder MCP2510 von Microchip. Muster
sind auf www.microchip.com verfügbar. Der Chip ist bei RS-components
oder bei Farnell zu beziehen. Vorteil dieses Chips sind:

-serielles Interface (SCLK,Sin,Sout + Interrupt)
-SOL-18 Gehäuse (18 pin)
-externe events lösen das senden von Nachrichten aus, welche zuvor
 im Nachrichtenpuffer eingestellt worden sind

Falls es nur um eine Anschaltung von wenig Pheripherie geht, so
ist der IC MCP25020 oder MCP25050 sehr interessant. Es ist mir jedoch
nicht geglückt diesen Chip mit der Programmerschaltung von Microchip
zu Programmieren. (Timingprobleme)

Mein Projekt ist ein Spezialantrieb mit Schrittmotor, welcher über
CAN-Bus angesprochen wird. Da ich einen dynamischen Antrieb
programmiere, habe ich mich für den ATmega 128 entschieden. Mit 4kB
RAM ist da auch genügend Platz für einen Nachrichtenpuffer.
Der MCP2515 ist am SPI-Bus angeschlossen und am PORTE.7 ist der
Interrupt angeklemmt. Derzeit bastel ich mir mein eigenes Protokoll,
welches die Grundzüge von CANopen besitzt. Vielleicht kannst Du ja
meinen Source auf 8535 anpassen - falls Du auch den MCP2515
verwendest? Ich würde mich freuen, wenn Du mir den lauffähigen ange-
passten Source dann wieder zuschicken würdest.


MfG
Norman

von Josef (Gast)


Lesenswert?

Habe sehr gute Erfahrung mit dem CAN -DIP gemacht.

/www.elektronikladen.de/candip.html



Schöne Gr.Josef

von Sascha (Gast)


Lesenswert?

Hallo Heinz,

hast Du den MCP mit dem 8535 am laufen? Ich möchte einfach
CAN-Nachrichten senden, wollte dafür auch dem MCP2515 benutzen. Kannst
Du mir dem Source posten?? Danke!!


Gruß,
Sascha

von AndreasH (Gast)


Lesenswert?

Sieh mal hier auf der Link-Seite.

Da gibt es 2 Links zu AVR und Can mit Quellcode.

von Peter D. (peda)


Lesenswert?

"aber der 8535 erscheint mir als
etwas zu mikrig, um damit vernünftig CAN machen zu wollen."

Warum, das CAN dürfte in max 200 Bytes erschlagen sein.

Nur wenn Du darauf noch ein super-duper Monsterprotokoll (TCP/IP)
aufsetzen willst, kanns eng werden.

Allerdings ist für den SJA1000 ein AVR mit externem Datenbus besser
geeignet, z.B. Mega8515 oder Mega162. Dann kann er nämlich in den SRAM
Bereich gemappt werden.


Peter

von Uwe B. (Gast)


Lesenswert?

Habe MCP2515 CAN-Controller abzugeben (war eine Bestellung vom
Großhändler).

Bei Bedarf >> Mail


MfG   Uwe

von Eddi (Gast)


Lesenswert?

Hi

Ich glaube kaum, daß der 8535 zu klein ist. Bei mir läuft ein
CAN-Knoten mit Taster, LED und RC5-Empfänger auf einem 90S1200 (15
IO-Pins) mit angeschlossenem 82C200 (Vorgänger des SJA1000).
Für die ganze Applikation hab ich knapp über 200 Worte gebraucht,
allerdings in Assembler.

Gruß
Eddi

von Dieter (Gast)


Lesenswert?

MCP2515 CAN-Controller gibt es als Samples bei Microchip, und das für
lau. Bis zu drei Stück pro Bestellung.
Natürlich auch die anderen interessanten CAN-Steinchen...

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.