一种简易CAN数据分析器的实现(一)【工程创建+CAN波特率计算工具】

news2024/9/20 1:06:25

程序实现详见《一种简易CAN数据分析器的实现(二)【程序实现】》

微信公众号关注:掌芯元器,免费为大家提供嵌入式相关的技术咨询!!!

目录

一、功能需求及实现

   1、功能设计及实现

   2、软硬件需求

        (1)软件需求

        (2)硬件模块需求

   3、硬件框图

二、通过STM32CubeMX创建工程

   1、点击STM32CubeMX图标打开软件;

   2、点击新建工程;

   3、选择MCU型号,创建相关的工程;

   4、选择程序烧录方式;

   5、开启外部高速时钟;

   6、配置时钟树;

   7、配置CAN外设参数;

   8、CAN外设引脚更换;

   9、CAN外设中断使能;

   10、USART1外设使能及参数配置;

   11、USART1外设中断使能;

   12、中断优先级配置;

   13、GPIO运行指示灯配置;

   13、工程配置;

三、STM32_CANBaudRate工具的使用

   1、工具下载

   2、界面介绍

一、功能需求及实现

   1、功能设计及实现

        本次例程制作的简要CAN数据分析仪,主要帮助大家,在条件有限的开发环境中,自己通过常见的简单应用电路,即可实现CAN数据的监控和发送。主要功能为:通过电脑上的串口调试助手,监控CAN数据和发送CAN数据。本例程只是实现简单的CAN 标准数据帧的发送和监控,例程功能比较单一,实现也是非常简单,因此根据大家反响,决定后期是否开源全功能的CAN数据分析仪的小项目。

   2、软硬件需求

        (1)软件需求

                ①、STM32CubeMX 和 Keil 软件的使用;

                ②、C语言基础知识;

                ③、HAL库的基础掌握;

        (2)硬件模块需求

                ①、单片机最小系统(以STM32F103CBT6为例);

                ②、CAN收发模块;

                ③、USB转串口模块;

   3、硬件框图

二、通过STM32CubeMX创建工程

   1、点击STM32CubeMX图标打开软件;

   2、点击新建工程;

   3、选择MCU型号,创建相关的工程;

   4、选择程序烧录方式;

   5、开启外部高速时钟;

   6、配置时钟树;

   7、配置CAN外设参数;

        (1)CAN通信速率设置为:500Kbit/s;(这里要与你要监测的总线波特率匹配,当然波特率的设置完全可以拿出来,通过电脑直接设置,用来匹配不同的波特率匹配需求,本例程为简要例程,未带波特率实时匹配功能)

        (2)CAN波特率参数配置,具体界面介绍及使用详见第2小节;

        (3)发送邮箱优先级的使能:通过参考手册我们知道,CAN外设具有三个发送邮箱,我们使用邮箱对外发送数据的时候,当使能发送邮箱优先级的时候,数据的发送顺序会按照我们程序中邮箱的顺序发送;如果不使能,则按照默认的012顺序发送。

   8、CAN外设引脚更换;

        在外设栏使能CAN外设之后,软件自动使能默认引脚,但是与硬件原理图引脚不匹配,需要更换引脚为PB8\PB9。

        操作步骤:直接点击图形界面的PB8/PB9引脚,选择CAN功能即可自动切换。

   9、CAN外设中断使能;

   10、USART1外设使能及参数配置;

   11、USART1外设中断使能;

   12、中断优先级配置;

   13、GPIO运行指示灯配置;

        具体GPIO的配置不具体介绍了,详见下图配置后的图形化界面显示情况。

   13、工程配置;

        外设相关的参数已经配置完成,最后进行工程配置即可。

