【DSView逻辑分析抓取波形CAN步骤-硬件连接-数据解析-底层波形认识CAN-工具使用】
【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、实验环境
本次涉及的实验设备,相对多一些,如果你做本次实验,可以用其它替代品,并一定非要一模一样。
- 开发板:正点原子STM32F407探索者
- 开发调试软件:KEIL5
- 逻辑分析仪:DSLogic
- 逻辑分析仪软件:DSView
- can卡:创芯科技 CAN分析仪 CANOpen J1939 DeviceNet USBCAN USB转CAN 高配版(红色)
- CAN:随can卡软件适配软件
- 下载器:J-Link
- 其它辅助材料:电源适配器,杜邦线等
以下是测试环境拍摄

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设置
这块开始查资料,没注意到,导致没成功,主要有两个注意点。
- 2V电平设置
- 波特率和采集频率
2V电平设置
如下图,主要是阈值电平,默认是1V,要设置2.0V
波特率和采集频率
如下图,波特率主要是从发射端,你需要知道你测试频率是多少,本次实验是1000K,如下图是1000000,也就是6个零,
采集时间是5S,采集频率20MHz,一般采集频率要求是高于采集源头的2倍数以上。

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

5、实验过程
在调试过程中,发现有些参数设置,需要注意,而这些参数的不同,在can卡和逻辑分析仪上,看到结果也不禁相同。
- 普通模式和回环模式
- 标准帧和扩展帧
(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的相关软件和一些连接:
- 逻辑分析仪软件:DSView>>https://www.dreamsourcelab.com/
- 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、总结
想起了最近《三体》电视剧热播,有个道理是,对于事物的本质了解,才决定人类文明高度,也许,对于我们这些搞电子相关的人来说,对于这种底层的认知,才决定水平高低。
相关文章:
【DSView逻辑分析抓取波形CAN步骤-硬件连接-数据解析-底层波形认识CAN-工具使用】
【DSView逻辑分析抓取波形CAN步骤-硬件连接-数据解析-底层波形认识CAN】1、概述2、实验环境3、写在前面的一个问题4、实验准备(1)硬件连接1)CAN卡连接开发板(2)逻辑分析仪连接开发板(2) CAN卡连接软件&…...
C++中的模板
1.模板C 的模板一直是这门语言的一种特殊的艺术,模板甚至可以独立作为一门新的语言来进行使用。模板的哲学在于将一切能够在编译期处理的问题丢到编译期进行处理,仅在运行时处理那些最核心的动态服务,进而大幅优化运行期的性能。因此模板也被…...
Maven_第四章 使用Maven:IDEA环境
目录第一节 创建父工程第二节 配置Maven信息第三节 创建Java模块工程第四节 创建Web模块工程1、创建模块2、修改打包方式3、Web 设定4、借助IDEA生成web.xml5、设置 Web 资源的根目录6、测试6.1 创建文件6.2 配置tomcat第五节 其他操作1、在IDEA中执行Maven命令①直接执行②手动…...
RocketMQ基础学习
前言: RocketMQ阿里开源的,一款分布式的消息中间件,它经过阿里的生产环境的高并发、高吞吐的考验,同时,还支持分布式事务等场景。RocketMQ使用Java语言进行开发,方便Java开发者学习源码。但是,R…...
I.MX6ULL内核开发4:设备号的组成与哈希表
目录 一、设备号 二、hash table 一、设备号 文件夹:/home/geralt/linux_driver/kernel/ebf_linux_kernel_6ull_depth1/include/linux/kdev.h 这里面是linux中关于设备号的具体描述 #define MINORBITS 20 #define MINORMASK ((1U << MINORBITS) - 1)#defin…...
【博学谷学习记录】大数据课程-学习第六周总结
Hadoop 3.x的版本架构和模型介绍 由于Hadoop 2.0是基于JDK 1.7开发的,而JDK 1.7在2015年4月已停止更新,这直接迫使Hadoop社区基于JDK 1.8重新发布一个新的Hadoop版本,即hadoop 3.0。Hadoop 3.0中引入了一些重要的功能和优化,包括…...
Cordova
一、简介 Cordova 是用 Web 技术( HTML,CSS 和 JS )构建移动应用的平台。我们可以认为Cordova 是一个容器,用于将的 Web 应用移植到移动端,同时支持移动端的功能(例如:定位、蓝牙、摄像头等&am…...
9.语义HTMLVScode扩展推荐
语义HTML 定义: 一个元素使用我们并不是只关心他是什么样子的,而是要去关心这个元素名称的实际意义或者代表什么 我们使用标签并不是他仅代表导航栏,只是将导航栏部分归为一个块。现实生活中,多使用之前都是使用div这个元素去构…...
一款非常不错的微信系统垃圾清理工具:微信清理大师,操作简单,清除较快。
微信清理大师 微信清理大师是一款专为微信所推出的系统垃圾清理工具。它的功能十分强大,可快捷清理微信内储存垃圾文件,操作十分简单,只需要轻轻一点,即可删除清理。 功能特点: 【一键清理】一键搞定无用垃圾&#x…...
PMP考前冲刺2.11 | 2023新征程,一举拿证
承载2023新一年的好运让我们迈向PMP终点一起冲刺!一起拿证!每日5道PMP习题助大家上岸PMP!!!题目1-2:1.以下哪三种情况是Scrum主管应该注意的障碍?(选择三个)A. 阻碍敏捷能力的技术B. 缺乏团队授…...
yalc(比 yarn/npm link 更加友好的前端依赖库 link 方案)
参考链接: 【yalc 官方文档】:https://github.com/wclr/yalc 【yalc-watch 官方文档】:https://github.com/johot/yalc-watch 链接依赖库背景 以 D-SASS 前端框架为例,当我们在修改 D-SASS 前端框架时,当想着马上就要预览到修改的内容是否生效,于是在前端框架目录下进…...
Github | 个人资料自述文件配置的不完全总结
本文简单总结配置 Github 主页上个人资料自述文件的流程和参考文件。 更新:2022 / 02 / 11 Github | 配置个人主页的信息总览方法的不完全总结创建、删除个人资料自述文件编辑个人资料自述文件参考链接创建、删除个人资料自述文件 首推自然是官方说明文档 1&#…...
2022年12月电子学会Python等级考试试卷(二级)答案解析
目录 一、单选题(共25题,共50分) 二、判断题(共10题,共20分) 三、编程题(共2题,共30分) 青少年软件编程(Python)等级考试试卷(二级) 一、单选题(共25题,共50分) 1. 运行下列程序…...
SpringCloud第二讲 Ribbon负载均衡源码分析
前言介绍: 这一讲我们将依据Eureka的负载均衡规则,Eureka的具体服务搭建以及服务注册和服务发现可以参考基于Eureka实现服务注册和服务发现_热爱Java的编程小白的博客-CSDN博客 Eureka的服务搭建之后便可以在这上面进行服务注册,如果存在两个…...
Clip-path实现按钮流动边框动画
前言 👏Clip-path实现按钮流动边框动画,速速来Get吧~ 🥇文末分享源代码。记得点赞关注收藏! 1.实现效果 2.实现步骤 添加div标签 <div>苏苏_icon</div>添加样式 div {position: relative;width: 220px;height: 6…...
不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布
原文网址:不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布_IT利刃出鞘的博客-CSDN博客 简介 本文介绍不停服更新应用的方案:蓝绿发布、滚动发布、灰度发布。 升级服务器的应用时,要停止掉老版本服务,将程序上传…...
有趣的KaTeX(附源码)
两年半未见,甚是想念 给大家带来有趣的KaTeX\KaTeXKATEX,可以放在洛谷主页 文章目录1234561 1#include<bits/stdc.h>\texttt{1 \color{orange}\#include <bits/stdc.h>}1 #include <bits/stdc.h> 2usingnamespacestd;\texttt{2 \col…...
Golang map笔记
map定义三种方式package mainimport "fmt"func main() {// map 的基本定义// 第一种方式 使用make分配数据空间var map1 map[string]stringmap1 make(map[string]string, 3)map1["no1"] "北京"map1["no2"] "天津"map1[&q…...
Android Jetpack组件之WorkManager高级概念介绍与使用(三)
一、介绍 通过前面两篇,我们基本掌握了组件的workmanager的接入,以及api的使用等。但是一个框架如果运用在复杂的项目中,肯定需要有其他额外的支持,介绍来我们将会介绍高级概念,以及对前面的知识点进行回顾与拓展。 高…...
Spring框架中用到的设计模式(都用到了哪些设计模式?)
文章目录简单工厂模式:工厂模式:单例模式:原型模式:迭代器模式:代理模式:适配器模式:观察者模式:模板模式:责任链模式:这是一道相对有难度的题目,…...
从‘古董’到统一:聊聊Linux内核中buffer与cache合并背后的那些事儿(附free命令实战)
从‘古董’到统一:Linux内核中buffer与cache合并背后的设计哲学 在Linux系统的性能优化领域,free命令的输出一直是开发者关注的焦点。当你键入free -h时,那行看似简单的"buff/cache"统计背后,隐藏着一段跨越二十年的内…...
智能图像去重引擎:解放数字存储空间的完整解决方案
智能图像去重引擎:解放数字存储空间的完整解决方案 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 在数字内容爆炸的时代,重复图片问题已成为技…...
TI INA333数据手册没细说的5个细节:增益电阻怎么选?温漂怎么算?你的电路可能一直没优化
INA333电路设计进阶指南:数据手册没告诉你的5个关键优化点 在精密测量电路设计中,INA333作为TI经典的仪表放大器,被广泛应用于传感器信号调理、医疗设备和工业控制等领域。虽然数据手册提供了基本参数和典型应用电路,但许多工程师…...
从网线到数据包:手把手拆解以太网帧,搞懂GMAC接口到底在忙啥
从网线到数据包:手把手拆解以太网帧,搞懂GMAC接口到底在忙啥 当我们在浏览器输入一个网址,敲下回车键的瞬间,数据便开始了一场奇妙的旅程。这场旅程的起点,往往是一根不起眼的网线,而GMAC接口则是这场旅程中…...
从FLAG_ONE_SHOT到FLAG_IMMUTABLE:深入解析Android S+版本PendingIntent的强制变革
1. 当PendingIntent遇上Android S:崩溃背后的安全升级 最近不少开发者在升级targetSdkVersion到31(Android 12)后,突然遭遇这样的崩溃提示:"Targeting S requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be…...
Arccos Golf数据获取与Python分析实战:开源工具包逆向工程API
1. 项目概述:一个高尔夫数据爱好者的开源工具箱 如果你和我一样,既是个高尔夫爱好者,又对数据分析和自动化工具着迷,那么你很可能听说过Arccos Golf这个平台。它是一个通过传感器和手机应用来追踪每一次击球、分析球场表现的系统。…...
基于大语言模型的私有化AI健康助手:Open Health Agent设计与实践
1. 项目概述:一个真正属于你的AI健康数据管家 最近几年,我自己的健康数据越来越“散装”了。体重秤的数据在App A里,跑步机的记录在App B里,偶尔在微信上跟朋友吐槽一句“昨晚又没睡好”,这些碎片化的信息就像沙滩上的…...
客户受电工程图纸审核|全网独家复现,多模态+知识图谱创新改进篇 引入MM-KG融合架构,多模态感知+知识关联助力图纸全检、隐患精准定位、审核效率翻倍
目录 一、行业痛点:人工抽检模式的致命瓶颈(附真实场景痛点) 1.1 审核效率极低,无法适配规模化需求 1.2 漏判误判率高,审核质量依赖个人经验 1.3 审核标准不统一,追溯难度大 1.4 人力成本高昂,专业人才缺口大 二、创新突破:多模态+知识图谱融合架构(核心改进解析…...
增量式编码器驱动开发实战:从原理到FPGA高速计数
1. 增量式编码器核心原理剖析 第一次接触增量式编码器时,我完全被它精妙的设计震撼到了。这种看似简单的装置,竟然能同时测量转速、转向和位置信息。拆开我们实验室的欧姆龙E6B2编码器,你会发现它的核心就是三个部分:发光二极管、…...
收藏 | 程序员小白也能掌握大模型开发,AI时代大有可为!
收藏 | 程序员小白也能掌握大模型开发,AI时代大有可为! 本文针对非AI专业背景的程序员,介绍了如何参与大模型应用开发。内容涵盖大模型基础、提示词编写与提示工程技巧,以及使用OpenAI API和LangChain框架进行应用开发的关键步骤。…...
