CAN和CANOPEN的报文该如何分析?
<p>相较于CAN和CANOPEN,MODBUS的报文是非常简单的,举例一帧MODBUS的报文,01 06 20 01 10 00 EF CA,01代表从机地址,06代表MODBUS的写指令(03是读),20 01是丛集要修改的寄存器地址,10 00是对这个地址写入的数据值,EF CA是我随便写的表示CRC校验;</p><p>但是CAN报文和CANOPEN的报文不太理解报文中每一个字节的含义,看到一个CANOPEN的报文,03 01 00 01 20 0B 00 04,前面4个是帧ID,请问这个帧ID是什么意思,是和MODBUS的06写(或者读03)意思一样,后面00 01是CANOPEN的从机地址,20 0B是要写的寄存器地址,00 04是写入的数据值?没有类似于CRC的校验?</p>
<p>有什么CAN和CANOPEN的上位机调试软件和调试转换器(类似于USB转485串口)?</p>
<p>CAN和CANOPEN是两个不同的东西,CAN总线协议是基于CAN控制器实现的一个数据链路层协议,CANOPEN则是在CAN架构之上实现的一系列高层协议或者叫协议族,要读懂报文需要参考相应的协议规范。</p>
<p>CAN和CANOPEN是两个不同的东西,CAN总线协议是基于CAN控制器实现的一个数据链路层协议,CANOPEN则是在CAN架构之上实现的一系列高层协议或者叫协议族,要读懂报文需要参考相应的协议规范。</p>
zhoupxa 发表于 2024-11-28 20:50
CAN和CANOPEN是两个不同的东西,CAN总线协议是基于CAN控制器实现的一个数据链路层协议,CANOPEN则是在CAN架 ...
<p>那CAN的报文应该是规范的吧,这个帧ID到底是什么意思?</p>
<p>CANOPEN能否举例解释一下报文的含义,随便找一个例子解释一下或者有什么参考资料。</p>
乱世煮酒论天下 发表于 2024-11-29 11:53
那CAN的报文应该是规范的吧,这个帧ID到底是什么意思?
CANOPEN能否举例解释一下报文的含义,随便找一 ...
<p>广州致远电子(周立功)有CAN总线协议(CAN报文信息以及CANopen等高层协议)的软硬件测试、分析解决方案以及产品,可以去了解一下,他们做这方面有很长时间了</p>
<p>CAN总线的报文格式</p>
<p>在CAN总线上传输的信息成为报文,当总线空闲时任何连接的单元都可以开始发送新的报文;</p>
<p>报文分为以下几种类型:</p>
<p>数据帧:从发送节点向其他节点发送的数据信息;</p>
<p>远程帧:下昂其他节点请求发送具有统一标识符的数据帧;</p>
<p>错误帧:检测到总线错误,发送错误帧;</p>
<p>过载帧:过载帧用以在数据帧和远程帧之间提供附加的延时;</p>
<p>CAN总线通信协议有两种不同的帧格式,标准帧和扩展帧,标准帧具有11位标志符,扩展帧有29位标志符,两种帧格式的确定通过控制场中的识别符扩展位实现,两种格式可以出现在同一总线上;</p>
<p>1、数据帧:</p>
<p>帧起始,标志数据帧和远程帧的开始,由一个单独的显性位组成;</p>
<p>仲裁场,用于写明需要发送到目的地CAN节点的地址、确定发送的帧类型、当前发送的是数据帧还是远程帧以及发送的帧格式标准帧还是扩展帧;仲裁场在标准格式帧和扩展格式帧有所不同,标准格式的仲裁场由11为标志符和远程发送请求位RTR组成,扩展格式的仲裁场由29为标志符和远程发送请求位RTR组成,</p>
<p>控制场,六个位组成,包括数据长度代码和两个将来作为扩展用的保留位;</p>
<p>数据场,由发送数据组成,首先发送最高位,依次发送直至最低位;</p>
<p>CRC循环冗余校验场,用于信号帧检验;</p>
<p>应答场,两位,包含应答间隙和应答界定符;</p>
<p>帧结尾,每一个数据帧和远程帧的标志序列界定,由七个隐形位组成。</p>
页:
[1]