CANopen/CAN bus, what do I need, including a protocol (OD?), to communicate between PC terminal and CAN device module

StackOverflow https://stackoverflow.com/questions/7069847

سؤال

I have a dsPIC33 with ECAN and wish to establish a protocol (using SDO if possible) in such way that it communicate between terminal software and dsPIC33 where I can perform diagnostics within dsPIC33 and supporting ICs.

I do not know what is required, so what is a low cost way of doing this? I could use a CAN-to-USB device, but I am unsure if this will work. What kind of protocol inside CANUSB wraps around the ASCII-based message?

What hardware can I use? Can it be used to monitor the CAN bus as well? I do not wish to invest in an expensive setup as in Vector or similar heavy-weight solution.

هل كانت مفيدة؟

المحلول

You can download an open source project for CANopen from DATALINK ENGINEERING as this seems to be just what you need.

نصائح أخرى

When you purchase CAN interface hardware, it does not typically include software to work with specific upper-level CAN protocols (like CANopen). They do usually come with a set of DLL files that allow you to write custom PC applications to interface with your hardware.

If you do not want to purchase any third-party software, then you must:

  1. Implement a basic CAN driver for the dsPIC33 (transmit and receive a basic frame).
  2. Implement the CANopen SDO protocol on top of your basic driver on the dsPIC33.
  3. Purchase a low-cost CAN<->USB interface (which should come with DLLs that allow you to develop in C, C++ or C#.
  4. Write a PC application using the DLL files which implements the CANopen SDO protocol.

You may want to look for open-source implementations of the protocol. One such implementation is CanFestival. However, I have never used this library.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top