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