CANOPEN, CAN 2.0B什么区别

[复制链接]
213|5
手机看帖
扫描二维码
随时随地手机跟帖
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程序或者用户手册

使用特权

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

使用特权

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

本版积分规则