加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

UAVCAN——1.简介

(2018-08-06 09:12:04)
标签:

pixhawk

ardupilot

can

uavcan

分类: Pixhawk

介绍


本节介绍了规范开发和维护的基本概念。实际规范包含在以下部分中。

读者应该对CAN总线的主要概念和操作原理有充分的了解

核心设计目标


下面列出的核心设计目标有助于解释基本的UAVCAN概念及其背后的动机。

  • 对等网络 - 应该没有主节点。网络中的所有节点都应具有相同的通信权限,以便没有单点故障。
  • 节点可以交换长有效载荷 - 必须为节点提供一种简单的方法来交换不能适合单个CAN帧的大型数据结构(例如GNSS解决方案,3D矢量等)。UAVCAN应在协议级别执行自动传输分解和重组,从而隐藏应用程序的相关复杂性。
  • 支持冗余接口和冗余节点 - 这是安全相关应用程序的常见要求。
  • 高吞吐量,低延迟通信 - 依赖于高频,硬实时控制环路的应用需要低延迟,高吞吐量的通信方法。
  • 简单的逻辑,低计算要求 - UAVCAN针对各种嵌入式系统,从用于密集数据处理的高性能嵌入式车载计算机(例如,高性能Linux驱动的机器)到极其资源受限的微控制器。后者对实现协议所需的逻辑量施加了严格的限制。
  • 应明确定义常见的高级功能 - UAVCAN为常见的高级功能定义标准服务和消息,例如网络发现,节点配置,节点固件更新,节点状态监控(自然地发展为车辆范围的健康监控) ,网络范围的时间同步,动态节点ID分配(又称即插即用)等。
  • 开放式规范和参考实现 - UAVCAN规范是开放的,免费提供; 参考实现是根据MIT许可证的条款 分发的

规范更新和批准过程


UAVCAN开发团队负责根据采用者的意见推进规范。这些反馈是通过邮件列表收集的,该列表对所有人开放。

标准数据定义集是规范的基础概念之一(请参阅数据结构描述语言(DSDL))。在同一主要版本中,规范只能通过以下方式扩展:

  • 只要默认数据类型ID与现有数据类型之一不冲突,就可以添加新数据类型,可能使用默认数据类型ID。
  • 只要修改不会破坏向后兼容性,就可以修改现有数据类型。
  • 可以声明不推荐使用现有数据类型。
    • 声明弃用后,数据类型将至少保持两年。在此期间之后,其默认数据类型ID可以重用于不兼容的数据类型。
    • 弃用将通过邮件列表公布,并以DSDL定义中的注释形式表示。

可以在联系人页面上找到包含默认DSDL定义集的存储库的链接 

参考资料来源


UAVCAN规范包含对以下来源的引用:

  • CiA 801 - 应用笔记 - 自动比特率检测。
  • CiA 103 - 本质安全的物理层。
  • CiA 303 - 建议 - 第1部分:布线和连接器引脚分配。
  • IEEE 754 - 二进制浮点运算标准。
  • ISO 11898-1 - 控制器局域网(CAN) - 第1部分:数据链路层和物理信令。
  • ISO 11898-2 - 控制器局域网(CAN) - 第2部分:高速媒体访问单元。
  • ISO / IEC 10646:2014 - 通用编码字符集(UCS)。
  • ISO / IEC 14882:2014(E) - 编程语言C ++。
  • “使用CAN-Bus实现分布式高分辨率实时时钟”,M. Gergeleit和H. Streich。
  • “寻找可理解的共识算法(扩展版)”,Diego Ongaro和John Ousterhout。
翻译自官网:https://uavcan.org

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有