用于多个接口卡的CANopen配置文件

时间:2015-03-06 23:02:05

标签: canopen

我想构建一个基于微控制器的CAN节点卡,它具有UART,SPI和I²C等接口,可连接不同的外设和接口,例如EIA-485计数器或SPI数字I / O扩展器。我想为卡定义一个足够灵活的配置文件,以适应任何可能的配置,并包括可以连接到此类节点卡的任何设备。由于CANopen配置文件看起来非常严格,我研究了CANopen虚拟设备,但这似乎也不是答案。

这种功能是否有标准,或者我在未知水域航行?

2 个答案:

答案 0 :(得分:0)

除非您考虑将CANopen引导加载程序作为可能的解决方案,否则您将在未知的水域航行。没有符合您条件的现有设备配置文件。 CANopen非常灵活,但任意可扩展性都超出了它。

您可以通过对象字典以1:1的方式导出微控制器的寄存器,并通过PDO发出中断。如果只是有点不切实际,这肯定是一个有趣的练习。

答案 1 :(得分:0)

来自CAN in Automation网站:

  

CANopen通用I / O模块在CiA 401设备中标准化   档案规范。该配置文件支持1-,8-的粒度,   数字I / O的16位和32位,分辨率为1,2和2   模拟I / O为4字节。

但是,基于通用CiA 301 CANopen应用层和通信配置文件标准,实现自定义设备可能更容易。您可以使用Manucturer对象(2000h到5FFFh)实现一组通用IOCTL函数,并可能使用SDO Block Transfer将数据“流”到表示连接设备端点的特定OD对象。

您需要考虑的是,即使物理层的比特率为1 Mbps,CANopen协议在流数据方面也永远无法跟上USB2 HS设备!还要记住,如果使用PDO进行OD值的“实时”交换,则会出现明显滞后,PDO交换的时间量大约为25 ms或更长。

最后的考虑是你要使用的CANopen master?如果产品是商用的,那么您需要非常仔细地指定和记录您的EDS(甚至可能提供OPC或类似的API)。