【DSView逻辑分析抓取波形CAN步骤-硬件连接-数据解析-底层波形认识CAN-工具使用】
创始人
2024-05-25 14:22:27
0

【DSView逻辑分析抓取波形CAN步骤-硬件连接-数据解析-底层波形认识CAN】

  • 1、概述
  • 2、实验环境
  • 3、写在前面的一个问题
  • 4、实验准备
      • (1)硬件连接
        • 1)CAN卡连接开发板
        • (2)逻辑分析仪连接开发板
      • (2) CAN卡连接软件
      • (3)软件-DSView设置
      • (4)实验代码
  • 5、实验过程
      • (1)调试代码>>对于普通模式和回环模式
      • (2)调试代码>>对于标准帧和扩展帧
  • 6、实验结果对比
      • 第一次实验:1KHz-普通模式-标准帧
      • 第二次实验:1KHz-回环模式-标准帧
      • 第三次实验:1KHz-回环模式-标准帧+标准帧
    • (1)结果对比>>对于普通模式和回环模式
    • (2)结果对比>>对于标准帧和扩展帧
    • (3)本次实验-实验数据
  • 7、本次实验样例代码
  • 8、实验细节
  • 9、设备链接与软件地址
  • 10、参考资料
  • 11、总结

1、概述

最近在一次工作中,和同事谈论想抓下can的波形。因为以前自己也没有使用逻辑分析仪,单独抓过can。所以这次想自己亲自试试,但是尝试的时候,虽然已经查过资料,但是感觉数据就是不对,和can卡出来的数据就是有出入。经过反复实验,才渐渐明白了。

你能得到什么?你可以从本篇大致了解底层can的波形样貌,认识can,并且对于工具使用有初步了解。

2、实验环境

本次涉及的实验设备,相对多一些,如果你做本次实验,可以用其它替代品,并一定非要一模一样。

  1. 开发板:正点原子STM32F407探索者
  2. 开发调试软件:KEIL5
  3. 逻辑分析仪:DSLogic
  4. 逻辑分析仪软件:DSView
  5. can卡:创芯科技 CAN分析仪 CANOpen J1939 DeviceNet USBCAN USB转CAN 高配版(红色)
  6. CAN:随can卡软件适配软件
  7. 下载器:J-Link
  8. 其它辅助材料:电源适配器,杜邦线等

以下是测试环境拍摄
在这里插入图片描述

3、写在前面的一个问题

最开始设计实验的时候,就想用can卡直接连接逻辑分析仪,一个发一个收,这样你知道你发了啥,你收到你直接解析,清晰明了,但是后来如何连接和设置软件,都没成功,后来才发现:
有can卡的时候,逻辑分析仪就会出现数据不对情况。
有can卡的时候,这款逻辑分析仪貌似不能同can开一同使用。
有can卡的时候,CAN不能直接发数据给逻辑分析仪。
如下图,就是开始出现问题时候,一次性将所有东西都接好了,导致逻辑分析仪数据就是不对,所以本次实验,

默认使用can卡时,暂时断开逻辑分析仪。
默认使用逻辑分析仪时,暂时断开can卡。
在这里插入图片描述

4、实验准备

(1)硬件连接

硬件连接部分主要分为CAN卡连接开发板和逻辑分析仪连接开发板。

1)CAN卡连接开发板

如下图所示

开发板CANH----> CAN卡H
开发板CANL----> CAN卡L

在这里插入图片描述

(2)逻辑分析仪连接开发板

逻辑分析仪抓取can,稍微不一样,逻辑分析仪主要是一个GND和通道,按如下方式接。

通道0的通道0--->接开发板CANL
通道0的GND--->接开发板GND

在这里插入图片描述

(2) CAN卡连接软件

如果你和我买的这款can卡一样的话,那么可以想店家要资料,里面有这个软件。
在这里插入图片描述

(3)软件-DSView设置

这块开始查资料,没注意到,导致没成功,主要有两个注意点

  1. 2V电平设置
  2. 波特率和采集频率

2V电平设置
如下图,主要是阈值电平,默认是1V,要设置2.0V
在这里插入图片描述 波特率和采集频率
如下图,波特率主要是从发射端,你需要知道你测试频率是多少,本次实验是1000K,如下图是1000000,也就是6个零,
采集时间是5S,采集频率20MHz,一般采集频率要求是高于采集源头的2倍数以上
在这里插入图片描述

(4)实验代码

本次实验使用的正点原子代码,并没有自己亲自重新写一份代码,稍微做了修改,可以去下边自取。

在这里插入图片描述

5、实验过程

