Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

instruction for CAN bus

Not open for further replies.


Junior Member level 3
Sep 27, 2012
Reaction score
Trophy points
Activity points
I am trying to work on CAN bus...can any one instruct to write a C program for that..i seen many tutorials...i i dont knw how to use "non-destructive arbitration technique",and further process.i don't need program,becoz i need know complete process for that..i need step by step instruction..


first tell me which is the can microcontroller you are using........

if the microcontroller does not have the can controller then which is the can controller u are using and which is the can transceivers u are using

In regards to a CAN controller hardware implementation much of the arbitration and error handling is done at the hardware level.

These advantages in hardware implementation of the CAN controller allow many microcontrollers with limited resources to effectively implement a CANbus.

Microcontrollers without the embedded CAN controller hardware module often utilize an external CAN controller device like the Microchip MCP2515 which can interface with virtually any microcontroller via an SPI interface.

The following Microchip webinars do a good job of describing the CAN arbitration and error handling processes:

Introduction to Controller Area Network (CAN)

Also I've posted several links to CAN bus reference material in the following post:

Programming Concepts for CAN and USB Protocols

Attempting to implement a software CAN controller module or softCAN can be quite an undertaking as by examination of any microcontroller datasheet which offers a hardware CAN controller.


i have one doubt what is meant by stand alone can controller,

why we call MSP2515 as stand alone CAN controller

i have one doubt what is meant by stand alone can controller,

why we call MSP2515 as stand alone CAN controller

Reference: Microchip MCP2515 Product Page

The MCP2515 is a second generation stand-alone CAN controller. It is pin and function compatible with the MCP2510 and also includes upgraded features like faster throughput, databyte filtering, and support for time-triggered protocols.

A stand alone CAN controller implies the device contains all the necessary hardware, with the exception of a CAN transceiver, to fully implement the CAN bus protocol and can be interfaced by virtually any microcontroller which offers or can implement an SPI interface.

Reference: **broken link removed**
Microchip Technology’s MCP2515 is a stand-alone
Controller Area Network (CAN) controller
implements the CAN specification, version 2.0B. It is
capable of transmitting and receiving both standard
and extended data and remote frames. The MCP2515
has two acceptance masks and six acceptance filters
that are used to filter out unwanted messages, thereby
reducing the host MCU’s overhead. The MCP2515
interfaces with microcontrollers (MCUs) via an industry
standard Serial Peripheral Interface (SPI).

Microchip also offers the MCP2502X/5X series of devices which are referred to as CAN I/O Expanders, either digital or mixed signal, and function without the requirement of an external microcontroller:

The MCP2502X/5X devices operate as I/O expanders for a Controller Area Network (CAN) system, supporting CAN V2.0B active, with bus rates up to 1 Mb/s. Contains up to 8 digital I/O and up to 2 PWM ouputs configurable by the user. The MCP2502X/5X allows a simple CAN node to be implemented without the need for a microcontroller.

Thanks for ur reply guys....i am using PIC controller and mcp 2515 as can controller and mcp 2551 as transceivers

Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to