`

CAN协议(二)

 
阅读更多
10111011101100011110111001111101011111001111101001111100111101111011011101
根据标准can2.0b协议可以讲该字符串解析出来,标准的扩展协议如图2所示
        
                                                            图2 can扩展消息格式
然后将数据根据格式划分成各个有意义的字段,如图3所示,这里我自己将高电平编码为1,低电平编码为0。但是在can协议中,他将高电平定义为显性位,逻辑上定义为0,将低电平定义为隐形位,逻辑上定义为1,我们前面先不管这个。
             
                                                          图3  数据分割
在can的协议中当连续出现5个高电平时就需要插入一个低电平,所以在解析的过程中需要将这些插入的数据删除,就是图3中用红线删除的那些数据。
在删除这些数据之后根据图2的格式可以将各个字段分割出来
解析信息:
29位ID:0 1110 1110 1101 1110 1110 0111 1110,从右到左每4位一个字段,这里需要将其在转换回can协议定义的逻辑电平的形式---即将0变为1,将1变为0,这样便符合我们日常的编码习惯。解析出来的ID=0x11121181,与我们发送的数据是相符合的。
DLC:1101  转换成十进制为2 表示这一帧中有两个数据,接下来的16个字节便表示2个数据
D1:11111001  = 0x06
D2:11110111 = 0x08
这样便解析出了我们需要的数据,这是和我发送的数据一致的。

这里需要注意的有两点:
1、在can的协议中当连续出现5个高电平时就需要插入一个低电平;
2、在can协议中将CAN_H和CAN_L的差值为高电平时定义为显性,逻辑上表示为0,为低电平时定义为隐形,逻辑上表示为1。这在解码的过程中需要注意。
分享到:
评论

相关推荐

    CAN总线与CANopen协议.pdf

    ISO/OSI 模型中的第一层(物理层)和第二层(数据链路层),通常情况下 CAN 总线网络都是独立的网络,所以没有网络层。在实际使用中,用户还需要自己定 义应用层的协议,因此在 CAN 总线的发展过程中出现了各种...

    J1939CAN协议中英文完整版.rar

    J1939协议完整版,包括中文和英文的。

    车辆can-bus一一读取汽车can协议

    模块将汽车CAN总线数据解析后通过UART输出,供用户二次开发。模块体积小巧,易集成于用户系统,同时使用UART输出极易于二次开发。广成科技GCAN-600开发套件可采集汽车OBD接口CAN总线上的所有原始数据,并将数据解析...

    zlgcan高层协议二次开发

    zlgcan高层协议二次开发套件源码,用于usbcan的二次开发。

    CAN_2.0规范中文版A+B

    文档是自己整理了一份CAN2.0的中文版的协议,格式稍微整理了一下,看起来舒服一些。 随着串行通讯进入更多应用领域,因此,在一些应用里,需要对通讯功能的报文识别位提出分配标准化的要求。原先的地址范围由11个...

    ZLG CAN 二次开发的驱动动态链接库

    ZLG的CAN二次开发常使用的驱动动态链接库,可以桌面测试监控软件开发的底层驱动接口。包括: ControlCAN.dll ,ControlCAN.h,ControlCAN.lib,kerneldlls:CAN232.dll,CANDTU_NET.dll,CANET_TCP.dll,CANETE.dll...

    CAN资料 CAN工具 ODB资料 ODB工具

    CAN分析仪资料20180101_顶配版,内部有USBCAN-OBD TOOL汽油车ISO15765协议解析软件的安装与使用说明书V2.03,二次开发库文件,二次开发示例源代码

    CAN FD的波特率到底能跑多快?

    众所周知,CAN FD是基于CAN 2.0的升级版协议,为了满足汽车电子日益增长的高带宽和高传输速率的要求,CAN FD主要升级了以下几个方面: 一、更高的传输波特率 图 1 可变数据段波特率结构 CANFD速率包含两个段的...

    CAN_Adapter USB-CAN总线适配器是带有USB2.0接口和2路CAN接口的CAN总线适配器,可进行双向

    在您进行二次软件开发时,完全不需要了解复杂的USB接口通讯协议。 1.2 性能与技术指标 USB 与CAN 总线的协议转换; 具有两个通道独立CAN 接口; USB 接口支持USB2.0,兼容Usb1.1; 支持CAN2.0A 和CAN2.0B

    周立功 CAN LIB 使用手册

    周立功CAN LIB ,动态链接库DLL说明,使用兼容周立功协议的CAN工具进行二次开发必备。

    二次开发串口通信协议

    舵机指令集,不同指令集来发送串口指令,对于开发舞蹈机器人得舵机动作有帮助。

    USBCAN_E_2E_U_ds

    通过c#写的CAN通信协议软件 可以通过listbox看到发送和接受的报文 简单的报文发送 报文接收

    HUB4CAN CAN高速光隔1拖4集线器

    HUB4CAN支持任何版本的CAN协议通信,包括CAN2.0和CAN1.0等。HUB4CAN同时具有吸收浪涌电流的抗雷击保护功能。由于HUB4CAN特有波仕零延时智能转换技术,所以确保适合所有CAN通信软件。 当4个下位机CAN口中有一个、二...

    jnaCan:Java 的 CAN 总线,使用 JNA 访问 Linux SocketCan API

    这个项目是纯 Java 的(从技术上讲,JNA jar 包含一些小型现成的本机二进制库)。 该库目前仅支持原始罐头模式。 读取和写入调用将被阻塞。 但是,有套接字选项设置 SO_RCVTIMEO 值,以便读取超时。 包括 Netty ...

    高层协议二次开发库&Demo;

    周立功UDS,ccp,iso_tp等高阶实例,是学习和开发的必备知识

    CAN总线通信实验方案

    CAN总线通信实验方案:实验分为两步走,第一步先实现CAN节点通讯实验,第二步完成CAN网络通讯。

    OPT-CAN CAN/光纤转换器.pdf

    电气接口 1路CAN(接线端子)5V直流供电(接线端子)传输介质 多模光纤(OPT-CAN、OPT-CANEX) 单模光纤(OPT-CANS、OPT-CANEXS) 尺寸及重量 DB-25/25转接头大小、90克通信方式 全部版本的CAN协议以及其它协议 ...

    can总线通讯系统的软硬件设计和开发

    在第五章根据CAN协议的规定,结合具体CAN控制器的结构,设计了CAN 总线位速率的计算方法,同时设计了CAN控制软件和主要的四种处理器(主控 制器、电机控制器、电池管理系统Ecu、汽车仪表Ecu)的控制软件,并在动 力...

Global site tag (gtag.js) - Google Analytics