Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com 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.

CAN application with CANbus vs CANopen

Status
Not open for further replies.

oliverlin09

Member level 1
Joined
Jan 13, 2010
Messages
33
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
UK
Activity points
1,538
Hi All,

I am new to CAN and CANbus.
If I want to build a system to connect to a CANbus, do I need CANopen protocol??
(The system may have a microcontroller/FPGA chip, CAN transceiver and motor......I don't know if I need to add more components.)
 

when you use a microcontroller, which supports CAN protocol, then the controller will have inbuilt registers for complete communication through CAN.. you have to set these registers and use it to send and receive the data appropriately...

if the system has everything you said then you dont need anything more...
 
Hi Oliver,
You only need the CANopen protocol if you intend to communicate with devices which provide it as the means for controlling or monitoring them. If you are building a custom network you can come-up with your own controlling scheme using the inherent capabilities of CANbus: for example, you can send and receive packets of up to 8 bytes and encode/deocde them to suit your application.
CANopen's strength, like most protocols, is in its error recovery mechanism. and in functions like transmitting information that wont fit into a standard 8 byte CAN packet and which requires multiple packets, and if a huge set of standardized parameters to for almost every kind of device under the sun (motor controls, I/O, encoders, analog devices etc.) Even if you were to communicate with an off-the-shelf CANopen device you could do it quite simply since CANopen is a bit of a buffet protocol where you can pick and choose which functions you need to implement.
Frank
 
The Microchip website has an entire section on CAN Design:


**broken link removed**


There are plenty of training videos, appnotes, etc on the various aspects of CAN Design, including the use of CANopen.
 
Those links are useful.
Now I have another question.
If I wanna build a PCB to control a motor and 2 different sensors, do I need 3 CAN transceivers and 3 CAN controllers to control these three things in my PCB??
 

Those links are useful.
Now I have another question.
If I wanna build a PCB to control a motor and 2 different sensors, do I need 3 CAN transceivers and 3 CAN controllers to control these three things in my PCB??

No, not necessarily. The screenshot below shows three nodes of a CANbus, each node has exactly one CAN interface and one MCU. Notice for instance, Node 0 can control a PWM output channel, the state of 8 LEDs, LCD display and store values into an EEPROM, while at the same time monitor/read a potentiometer and two buttons.

The controlling and monitoring various motors and sensors is only limited by the node's MCU or other controller type. The CANbus only provides a path for data I/0 and command flow to the various nodes on that particular CANbus.

Hope this example helps answer your question.

BigDog
 
Last edited by a moderator:
Sorry, where is the screenshot? I can't find it.:-(
 

How do 3 nodes communicate with each other through CAN bus without individual transceivers and controllers... i did not understand anything from your diagram.. explanation should be better in words... this picture do not convey any answer nor technique, but just some GUI representation...

it would be good if you explain the concept you have shown above.... practical implementation explanation is required....
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top