as Arm processor you are talking about having built in CAN controller so u just need to interface CAN transceiver.
Means first can controller to can transceiver then to bus.
there are so many can transceiver and one of them is MCP2551 which is mostly used.
hi.interfacing CAN requires both Hardware and Firmware design. for hardware , MCP2551 is perfect.but for firmware you can use some sample codes instead of reading the datasheet(re inventing the wheel).
nxp has some sample codes : "Sample Code Bundle for LPC23xx". google it.
hi
it is necessary to use transceiver because it changes the signal levels.
in any communication you have different layers.
in CAN there are 4 layersaccording to wikipedia)
1:Application layer
2:Object layer
3:Transfer layer
4hysical layer
the transceiver IC, only receives data from Transfer layer and converts the data to physical signal
Actually it is possible to implement a CAN bus without transceivers, however the length of the bus is severely limited, significantly less than one meter, and protective measures must be take.
The technique is primarily used to quickly test a configuration or when both CAN controllers are in close proximity, such as located on the same PCB.
Beware, it is NOT as simple as crossing TX and RX lines and if implemented incorrectly you could permanently damage your microcontrollers.