Canopen理论篇(一)
前言
第一次接触Canopen,是在一次面试中被问到,很尴尬,我的回答是不知道;后来面试的另一家公司,问我在Can上都使用了什么协议栈,有没有Cia301,402协议?毋庸置疑,没有。都是些什么玩意,听都每听说过。基于Can的协议栈有UDS,XCP/CCP,OBD,难不成又是新的标准?于是,百度了一下,还是这个”Canopen“。秉持着犟种的一贯作风,我决定将Canopen拿下。人不能在同一个地方摔倒,再一,再二,不能“再三”。
初识
Cia301 、Cia402
Cia301是Canopen的基础协议,其他的协议都是在Cia301的基础上衍生出来的,有Cia408、Cia409、Cia426(外部灯控制系统)等等,学会了Cia301,其他也就一通百通了。对比了Cia419和Cia301,发现419就只是多出了0x6000和0x6001这两个索引。
Cob-id、Can-id和Node-id
Canopen,它和UDS协议其实是一样的,都是运行在Can总线上的应用层的协议。而且是标准数据帧的格式,也就是说用到11位id。
就像上图,Canopen只需要关注圈起来的地方,其他的校