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

3
我有一台带有ECAN的dsPIC33,希望建立一个协议(如果可能使用SDO),以使其在终端软件和dsPIC33之间进行通信,以便我可以在dsPIC33和支持IC中执行诊断。
我不知道需要什么,那么低成本的方法是什么?我可以使用CAN-to-USB设备,但我不确定这是否有效。CANUSB内部使用基于ASCII的消息包装了哪种协议?
我可以使用什么硬件?它也可以用于监视CAN总线吗?我不希望投资于Vector或类似的重型解决方案。
2个回答

5
当你购买CAN接口硬件时,通常不会包含用于特定上层CAN协议(如CANopen)的软件。它们通常会配备一组DLL文件,使您能够编写自定义PC应用程序与您的硬件进行交互。
如果您不想购买任何第三方软件,则必须:
1. 为dsPIC33实现基本的CAN驱动程序(发送和接收基本帧)。 2. 在dsPIC33的基本驱动程序之上实现CANopen SDO协议。 3. 购买一个低成本CAN<-> USB接口(应该配备允许您使用C、C++或C#开发的DLL)。 4. 使用DLL文件编写PC应用程序,该程序实现了CANopen SDO协议。
您可能需要寻找协议的开源实现。其中一个实现是CanFestival。不过,我从未使用过这个库。

我已经研究了CanFestival并下载了TortoiseHg,但我不知道如何在CanFestival中下载存储库(http://dev.automforge.net/CanFestival-3/summary)。 - riscy
您提供的链接是指Mercurial存储库的链接。如果您已经安装了TortoiseHg,则您需要的克隆URL是http://dev.automforge.net/CanFestival-3。您也可以通过命令行输入hg clone http://dev.automforge.net/CanFestival-3来进行克隆。 - Tim Henigan

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接