6. Fast communication? hmmm the maximal Baudrate is 1MBaud and a Frame has a 44 Bit "Overhead"
You can send 8 Bytes Data in one Frame so you get a 108 Bit Frame.
I think that is ok, fast enough for the most things.
CAN is on the "lowlevel". With the SAM7A3 u configure a Messagebox and when no data is on the bus it will be send. Or you configure a receive messagebox and if a other busdevice send a telegramm this messagebox received it.
i think the greate advantage on CAN is, that every telegram has a Identifer. With this Identifier u differ the busdevices.
With the AtmelLibs u can create the Messageobjekts to receive or send Data and only have to handle the interrupt.
if you only want to send some data frames u need no highlayerprotocol such CANopen or something.
the can controller try to send the data if the bus is empty. the telegram with the lowest identifier have the highest priority.
hmmm this is a good link for canopen and can basics (but it is in german)
http://frenzel-berg.de/download/datashe ... uide_d.pdf
To Implement only CAN its easy:
You have to configure the baudrate (or automatic detection) and then u can create message boxes to send or receive data.
u can configure messageboxes to receive only 1 Identifier or a Mask of Identifiers.
So u can configure your device only to hear on the Telegrams with his Identifier and they have no work with other Telegrams.
if you want to connect to third party measuring devices u need to know how it communicate. which identifier they use or if they use a higherlayer protocol.
i haven't seen a free canopen stack or something but i didn't search a lot.
the basic CAN use a minimal of ressources. you have to activet the can controller, then u have to create messageboxes and then you have to handle the data from this boxes. if you use can with 1 MBaud you can get every 44µs an interrupt from a telegram in the worst case.
Here you have a presentation for the can basics:
http://www.at91.com/repFichier/Document ... %20CAN.ppt
This is good to get an CAN overview. You can read there that it have a good Errordetection and all the other informations.
I use CANopen in the Industrial Communication. On
http://www.can-cia.org/ you can also see information about CAN and CANopen and other Highlayer CAN Protocolls.
Here you can download the CANopen Specification:
http://www.can-cia.org/index.php?id=440
CiA 301 DS V4.0.2: CANopen application layer and communication profile
IGCO_301_v04000201.pdf
describes the CANopen Communication and there u can read which CANIdentifier used for what by the CANopen Protocoll.
But if u use only your own Devices u can "develop" your own Protocol.
In the Automobilebranch the use there own protocols. BMW use KWP and Merceds and others use CCP (CAN Calibration Protocol).
if u work with CANopen you have a good Errordetection if some devices doesn't answer or the busmaster get offline.
http://www.vector-worldwide.com/ sales canopen Stacks.
And here (
http://www.can-cia.org/pg/can/ ) you can see products for can (canopen and so on).
If u work with canyo u need a CANalyser to test your Device and send Data or Receive Data from the Bus. I use it from PEAK its cheap and good. (
http://www.peak-system.com/?gclid=CP-ow ... uwodBicD-Q) a USB CAN Adapter and the CAN Explorer to see whats going on on my CANBus.
have a lot of fun with CAN
Rgds
Shutty