在调试过程中,发现有些参数设置,需要注意,而这些参数的不同,在can卡和逻辑分析仪上,看到结果也不禁相同。

  1. 普通模式和回环模式
  2. 标准帧和扩展帧

(1)调试代码>>对于普通模式和回环模式

因为这两个模式:普通模式和回环模式,只能在初始化时设设置,所有跑了两边代码,才能看出差异,平时使用时,有可能就因为这个模式不同,而设备无法工作。
如下图,在初始化时,这个地方进行设定。
在这里插入图片描述

(2)调试代码>>对于标准帧和扩展帧

这个数据帧,在发送时只要设一下就可以了,可以在一份带来发送不同帧,所有在下边代码,直接复写了函数,分别装载不同数据,用来去区分。

样例数据:

    uint8_t canbuf[8]={0x02,0x00,0x72,0x3C,0x42,0x68,0x00,0x00};uint8_t test_canbuf1[8]={0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18};uint8_t test_canbuf2[8]={0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28};

复用发送代码:
在这里插入图片描述

实际循环发送:

在这里插入图片描述

6、实验结果对比

说明:中间改过代码,最终结果截图不是和最终代码一致的,但为了说明其问题。

第一次实验:1KHz-普通模式-标准帧

(1)逻辑分析仪抓取数据如下图
在这里插入图片描述

(2)can卡如下图
在这里插入图片描述

第二次实验:1KHz-回环模式-标准帧

(1)逻辑分析仪抓取数据如下图
在这里插入图片描述

(2)can卡如下图
在这里插入图片描述

第三次实验:1KHz-回环模式-标准帧+标准帧

(1)逻辑分析仪抓取数据如下图
在这里插入图片描述
在这里插入图片描述

(2)can卡如下图
在这里插入图片描述

(1)结果对比>>对于普通模式和回环模式

(1)从CAN卡端,接收的数据看不出任何任何差别,会告诉是标准帧和扩展帧,但仅此而已。
(2)从逻辑分析仪,可以看出明显差别
普通模式:像是循环一样,连续发送
回环模式:是按照1S等待时间发送的。
在这里插入图片描述

(2)结果对比>>对于标准帧和扩展帧

(1)从CAN卡端,接收的数据看不出任何任何差别,会告诉是标准帧和扩展帧,但仅此而已。
(2)从逻辑分析仪,可以看出明显差别:主要是位置不一样

在这里插入图片描述

(3)本次实验-实验数据

主要是DSView保存数据,can卡以上边截图为主
实验数据:https://download.csdn.net/download/qq_22146161/87439529

7、本次实验样例代码

本次样例代码:https://download.csdn.net/download/qq_22146161/87439432

8、实验细节

(1)如果CAN卡和逻辑分析仪同时接入问题。
从实验来看,我尝试使用多种连接方式,甚至直接让CAN卡和逻辑分析仪连接,都没有成功,目前还没有查到相关原因,暂时认定不能连接。
(2)普通模式和回环模式,平时使用时,有可能就因为这个模式不同,而设备无法工作
在实际工作中,使用时,有个设备,使用开发板发送数据给它,发现设备就是不响应,但是使用can卡确实可以,数据仔细对过后,没发现却别,后来设置了普通模式立刻响应了,所以我们看着数据一样,对于设备来说,就是不一样的。
(3)can卡软件和逻辑分析仪收不到数据
这个是个人原因,有点蠢了,找了一圈,开发板忘记开电源了,并且每次下代码,要按下复位按键。
(4)下载代码时,keil软件问题
如下图,报找不到设备了,这个时候先将can卡或者逻辑分析仪拔掉,重新插下j-link尝试几次,看样是连接问题。
在这里插入图片描述

9、设备链接与软件地址

关于本次实验使用软件与硬件资料,基本上某宝,某京,只要搜索名字就能查到,我这里提供can的相关软件和一些连接:

  1. 逻辑分析仪软件:DSView>>https://www.dreamsourcelab.com/
  2. can卡:创芯科技 CAN分析仪 CANOpen J1939 DeviceNet USBCAN USB转CAN 高配版(红色)>>https://download.csdn.net/download/qq_22146161/87439313

10、参考资料

使用逻辑分析仪时,参考的网上相关文章,但是开始只有文字描述,没主要设置2V,以及怎么设置,这点笔者认为可以更好优化。
参考文章:https://blog.csdn.net/qq_37956302/article/details/122584368

11、总结

想起了最近《三体》电视剧热播,有个道理是,对于事物的本质了解,才决定人类文明高度,也许,对于我们这些搞电子相关的人来说,对于这种底层的认知,才决定水平高低。

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...