打印

CANOPEN, CAN 2.0B什么区别

[复制链接]
1590|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
siliconnect|  楼主 | 2023-3-13 15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 siliconnect 于 2023-3-13 15:31 编辑

头次用GD32F的硬件 CAN,不太理解
canopen 是不是协议,是基于can 2.0b之上的应用协议?
就好比我们在uart上的自己定的私有协议

cpu,带了can  2.0b, 是不是只要硬件外接can收发器,
cpu 硬件级别支持了多个子设备can同时发送数据这种防冲突? 像以太网那样。

还是说要多个一起发送给一个主机时,必须得再移植canopen 这种仲裁防冲突的协议才能实现?

他们得概念是什么? CPU带了CAN 和不带can区别什么。can带是can的媒体戒指类似MAC层cpu集成了
can收发器是一般不集中到Cpu里,和PHY那样 基本都是外接是吧?

使用特权

评论回复
沙发
zyj8848| | 2023-3-13 16:52 | 只看该作者
1.CANOPEN是基于CAN的应用层协议
2.MCU的CAN出来的是CAN_TX,CAN_RX,是TTL电平。所以需要外接收发器,将其转换成差分信号。
3.多个设备发送数据,总线会根据ID进行仲裁,跟canopen协议没有关联。

使用特权

评论回复
评论
cooldog123pp 2023-3-14 09:59 回复TA
老哥你已经解释的很到位了 
板凳
siliconnect|  楼主 | 2023-3-13 17:36 | 只看该作者
本帖最后由 siliconnect 于 2023-3-13 17:40 编辑

谢谢!

1.CANOPEN是基于CAN的应用层协议
  是不是我私有定义的协议话 没必要canopen移植,自己定义好格式就行?

2.MCU的CAN出来的是CAN_TX,CAN_RX,是TTL电平。所以需要外接收发器,将其转换成差分信号。
   接个TJA1050或者PCA82C250T,做好隔离防雷即可?

3.多个设备发送数据,总线会根据ID进行仲裁,跟canopen协议没有关联。
  也就是GD32 mcu带了can的,它内部不是代码处理防冲突的,是CPU内部can硬件自动会处理,不需要我应用层考虑对吗?

使用特权

评论回复
地板
zyj8848| | 2023-3-13 18:36 | 只看该作者
siliconnect 发表于 2023-3-13 17:36
谢谢!

1.CANOPEN是基于CAN的应用层协议

1.具体看自己的使用情况。有些从设备就是基于CANOPEN协议的,那主机肯定也要按照协议来。
2.收发器种类很多,具体硬件设计也可以参考官方电路图
3.具体应用可以看官方demo程序或者用户手册

使用特权

评论回复
5
dtmcp| | 2023-3-14 15:43 | 只看该作者
CANOPEN是基于2.0A的应用层协议,主要是基于DS301标准,由于CAN是基于仲裁的机制需要自闭环,所以必须外挂收发器才能输出波形。

使用特权

评论回复
6
雾往梦| | 2024-3-20 15:58 | 只看该作者
楼主,您成功了吗?

使用特权

评论回复
7
Pretext| | 2024-3-25 23:18 | 只看该作者
CANOPEN是封装成更高级的协议吧。

使用特权

评论回复
8
digit0| | 2024-3-25 23:48 | 只看该作者
单片机的CAN协议都一样吧,和哪个厂商的片子没关系吧。

使用特权

评论回复
9
shenxiaolin| | 2024-4-30 16:18 | 只看该作者
一个是硬件层,一个是协议层。

使用特权

评论回复
10
kzlzqi| | 2024-7-31 22:02 | 只看该作者
CAN 协议的主要功能是提供一种多主机、消息优先级的传输机制。CAN 总线上的每个节点都可以发送和接收消息,消息的优先级由其标识符决定。CAN 硬件通过广播方式传输数据,所有设备都能够接收到数据帧,但数据帧的优先级决定了消息的发送顺序。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

89

帖子

0

粉丝