江协科技STM32学习-1 购买24Mhz采样逻辑分析仪

前言:

本文是根据哔哩哔哩网站上“江协科技STM32”视频的学习笔记,在这里会记录下江协科技STM32开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技STM32教学视频和链接中的内容。

引用:

STM32入门教程-2023版 细致讲解 中文字幕_哔哩哔哩_bilibili

逻辑分析仪的简单使用介绍(附带i2c、串口、spi数据分析)_逻辑分析仪使用方法-CSDN博客

SaleaeLogic 16 逻辑分析仪的安装及使用【对 I2C、SPI、串口的信号进行测量】_saleae logic-CSDN博客

六叶树 Saleae Logic 8通道 逻辑分析仪软件使用 详细教程_logic逻辑分析仪软件-CSDN博客

使用 PluseView 作为逻辑分析仪采集器的上位机 

 saleae逻辑分析仪(PulseView)安装使用_pulseview下载-CSDN博客

逻辑分析仪软件PulseView 下载链接及使用,zadig更改USB端口名称_pulseview下载-CSDN博客

使用Pulseview软件辅助verilog数字设计仿真协议解码_pulseview教程-CSDN博客

正文:

0. 概述

今天 (2024/05/31)在淘宝上购买了基础入门款的 24MHz 8通道采样的逻辑分析仪,在学习下江协科技的STM32开发教程的时候会用逻辑分析仪来抓 I2C,SPI,UART 口通信的通信协议报文。在淘宝上购买的这种 19块钱的8通道逻辑分析仪已经能够满足入门级的开发需求,需要感谢国产电子技术的发展才有这么廉价好用的入门级逻辑分析仪可以使用。

1. 安装驱动程序

淘宝购买产品发货清单里有如下配件,一个24MHz逻辑分析仪主体,一个USB连接线,8根杜邦线。

在购买逻辑分析仪的淘宝店铺里,在商品详情页面会提供对应的使用说明文档和驱动程序。例如,我购买的这个24MHz逻辑分析仪的淘宝商家在商品页面详情里提供了百度网盘下载链接,将这些资料下载下来。(实际上,淘宝上卖的这种十几块钱的24MHz逻辑分析仪使用的芯片方案都是同一家,驱动和使用说明资料都是一样的。)

从商家提供的下载链接里将资料压缩包下载下来,解压之后在解压目录里就有逻辑分析仪的USB驱动程序,点击安装驱动程序。

我购买24Mhz逻辑分析仪的淘宝商家提供下载链接里有3个 Saleae Logic USB 驱动安装程序包。

  • Logic Setup 1.1.16 (32-bit).exe, 对应上位机的软件版本是 Saleae Logic -1.1.16,是32位系统的安装包。
  • Logic Setup 1.1.16 (64-bit).exe, 对应上位机的软件版本是 Saleae Logic -1.1.16,是64位系统的安装包。
  • Logic Setup 1.2.17.exe,对应上位机的软件版本是 Saleae Logic -1.2.17,是64位系统的安装包。

直接安装最新的 这个 “Logic Setup 1.2.17.exe”  逻辑分析仪USB驱动程序就可以,因为驱动程序一般是向后兼容的,双击运行安装逻辑分析仪的驱动程序。

将逻辑分析仪插上USB连接线,并将USB连接线接在电脑USB接口,在上一步驱动程序安装成功之后,此时电脑就能识别到逻辑分析仪。键盘按下“Win + R”键,在运行窗口里输入 "devmgmt.msc" ,点击“确定”,就可以打开Windows设备管理器。

可以看到,在Windows操作系统的设备管理器里USB设备下面已经成功识别到的逻辑分析设备。

2. 安装上位机软件

我这里使用 Saleae Logic 上位机软件来配合分析逻辑分析仪采样到的数据。到Saleae公司的网站上去下载 Saleae Logic 上位机软件。

网页里提供了下载链接,我直接下载提供的最新的Loigc上位机软件版本,经过测试是可以使用的。

https://downloads.saleae.com/logic2/Logic-2.4.14-windows-x64.exe

Saleae Loigc 上位机软件安装包下载下来之后,点击安装Loigc上位机,一直下一步,直到安装成功。安装成功之后再Windows系统桌面上的图标,双击就可以打开 Saleae Logic 软件。

Saleae Loigc 上位机软件界面如下,我安装的是在此时(2024/05/31)最新的Saleae Loigc-2.4.14 版本,其实,各个版本之间的差异不大功能按钮都是一样的只是图形界面布局有所改变。