三、STM32_CANBaudRate工具的使用

   1、工具下载

        下载链接为:https://download.csdn.net/download/zxyq_2024/89737969

   2、界面介绍

        ①:CAN外设挂载总线的时钟频率。

        从数据手册的总线框图中可以看到,CAN外设挂载在APB1总线上,回到刚才我们CubeMX配置的时钟树,APB1时钟频率为36Mhz;

        ②:CAN总线波特率。

        ③:采样点设置,与总线协议中的位时序有关,具体自己查看一下CAN协议,这里不再详解。

        采样点的设置可以参考⑥中的介绍:

  • 当CAN 通信波特率大于等于 800 kbit/s 时,采样点推荐位置是在位时间段的 75%;
  • 当CAN 通信波特率大于 500 kbit/s,小于 800 kbit/s 时,采样点推荐位置是在位时间段的 80%;
  • 当CAN 通信波特率小于等于 500 kbit/s 时,采样点推荐位置是在位时间段的87.5%;

        ④:生成计算。

        ⑤:选择一个填到参数中即可,对应关系见下图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2125411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频怎么转换成mp3格式?分享5种便捷的转换方法

在日常生活中,我们经常会遇到需要将视频文件中的音频提取出来,转换成MP3格式的情况,以便在手机、MP3播放器或其他设备上播放。今天,我将为大家介绍5种视频转MP3的方法,非常简单便捷,一起来学习下吧。 方法一…

oelove奥壹婚恋征婚相亲交友系统v10.0原生小程序源码(无编译加密)上架经验让你少走弯路

首先大家要明白什么是原生小程序!以微信小程序为例,原生小程序就是指在微信指定的平台“开发者工具”按照平台规则开发出来的小程序才是原生小程序,像uniapp它就不属于原生小程序是第三方,原生小程序的好处那一万字也说不完&#…

JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级

这里写目录标题 JavaScript高级第03天1.函数的定义和调用1.1函数的定义方式1.2函数的调用 2.this2.1函数内部的this指向2.2改变函数内部 this 指向2.2.1 call方法2.2.2 apply方法2.2.3 bind方法2.2.4 call、apply、bind三者的异同 3.严格模式3.1什么是严格模式3.2开启严格模式3…

21. Revit API: 几何对象(二)- Curve

上篇讲了Revit几何对象的类层次结构,讲了几何元素和几何实例,简单提到了Solid。 这一篇呢,就从构成Solid的边讲起。 一、Edge(边) Edge在Revit中就是用来表示边的,并且在各种表示几何结构的类中串门。 前…

使用 Elementary 实现开源数据可观测性 — 从零到精通(第一部分)

欢迎来到雲闪世界。我希望在我还是初学者时能有一份循序渐进的实践指南 数据可观测性及其重要性经常被讨论和撰写为现代数据和分析工程的一个重要方面。市场上有许多工具,具有各种功能和价格。在这篇由两部分组成的文章中,我们将重点介绍 Elementary 的…

(k8s)kubernetes 挂载 minio csi 的方式

一、安装Minio(Minio分布式集群搭建部署_minio集群最少几台-CSDN博客) 生成accessKeyID和secretAccessKey: 二、安装csi-s3插件(在k8s集群上) 首先我们把插件的yaml文件都下载下来,为了保证版本测试的一致性,我们下载…

论文阅读:RGBD GS-ICP SLAM

目录 概要 Motivation 整体框架流程 技术细节 小结 论文地址:[2403.12550] RGBD GS-ICP SLAM (arxiv.org) 代码地址:https://github.com/Lab-of-AI-and-Robotics/GS-ICP-SLAM 概要 RGBD GS-ICP SLAM 是一种结合通用迭代最近点算法(Ge…

【基础算法总结】前缀和

目录 一,前缀和算法介绍二,算法原理和代码实现【模板】前缀和【模板】二维前缀和724.寻找数组的中心下标238.除自身以外数组的乘积560.和为k的子数组974.和可被k整除的子数组525.连续数组1314.矩阵区域和 三,算法总结 一,前缀和算…

可能一拆为二,英特尔为何走到今天这一步?

【科技明说 | 科技热点关注】 近来看到外媒消息说,英特尔迫于经营压力,也不得不铤而走险,欲将英特尔一分为二,即芯片制造与芯片设计分离开,互相剥离,独立发展。 于是乎,英特尔将分拆…

