3

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

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

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

4

2 回答 2

5

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

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

  1. 为 dsPIC33 实现一个基本的 CAN 驱动程序(发送和接收一个基本帧)。
  2. 在 dsPIC33 上的基本驱动程序之上实现 CANopen SDO 协议。
  3. 购买一个低成本的 CAN<->USB 接口(它应该带有允许您使用 C、C++ 或 C# 进行开发的 DLL。
  4. 使用实现 CANopen SDO 协议的 DLL 文件编写 PC 应用程序。

您可能想寻找该协议的开源实现。一种这样的实现是CanFestival。但是,我从未使用过这个库。

于 2011-08-15T20:23:00.243 回答
3

您可以从 DATALINK ENGINEERING 下载 CANopen 的开源项目,因为这似乎正是您所需要的。

于 2011-08-16T05:38:14.007 回答