CANopen / CAN总线,我需要什么,包括协议(OD?),以便在PC终端和CAN设备模块之间进行通信

时间:2011-08-15 19:41:03

标签: c embedded network-protocols can-bus

我有一个带有ECAN的dsPIC33,并希望建立一个协议(如果可能,使用SDO),以便它在终端软件和dsPIC33之间进行通信,我可以在dsPIC33和支持IC中执行诊断。

我不知道需要什么,那么这样做的低成本方法是什么?我可以使用CAN-to-USB设备,但我不确定这是否可行。 CANUSB中的哪种协议包含基于ASCII的消息?

我可以使用哪些硬件?它也可以用来监控CAN总线吗?我不希望投资昂贵的设置,如Vector或类似的重量级解决方案。

2 个答案:

答案 0 :(得分:4)

购买CAN接口硬件时,通常不包含使用特定上层CAN协议(如CANopen)的软件。它们通常带有一组DLL文件,允许您编写自定义PC应用程序以与硬件连接。

如果您不想购买任何第三方软件,则必须:

  1. 为dsPIC33实现基本CAN驱动程序(发送和接收基本帧)。
  2. 在dsPIC33上的基本驱动程序之上实现CANopen SDO协议。
  3. 购买low-cost CAN<->USB interface(应附带允许您使用C,C ++或C#进行开发的DLL。
  4. 使用实现CANopen SDO协议的DLL文件编写PC应用程序。
  5. 您可能希望寻找协议的开源实现。其中一个实现是CanFestival。但是,我从未使用过这个库。

答案 1 :(得分:3)

您可以下载an open source project for CANopen from DATALINK ENGINEERING,因为这似乎正是您所需要的。