图卷积神经网络GNN(一)

图卷积神经网络GNN 研究学习的背景 对于图神经网络(GNN)来输入的数据是图。(解决输入数据不规则情况)输入的格式不是固定的 研究涵盖:节点分类(nodeclassification)、边预测(link…

​ArcGIS Pro和ArcGIS的10大区别

本文来源:水经注GIS公众号 如果你经常使用ArcGIS 进行制图和分析,那么你一定听说过ArcGIS Pro,这款软件是Esri未来主打的一款桌面GIS软件,那么这款软件和ArcGIS相比有什么不同呢,这里为你列举了两款软件的10大区别&am…

海康威视相机在QTcreate上的环境配置教程(qt+opencv+海康SDK)

环境配置教程 前言:环境配置:1.海康SDK2.opencv 参考导入文件 前言: 配置环境是编程的第一步,所以写这篇文章来指导环境的配置。如果已经配置好了,想在qt上使用海康的摄像头,可以参考这篇文章:…

骨传导耳机哪个品牌好用?良心测评推荐5大高分骨传导耳机!

在快节奏、数字化的生活时代,耳机成为连接外界与个人世界的桥梁,尤其在户外运动和健身场景中更是不可或缺。传统入耳式耳机虽然携带方便、音质优秀,但长时间佩戴会对耳道和鼓膜造成压力,甚至引发耳部不适。为解决这一痛点&#xf…

windows下自启springboot项目(jar+nginx)

1、将springboot项目打包为jar 2、新建文本文档 test.txt,并输入 java -jar D:\test\test.jar(修改为自己的jar包位置) 保存 然后修将后缀名改为 .bat 3、在同一目录再新建 文本文档test.txt,输入以下内容,&…

Meme“淘金”热潮下:Meme发射平台的安全风险分析

2023年,Meme赛道成为加密市场和各大公链生态的重点关注板块之一,尤其是在Solana等公链上,Meme代币迎来了爆发。许多Meme代币的交易量飙升,年初Solana生态中的Meme代币交易额甚至达到百亿美元。乘着Meme代币的东风,Meme…

VSCode配置 C/C++ 开发环境

目录 1.概述 2. 安装 C/C 扩展 3. 安装编译器 3.1.Windows 3.2.macOS 3.3.Linux 4. 配置 VSCode 5. 构建和运行 1.概述 在 Visual Studio Code (VSCode) 中配置 C/C 开发环境,需要安装一些扩展和正确配置编译器。以下是详细的步骤: 2. 安装 C/C…

Agilent MSO7104A安捷伦示波器1G 4通道

Agilent MSO7104A安捷伦示波器1G 4通道 附加功能: 带宽:1 GHz 通道:4 个模拟和 16 个数字 采样率:4 GSa/s 记录长度:标准 8 Mpts MegaZoom III 深存储器 垂直分辨率:8位 自动缩放和峰值检测 有见地的…

数据分类:成功DLP的基本要求

现如今我们存储数据的方式发生了巨大变化,从优质硬盘到今天的云存储解决方案,存储技术的进步大幅削减了成本,并使组织能够呈指数级增长的数据,我们都在利用这一点。 事实上,数据每年以惊人的 25% 的速度增长&#xff…

顶级PCVR头显具备什么配置?清晰度如何?

头戴式显示器是VR体验中用户与虚拟现实环境交互不可或缺的一部分。高端的头显通常可为使用者提供具有超高分辨率的高清画面,因此当你拥有一部高端的VR头显,虚拟世界将如真实世界一样呈现在你眼前。 说到顶级头显我们就不得不提到Varjo,Varjo是…

最全的性能测试性能诊断工具清单

给做性能问题的诊断需要用到的工具分一下类的话,主要有以下类,网络通信报文抓取工具、基础软件监控工具、第三方资源监控工具、专业性能诊断工具和反编译工具。 接下来我们就分别说说,每类里面都有哪些工具。首先第一类是网络通信报文抓取工…