CANFestival简介

原创 2015年11月20日 11:07:09

       相对于其他常用的国外开源的CANopen协议栈,CanFestival具有许多明显的优势:

1.CanFestival为开发者提供了许多工具,以提高开发的便利性。例如用于生成节点对象字典源代码的对象字典编辑器,以及便于开发者自由配置编译选项的配置脚本。

2.CanFestival能够运行于多种类型的平台。CanFestival源代码由ANSI-C编写,驱动和例程的编译情况仅取决于具体的编译工具。在目前最新的版本中,官方提供了对于多种硬件平台的驱动。此外,CanFestival可以在任意类Unix系统下编译和运行,如LinuxFreeBSD

3.CanFestival协议功能完整,完全符合CANopen标准。CanFestival完全支持20022月发布的CIA DS-301 V4.02标准,并支持CiA DS302中的简明DFC协议。

          CanFestival 3.0 RC3 源代码的目录结构如下表所示:


       在CanFestival中,所有源代码可以分为四大部分,分别是目标接口、CAN接口、CanFestival库文件以及主/从节点的应用。其中,CanFestival库文件是整个协议的核心,包括调度管理,节点管理(对象字典访问objacces.c、状态机state.c),CANopen协议(服务数据对象sdo.c、过程数据对象pdo.c、同步对象sync.c、自动波特率对象lss.c、网络管理对象nmtMaster.cnmtSlave.c)。这些文件在移植时是不需要修改的。主/从节点的应用包括节点状态反馈和设备对象字典的定义。目标接口包括节点硬件的驱动以及对于操作系统的接口,这也是进行移植时主要修改的对象。

       由于周期性发射同步信号、心跳报文或SDO超时信号需要设定一系列定时信号来提醒系统进行这些工作,所以CANopen节点必须能实现定时功能。CanFestivaltimer.c中执行了一个微型调度程序,他可以使用一个定时器来模拟许多定时器。该调度程序会建立并管理一个警报表,并且在规定的时间发出信号。

       本次测试中使用的CanFestival用户手册是PDF文档《CanFestival manual_en》。这篇文档详细介绍了CanFestival 工程中各类接口函数、库函数和一些示例应用程序,其中包括利用Canopen协议开发的示例程序。文档还介绍CanFestival的主要特点和理解这个开源工程代码的过程中需要使用的一些工具和分析方法。这是在进行Canopen通信协议开发过程中需要仔细研读的说明文档。

    CanFestival工程中文件分类及各部分的功能如下图所示:


                                             CanFestival 代码功能结构


更多资源请参考:

http://www.dndev.com/cgi-bin/forum/view.cgi?forum=2&topic=1262 




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CANopen总线协议基础入门

学习组网的你,肯定不能不了解总线协议。那么今天我们介绍的则是CANopen总线协议。这个协议在多种设备中都有所体现。那么具体的内容请接着浏览文章吧。CANopen总线协议包括通讯子协议(Communi...

CANopen通信之PDO通信

过程数据对象(Process Data Object,PDO)是用来传输实时数据的,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。PDO 传输的数据必须少于或等于 8 个...

CanFestival源码的获取和编译

CANopen是一种架构在控制局域网路(Controller Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线...

CANopen通信设备

要理解CANopen规范,核心是要理解CANopen的设备模型和各类型的通讯对象。一个CANopen设备由 3 部分构成,分别是通讯部分、对象字典和应用部分,此设备一端接到CAN总线,另一端接到应用相...

CANopen协议报文处理

CAN 报文由 7 个不同的位域组成,而 CANopen 就是规定其中的仲裁域(11 位标识符) 和数据域(8 字节数据) 的使用情况,11 位标识符和 8 字节数据在 ...

ARM板Ubuntu平台上编译CANFestival的方法

以调试的CANopen I/O模块为例进行说明。 根据对象字典中定义的输入输出变量DI1、DI2、DO1、DO2,PDO同步传输数据如下: void TestMaster_post_sync(CO_...

CAN与CANopen协议的关系

从 OSI 网络模型的角度来看同, 现场总线网络一般只实现了第 1 层( 物理层)、第 2 层(数据链路层)、第 7 层(应用层)。 因为现场总线通常只包括一个网段, 因此不需要第...

IXXAT的CANopen协议

CANopen协议软件 开发CANopen从设备或简单的CANopen主设备的软件包   亮点 符合CANopen® CiA® 301规范的完整的功能 支持基于CiA 303-3的状态显示 ...

CANopen通信之NMT通信

在介绍NMT通信机制之前,先介绍一下NMT这个通信对象的定义。在以下部分中COB-ID使用的是 CANopen 预定义连接集中已定义的缺省标志符。 1) NMT 模块控制( NMT Module C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)