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