【问题标题】:CANopen profile for multiple interfaces card多接口卡的 CANopen 配置文件
【发布时间】:2015-05-08 16:02:30
【问题描述】:

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

这种功能有标准吗?还是我在未知水域航行?

【问题讨论】:

    标签: canopen


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。我不明白:引导加载程序如何成为解决方案?为添加的每个配置或外围设备引导加载特定程序?我探索了使我的节点成为网关的可能性,但找不到关于如何实现它的足够明确的信息。
    【解决方案2】:

    来自CAN in Automation 网站:

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

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

    您需要考虑到,即使物理层的比特率为 1 Mbps,CANopen 协议在传输数据方面也永远无法跟上 USB2 HS 设备的速度!另请注意,如果您使用 PDO 进行 OD 值的“实时”交换,则会出现明显的滞后,并且 PDO 交换的时间量约为 25 毫秒或更长。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多