摘要:控制器局域网协议CAN是德国博世公司开发的一套串行总线通讯协议,特别适用于智能设备之间的互联来构成智能系统或子系统。CAN是一种基于广播通讯机制的协议,这种机制通过使用一种面向消息的传输协议来实现,在这种协议下,不定义具体的站点和站点地址,只定义消息。而通过消息标识符来区别不同的消息。而且很容易向一个CAN网络中添加一个节点,当这一节点仅作为接收者时甚至不需要对己有的节点的软硬件做任何的改动。 CAN遵循ISO/OSI标准模型,定义了OSI模型的数据链路层(包括逻辑链路控制子层LLC和媒体访问子层MAC)和物理层。其中MAC(媒体访问控制子层)是其核心层。MAC子层可分为完全独立工作的两个部.
阅读全文
摘要:这里的数据使用的是标准的can设备产生的can信号(扩展帧发送数据ID=0x11121181 Data=0x06 0x08)信号的波形如图1所示,这里示波器的探头接的是CAN_H,探头的夹子接的是CAN_L: 图1 示波器显示波形首先根据本博客中前面写的一篇如何测量can总线波特率获取总线的波特率,然后依据波特率和上面的波形读出具体的数据从上面的波形中读取到的数据是10111011101100011110111001111101011111001111101001111100111101111011011101根据标准can2.0b协议可以讲该字符串解析出来,标准的扩展协议如图2所示 图2 c
阅读全文
摘要:这两天在研究车载can总线,因为对于车上的can总线的接口以及波特率没有对应的资料可查(不同的车接口都不一样,波特率也可能不同),做一想要从车上测出can总线上的数据还不太容易。于是我首先使用示波器(我使用的示波器型号是TDS 220)来找出汽车上can总线的接口,然后测出can总线的波特率,测量波特率的步骤如下:1、将示波器的两个接口(接地和探头)分别接在can总线的两条线(CAN_H和CAN_L)上,这里需要注意如果CAN线上需要接一个120欧姆的负载电阻,否则波形是不规整方波,接上负载之后才是规整的方波。2、此时如果can线上有数据,则会在示波器上显示出方波如图1所示。(这里使用示波器的
阅读全文