就以 "Saleae Loigc-2.4.14" 为例,在界面的左下角会自动连接插到电脑USB接口上的逻辑分析仪设备(前提是上一步的驱动程序已经安装成功)。界面右侧面板是我们需要使用配置项,简单介绍一下:

  • 采样频率:根据通信原理奈奎斯特采样定律,采样频率至少应该是被采样信号频率的两倍。
    看其博主文章介绍,如果要观察通信协议波形采样频率最好是被测试信号频率的5~10倍,例如,需要观察I2C 100Kbps的通信协议波形,采样频率=100KHz*10=1M,采样频率需要再1M以上,我这里直接选择采样频率为2M就没有问题。当然直接保持默认的24M采样频率肯定是没有问题。
  • 采样时间:就是要采集多长时间的数据,例如,需要采集5秒钟的通信协议波形,或者采样10秒钟的通信协议波形。
  • 采样触发条件:开始采样的触发条件,可以是上升沿触发,下降沿触发,也可以上双边沿触发,当触发条件满足时逻辑分析仪就开始采样被测信号数据并上传到上位机进行解码分析。
    例如,用该逻辑分析仪观察UART通信数据,因为UART空闲时是高电平,起始位是一个第低平,所以采集UART通信数据就可以设置采样触发条件为“下降沿”。

3. 简单上手使用

简单上手使用了一下24M 8通道逻辑分析仪来采样 UART 通信协议的串口输出波形,UART 波特率是 115200kbps=115.2KHz,我们设置逻辑分析仪的采样频率为被测试信号的10倍,115.2KHz*10 = 1.15M,所以设置Sealea Logic 通道的采样率为 2M 就可以条件。

  • 将逻辑分析仪的 “GND” 地线接到开发板的UART串口的“GND”。
  • 将逻辑分析仪的 “CH1”引脚接到开发板的UART串口的“Tx”。
  • 设置Sealea Logic 上位机的 CH0 (Logic上位机上的CH0~7,对应逻辑分析仪采集器便签上的CH1~CH8)的采样频率为2M,采样时间设置为5秒(采样5秒的串口输出信号)。
  • 设置采样触发条件为“下降沿”触发,因为UART空闲时是高电平,起始位是一个第低平,所以采集UART通信数据就可以设置采样触发条件为“下降沿”。

点击开始,进行采样,逻辑分析采集器根据设定时间采样了5秒钟的Tx输出信号采样数据之后就停止采样,此时我们可以在Sealea Logic 上位机上看到采样出来的波形。

Sealea Logic 支持多种通信协议数据格式的解析,例如,I2C,SPI,UART,I2S/PCM,等等。点击Sealea Logic界面上上边栏菜单的 "IF" 图标,在下拉框里选择通信协议解析格式,我这里抓的是UART串口所以选择 "Asynchronse Serial (uart)”,然后选择UART的波特率,停止位,起始位,校验位的配置,点击确定,就可以对抓到的UART通信数据进行解析为16进制数据了。

根据开发板的UART配置选择波特率

最终结果,可以看到Sealea Logic 上位机已经正确的解析除了逻辑分析仪采集器采集到的 UART 口 Tx 输出数据,并且解析出来的输出内容符合预期。

4. 总结

本文记录了24M 8通道逻辑分析仪的简单使用,包括安装逻辑分析仪采集器的驱动程序,安装逻辑分析仪的Sealea Logic 上位机软件,并且简单上手使用逻辑分析采集器采集并且查看了一下UART串口Tx输出的实际波形数据,并用Logic支持的UART协议分析功能解析除了抓到数据的16进制格式。

5. 结束。

本文至此结束。

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

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

相关文章

CVPR2024 合成异常数据 工业异常检测 RealNet

前言 本文分享一个基于扩散模型的异常检测框架,用于检测工业场景的缺陷检测或异常检测。 强度可控扩散异常合成:基于扩散过程的合成策略,能够生成不同强度的异常样本,模仿真实异常样本的分布。异常感知特征选择:选择…

学习Java,stringbuilder用法

有sb.append添加元素,sb.reverse反转内容,sb.tostring转换成字符串,sb.length计算长度。

东莞酷得智能 组装机械狗电子玩具方案

这款机械狗玩具电子方案结合了现代电子技术和人工智能元素,旨在为用户提供一个高科技、互动性强的娱乐体验。通过不断的软件更新和硬件迭代,机械狗的功能将持续扩展。 一、功能特点: 1、自动巡游:机械狗能够自主在房间内巡游&am…

分库分表、读写分离--ShardingJDBC

1. 项目准备 1.1 建立数据库表 建立user_manage数据库,在该库中建立1张表app_user用来做分库前的测试,另外建12张按月份命名的表app_user_2024XX用来做分库。 CREATE DATABASE IF NOT EXISTS user_manage CHARACTER SET utf8 COLLATE utf8_general_ci…

Python中的__str__和__repr__:揭示字符串表示的奥秘

标题:Python中的__str__和__repr__:揭示字符串表示的奥秘 摘要 在Python中,对象的字符串表示对于调试和日志记录至关重要。__str__和__repr__是两个特殊的方法,用于定义对象的字符串表示形式。尽管它们在功能上相似,…

