当前位置:   article > 正文

LA5016逻辑分析仪抓取STM32串口信号

la5016

前言

逻辑分析仪用于有时序要求的通信中,抓取通信过程中的信号,分析信号是否符合通信协议和信号的完整性。

正文

一、实验前准备
1.安装好逻辑分析仪上位机软件KingstVIS
在这里插入图片描述

2.准备好一块单片机开发板(我用的是STM32F4)
3.准备好一个逻辑分析仪(我用的是LA5016)
二、硬件连接
1.将逻辑分析仪和电脑端口连接
2.将逻辑分析仪和STM32共地
3.将逻辑分析仪的采集通道和单片机发送信号的通道相连(我连接的是USART1_TX)。
在这里插入图片描述
三、软件设置
有四要素,
1.阈值电压:区分高低电平的间隔。例如标准3.3v单片机的高低电平阈值为1.65,高于1.65为高电平,低于1.65为低电平。(这里设置为CMOS 3.3V,即阈值电压为Vth=1.65V)
2.采样率:每秒钟采集信号的次数。这个和采样精度相关,采样率越高精度越高,一般采样率要5倍于待采样的信号频率,才能完好的还原出信号,当然最好是能10倍于待采样信号频率。在不知道待采样信号频率的时候,可设置为最高采样频率(我这里设置为500Mhz)
3.存储深度:一次采集能够存储的采样点数。深度越大,一次采集的数据量越大。数据采集时间=存储深度/采样率。(我这里采样深度为500MSa,所以采样时间为1s)
4.触发条件:高低电平或者边缘触发。(串口通讯拉低为起始信号,所以设置为下降沿触发)
在这里插入图片描述

四、开始采样
1.KingstVIS开启单次采样,等待串口触发
在这里插入图片描述
2.STM32串口发送

	USART_SendString(USART1, "AT+01");  
	delay_ms(20);
	USART_SendString(USART1, "CSDN");  
  • 1
  • 2
  • 3

3、采样结果
在这里插入图片描述
五、结果检验
1.首先检验两次接收信号时间间隔是否为20ms
在这里插入图片描述
通过时间标尺我们可以看到两次时间间隔为20.01203ms,符合我们程序设定的延时20ms。
2.检查传输的两次信号是否失真
首先要先搞清楚”AT+01“和“CSDN”对应的16进制ASCII码(其实直接对ASCII码也行)
在这里插入图片描述
在这里插入图片描述
然后打开KingstVIS的解析器,选择UART/RS232/485。
在这里插入图片描述
解析结果如下
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
可以看到,抓取的结果和stm32发送的信息是一致的。

六、扩展
在这里插入图片描述
我们把采集到的信号放大并变为二进制,从波形可以得出以下结论:
1.串口传输数据时先传送字符的低位,后传送字符的高位。
2.串口通讯中是一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。停止位和空闲位都规定为高电平。

最后,附上逻辑分析仪上位机软件KingstVIS和STM32测试程序,有需要的小伙伴自行下载。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/502430
推荐阅读
相关标签
  

闽ICP备14008679号