嵌入式CANopen协议从入门到落地产品(更新2023.10.18)

您所在的位置:网站首页 canlopenit翻译中文 嵌入式CANopen协议从入门到落地产品(更新2023.10.18)

嵌入式CANopen协议从入门到落地产品(更新2023.10.18)

2024-06-06 08:05| 来源: 网络整理| 查看: 265

一、前言

我写CANopen系列博文的初衷是分享如何使用STM32单片机开发一款CANopen产品,所谓实战为主,理论为辅。只看CANopen协议的理论是很枯燥,而且根本看不会。我认为掌握CANopen协议的唯一方法是自己设计一个CANopen从站。 Canfestival是一个开源的CANopen协议代码,它不依赖STM32单片机(实际上我们只需要给Canfestival提供一个硬件定时器即可),所以其他品牌的单片机照样可以使用Canfestival去开发CANopen产品。

最近安富莱开始更新CANopen的教程,强烈推荐大家去学习!! BSP视频教程第27期:CANopen协议栈专题,实战方式系统了解NMT,PDO,SDO,时间戳,同步报文,紧急报文等(2023-10-17)

CANopen的优势

1、有一个人曾经跟我说过:”没有CANopen的CANbus总线,根本没法用。” 这句话怎么理解? 2、CANopen协议基于CANbus总线。所以,布线简单(只要CAN_H和CAN_L)信号即可。更少出错及减少布线成本、人工成本以及后期的维护。 3、成本低廉,主流的嵌入式芯片都有CAN控制或者FDCAN控制(可以运行普通CAN模式)。

CANopen学习建议

CANopen协议的基础知识需要系统地学习几遍。比如什么是PDO,什么是SDO,什么是NMT,什么是心跳,什么是对象字典等等基本知识。建议直接使用广州致远的CANopen学习资料《CANopen_easy_begin》进行学习,博文里有分享的下载地址。

CANopen常见误区

不要将Node-ID与CAN-ID搞混了。可能很多很多同学都误认为在CANopen网络上,CAN报文里的CAN-ID就是代表CANopen节点的身份证。这个是错误的。在CANopen协议里,Node-ID才是CANopen节点的身份证。

二、学习资料分享 《CANopen_easy_begin.pdf》: 学习CANopen的理论知识

链接:https://pan.baidu.com/s/1Jy5myXDkTk9Yq-ChYgW8_Q 提取码:do0u

《CANopen_meno.pdf》:方便查询CANopen一些经常需要查阅的知识

链接:https://pan.baidu.com/s/1jODSM4Sq3xnzOSGg7FRxUQ 提取码:xkv8

《硬石YS-H7Multi开发板开发手册》:同学们也需要参考

链接:https://pan.baidu.com/s/1qtFBjw7pzaZZVj67BjVTmg 提取码:5aid

三、所需硬件

1、CAN分析仪

作为一个CAN节点与其他CAN节点通讯。

2、STM32开发板

我使用广州硬石科技的STM32H743开发板,也可以使用其他STM32F103或者STM32F407开发板。但是,STM32开发板一定一定要有CAN接口,可以发送普通的CAN报文。 四、教程 4.1、CANopen移植

CANopen | 移植01 - STM32H743 + Canfestival的移植并让FDCAN1运行CANopen协议 STM32F103的CANopen移植模版:github

4.2、CANopen基础知识

CANopen | 网络管理NMT01 - 节点上线报文与心跳报文 CANopen | 网络管理NMT02 - 节点状态切换命令 CANopen | 对象字典OD 01 - canfestival对象字典编辑软件安装与使用 CANopen | 对象字典OD 02 - 修改CANopen节点的心跳报文发送间隔 CANopen | 拓展知识 - CANopen,CAN总线与OSI模型的关系 CANopen | 对象字典OD 03 - 启动CANopen节点的服务数据对象SDO CANopen | 对象字典OD 04 - 创建对象字典的变量(映射变量) CANopen | 对象字典OD 05 - 创建对象字典变量,映射到RPDO CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送 CANopen | 对象字典OD 07 - 创建对象字典变量,变量变化时发送TPDO1,滤波时间200ms

五、CAN总线技术

CANopen协议运行在CAN总线上,进一步学习CAN总线的物理层与数据链路层很有必要,能解决实际工作上碰到的“奇怪”问题。 CAN总线技术 | CAN脱颖而出的“秘密” CAN总线技术 | 物理层01 - CAN信号电平 CAN总线技术 | 物理层02 - CAN总线的异步串行通讯 CAN总线技术 | 物理层03 - 采样点 CAN总线技术 | 物理层04 - 终端电阻与双绞线(特性阻抗120欧) CAN总线技术 | 数据链路层01 - CAN报文的组成 CAN总线技术 | 数据链路层02 - 帧结构 CAN总线技术 | 数据链路层03 - CAN总线竞争与仲裁机制 CAN总线技术 | 数据链路层04 - CAN节点状态与错误处理机制



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3