vm-bhyve网卡设定桥接故障解决@FreeBSD

问题 在使用vm-bhyve虚拟机管理软件的时候,使用vm无法绑定网卡igb0 vm switch add public igb0 报错:/usr/local/sbin/vm: ERROR: failed to add member igb0 to the virtual switch public 解决 于是准备用原生ifconfig命令来绑定,结果…

【Go基础】快速入门

Go基础入门 用20%的时间学习常用80%的语法 官方网址(下载安装/官方文档/官方类库) Download Go binaries from https://go.dev/dl/Reference the official Go documentation https://go.dev/doc/See all the the Go packages https://pkg.go.dev/Access…

Linux基础指令及其作用之网络操作

网络操作pingifconfigeth0 接口 ip常用选项和命令 netstat示例输出解释 curl示例输出及解释 wget示例输出解释 网络操作 ping ping 命令用于测试网络连接的连通性和响应时间。它通过向目标主机发送 ICMP 回显请求(echo request)数据包,并等…

wpf 依赖属性的含义理解

依赖属性允许没有自己的字段,可以通过Binding绑定到其它对象的属性或者说数据源上,从而获得值。 缘由 由于控件有很多的属性,有属性就有字段的内存开销,但实际上对于一个控件,我们大多数只会使用其部分常用属性&#…

ConvNeXt(CVPR 2022)论文解读

paper:A ConvNet for the 2020s official implementation:https://github.com/facebookresearch/ConvNeXt third-party implementation:https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/convnext.py 背景 在…

代码随想录-算法训练营day55【动态规划16:两个字符串的删除操作、编辑距离、编辑距离总结篇】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 详细布置 583. 两个字符串的删除操作 本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都…

流量回放平台与传统测试工具的对比分析

文章目录 一、流量回放平台的优势与挑战二、传统测试工具的优势与挑战三、实际案例演示四、解决方案五、答疑解惑5.1、传统工具不是也可以做到流量会放平台的无侵入性测试和性能瓶颈分析吗?5.2、开发流量回放平台的成本和使用传统测试工具的成本哪个更大&#xff1f…

基于SSM框架的垃圾分类系统的设计与实现(含源码+sql+开题报告+论文+论文答辩模板)

图1 前台首页截图 首页展示:首页展示法律法规、公示公告、用户交流论坛、分类指南、垃圾站点、以及个人中心; 法律法规:展示我国《城市生活垃圾分类及其评价标准》以及《生活垃圾分类标志》等最新法律法规; 公示公告&#xff1…

另一棵树的子树(oj题)

一、题目链接 https://leetcode.cn/problems/subtree-of-another-tree/submissions/536304222 二、题目思路 1.首先遍历大树,判断大树的根结点的值是否等于小树的根结点的值,如果不相等,就找大树的左孩子或者右孩子,以左孩子为根…

【线性表 - 数组和矩阵】

数组是一种连续存储线性结构,元素类型相同,大小相等,数组是多维的,通过使用整型索引值来访问他们的元素,数组尺寸不能改变。 知识点数组与矩阵相关题目 # 知识点 数组的优点: 存取速度快 数组的缺点: 事先必须知道…

php 实现:给图片加文字水印,图片水印,压缩图片

演示环境: 1、windows10 2、phpstudy 3、php7.4 一、案例演示: 二、素材准备 1、准备一张原始图片 2、准备一张水印图片(透明底图的最好) 3、字体库(windows系统自带的字体库,路径在:C:\Window…

Navicat连接Oracle

目标: 1.Navicat连接Oracle数据库,报错 无监听程序。 一、下载安装Navicat15 https://zhuanlan.zhihu.com/p/675991635 下载安装资源 链接:百度网盘 请输入提取码 提取码:1u1q 二、测试SQL PLUS连接数据库 在全部程序--》Ora…

Python | Leetcode Python题解之第123题买卖股票的最佳时机III

题目: 题解: class Solution:def maxProfit(self, prices: List[int]) -> int:n len(prices)buy1 buy2 -prices[0]sell1 sell2 0for i in range(1, n):buy1 max(buy1, -prices[i])sell1 max(sell1, buy1 prices[i])buy2 max(buy2, sell1 - …

Hadoop+Spark大数据技术 第七次作业

第七次作业 1. 简述Spark SQL使用的数据抽象DataFrame与Dataset的区别。 DataFrame: 基于 Row 对象的二维表格结构,类似于关系型数据库中的表。 行和列都有明确的 Schema(模式),可以进行类型推断。 提供了丰富的操作接口&#xff…

行列视(RCV)数据安全如何保障?

行列视(RCV)的数据安全保障是一项至关重要的任务,涉及多个层面的技术和策略来确保数据的完整性、保密性和可用性。以下是关于RCV数据安全保障的几个方面: 首先,RCV采用了先进的加密技术来保护数据的传输和存储。通过使…