在嵌入式调试这个圈子里,示波器永远是绕不开的话题。但台式示波器的价格往往劝退了不少刚入门的学生和独立开发者,于是DIY示波器就成了一个很有吸引力的选择。很多人在网上刷到开源示波器项目或者百元级示波器套件时,第一反应是:这东西真的能用来调板子吗?还是只能当个会发光的玩具?
先说结论:DIY示波器的价值,不在于它能否对标几千上万元的台式示波器,而在于它能不能满足嵌入式开发中 80% 的常规调试需求。如果你正在调串口、查 I2C 时序、看 PWM 波形、测电源上电时序,那么一台靠谱的 DIY 示波器完全能帮你定位问题。但如果你的目标是测高频信号、抓偶发毛刺、做严格的信号完整性分析,那就需要慎重评估了。
这篇文章不只是科普“DIY示波器是什么”,而是从实际调试场景出发,拆解 DIY 示波器性能实测中的关键指标、测试方法、常见误区和排查思路。不管你是想自己动手做一台,还是刚入手了成品想摸清它的性能上限,这篇文章都能给你一份可以照着做的评估清单。
1. 为什么 DIY示波器值得认真测一测
很多人的第一台示波器不是泰克也不是是德,而是某宝上几十块的“玩具级”示波器,或者自己照着开源项目焊出来的 STM32 示波器。这类设备最大的问题不是参数低,而是参数标注和实际表现往往对不上。
标称 1MHz 带宽的示波器,实际测 100kHz 方波时方波已经变成了圆角;标称 1Msps 采样率的,实际开两个通道后就掉到 500ksps;还有的声称有触发功能,结果触发抖动大得根本不具备可重复性。这些差异只有真正动手测一遍才知道。
这就是本文要解决的痛点:不去迷信商家标称的参数,而是通过一套低成本、可重复的实测流程,摸清一台 DIY 示波器的真实性能边界。
从搜索结果来看,大家搜索“示波器使用方法”“示波器测上升时间比平时大了一倍”“示波器测量电源的纹波”这类问题时,往往已经遇到了具体调试困境。与其在网上零散找答案,不如掌握一套完整的测试方法,从原理上理解这些现象是怎么产生的。
2. 示波器的核心参数到底怎么看
要评估一台DIY示波器,先得看懂几个关键参数。这里不涉及复杂公式,只讲实际调板子时必须关注的概念。
2.1 带宽:决定你能看到多快的信号
带宽是示波器最核心的参数,指的是输入信号幅度衰减到实际值 70.7%(即 -3dB)时的频率。通俗理解就是:带宽不够,高频分量会被吃掉,方波变正弦波,上升沿变缓。
对嵌入式调试来说,判断一个信号能不能用这台示波器看,有一个经验法则:示波器带宽至少是信号最高频率的 3 到 5 倍。比如你要看的是 10MHz 的时钟信号,那示波器带宽至少要有 30MHz 到 50MHz,才能基本还原波形形状。
DIY 示波器在这个参数上最容易玩文字游戏。有的标称“100MHz”,实际前端电路根本没有对应带宽的放大器和 ADC 驱动能力。有的标称“模拟带宽 200kHz”,测量 200kHz 的方波时,5 次谐波(1MHz)已经全被滤掉,显示出来的波形离真实形状差得很远。
2.2 采样率:决定波形的保真度
根据奈奎斯特采样定理,采样率至少要达到信号最高频率的两倍才能不失真重建信号。但工程上这个下限远远不够,实际采样率至少要是信号频率的 5 到 10 倍,波形看起来才像样。
更关键的是,采样率不等于实时采样率。很多 DIY 示波器标称“采样率 1Msps”,指的是单通道模式下 ADC 能达到的最高采样速度。一旦开启双通道,采样率直接减半,甚至降至四分之一。实测时要特别注意这个差异。
2.3 存储深度:决定了你能看多长的波形
存储深度 = 采样率 × 采样时间。存储深度不够时,为了拉长观察窗口,示波器只能降低采样率,导致波形细节丢失。
这里有个常见误区:有人觉得把时基拉到 100ms/div 就能看完整的串口数据帧,结果波形显示出来了,但上升沿全部变成阶梯状。这就是存储深度不足导致采样率被压低的结果。DIY 示波器存储深度通常在 1K 到 4K 点之间,和台式机动辄 10M 点的存储深度差距很大,调低速协议时尤其明显。
2.4 垂直分辨率:决定你能看到多小的细节
垂直分辨率由 ADC 位数决定。常见的 DIY 方案使用 8 位 ADC,理论上能区分 256 个电压等级。对于看逻辑电平、测电压幅值已经够用,但如果要精确测电源纹波(毫伏级别),8 位 ADC 的量化噪声就会成为瓶颈。
这也是为什么大家搜索“示波器测量电源的纹波”时,总会看到有人讨论“要串联电容隔直”“要开带宽限制”的原因——测毫伏级纹波不只是分辨率问题,更是测量方法和前端噪声问题。
2.5 触发能力:调试效率的分水岭
触发功能决定了你能否稳定捕获特定时刻的波形。对 DIY 示波器来说,最基础的是上升沿/下降沿触发,进阶一点的需要支持脉宽触发、逻辑触发。
如果触发不稳定,看串口数据时波形会满屏乱跑,根本没法分析。很多 DIY 示波器虽然做了触发电路,但触发抖动大,稍微复杂的信号就锁不住。这是实测中最容易暴露短板的地方。
3. 搭建一套可复现的实测环境
开始实测之前,需要准备一套基本的测试环境。这里强调一下:不用追求昂贵的仪器,但信号源一定要有,否则只能用未知信号测未知示波器,得不出有效结论。
建议准备以下设备:
| 设备 | 用途 | 可选方案 |
|---|---|---|
| 信号发生器 | 产生已知频率和幅值的标准信号 | 20MHz DDS 信号发生器(百元级) |
| 待测开发板 | 产生嵌入式真实信号 | STM32 核心板、Arduino 等 |
| 电压表 | 校准示波器显示的幅值 | 万用表即可 |
| 标准电阻 | 验证探头补偿 | 1kΩ 电阻若干 |
| DIY示波器 | 被测对象 | 根据你的实际设备来 |
需要特别说明:如果手头没有独立信号发生器,用 STM32 的 DAC 输出正弦波或者用 PWM 滤波得到近似正弦波也是可以的。虽然精度和纯净度不如专业信号源,但对于验证示波器带宽和采样率已经够用。
在搭好环境后,不建议立即开始测高频信号。先做一步非常基础却常被跳过的操作:探头补偿校准。示波器探头里通常有一个可调电容,如果补偿不当,测方波时上升沿会过冲或圆角,会让人误判成信号本身的问题,实际是探头没校准。
// 用 STM32 输出 1kHz 方波做探头补偿测试 // 文件路径:main.c #include "stm32f1xx_hal.h" TIM_HandleTypeDef htim2; void PWM_Init(void) { __HAL_RCC_TIM2_CLK_ENABLE(); htim2.Instance = TIM2; htim2.Init.Prescaler = 72 - 1; // 72MHz / 72 = 1MHz htim2.Init.Period = 1000 - 1; // 1MHz / 1000 = 1kHz HAL_TIM_PWM_Init(&htim2); TIM_OC_InitTypeDef sConfigOC = {0}; sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 500; // 50% 占空比 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); }选择 1kHz 方波是因为它的频率低,DIY 示波器都能轻松捕获。观察显示出来的波形:如果边沿干净、顶部平坦,说明探头补偿正确;如果上升沿过冲严重,说明探头欠补偿;如果上升沿变圆,说明过补偿。这个校准步骤不做好,后面所有测量都会带上误差。
4. 实测步骤拆解
完成环境搭建和探头校准后,按下面的顺序做性能实测。测试顺序按难度和重要性递增排列,每一步都给出预期结果和判定标准。
4.1 第一步:DC 电压精度测试
打开信号发生器,设置为 DC 输出模式,依次输出 0.5V、1V、2V、3.3V、5V 电压,再用示波器测量并记录显示值与万用表读数的差值。
这一步操作起来没有难度,但很重要。DIY 示波器常用 ADC 直采或简单前端衰减电路,失调电压和分压电阻误差都会影响测量精度。如果 5V 的测量误差超过 0.2V,测电源电压时判断高/低电平就不能只依赖示波器的数值读数,而是要看波形形状。
预期结果:误差在 100mV 以内属于正常水平;误差超过 300mV 说明这款示波器的前端需要校准。
4.2 第二步:带宽测试
将信号发生器设为正弦波输出,先输出 10kHz、100mVpp 的信号,记录示波器显示的幅值。然后逐渐提高频率:100kHz、500kHz、1MHz、5MHz、10MHz,保持信号发生器输出幅值不变,逐一记录示波器显示幅值。
注意这里的关键操作是信号源输出幅值恒定,否则测出来的衰减曲线就失真了。当显示幅值降到 10kHz 时幅值的 70.7% 左右,对应的频率就是这台示波器的实际 -3dB 带宽。
从搜索结果里“示波器测上升时间比平时大了一倍”的现象来看,很多人遇到类似问题第一时间怀疑是信号源或芯片问题,其实很可能是示波器带宽不够,把本来很陡的边沿“抹平”了。
预期结果:如果一台标称 1MHz 带宽的示波器,实测 1MHz 正弦波时幅值已经跌到原来的 50% 甚至更低,说明其前端电路设计存在明显不足,或者厂家标注带宽的标准过于宽松。
4.3 第三步:采样率与方波响应测试
把信号发生器切换到方波输出,分别输出 10kHz、100kHz、1MHz 方波。观察波形的上升沿形状重建情况。
理论上,一个理想的方波包含基频以及无穷多的高次谐波。要准确呈现一个 1MHz 方波,仪器的测量链路需要保留到至少 10MHz 甚至更高的频率分量。如果 DIY 示波器显示出的波形成阶梯状,说明采样率不足;如果上升沿变成圆弧状,说明带宽不足。
这一步能检验普通参数表上看不出来的真实性能。
4.4 第四步:真实嵌入式信号捕获测试
用 STM32 输出 UART 波形和 I2C 波形,测试示波器对真实通信协议信号的捕获能力。
这里给大家一段用来输出周期数据帧的测试代码:
// 使用 UART 按固定周期发送已知数据帧,便于观察波形 // 文件路径:uart_test.c #include "stm32f1xx_hal.h" UART_HandleTypeDef huart1; void UART_SendTestFrame(void) { uint8_t frame[] = {0xAA, 0x55, 0x01, 0x02, 0x03, 0x04, 0x0D, 0x0A}; while (1) { HAL_UART_Transmit(&huart1, frame, sizeof(frame), 100); HAL_Delay(10); // 每 10ms 发送一帧,方便示波器观察 } }观察 UART 波形时,把示波器时基设置在 200us/div 到 500us/div 之间,应该能完整看到一帧数据的起始位、数据位、停止位。把触发模式设置为下降沿触发,可以稳定捕获起始位。
观察 I2C 波形时,推荐先用 100kHz 标准模式测试,时序相对宽松,更容易判断示波器的捕获能力。如果连 100kHz 的 I2C 都无法稳定触发,说明这台示波器做协议调试会很吃力。
4.5 第五步:电源纹波测量
电源纹波测量是最容易得出错误结论的测试之一,也是搜索热度很高的主题。在测量之前需要理解:示波器探头本身就是一根天线,会把环境中的 50Hz 工频干扰和各种高频噪声叠加到被测信号上。
测量方法如下:
- 使用 1:1 探头,或者去掉探头的地线夹,用接地弹簧尽量缩短地线长度。
- 示波器通道设置为 AC 耦合(如果支持),滤掉直流分量。
- 开启带宽限制(如果支持),限制到 20MHz,滤除高频噪声。
- 将探头尖端和地线分别接触电源输出电容的两端,不要用长地线夹远距离连接。
如果 DIY 示波器不支持 AC 耦合,可以用一个 10uF 的电容串联在探头尖端,也能起到隔直作用,但要注意低频成分会被衰减。
测量结果的判定标准需要结合示波器自身的底噪水平。测量前先把探头接地夹和探头尖端短接,观察示波器的本底噪声。如果本底噪声是 50mVpp,那测出来的任何纹波如果低于 100mVpp,都很难分清是真实纹波还是示波器自身噪声。从搜索结果看,很多人在问“示波器U盘格式”“示波器上位机软件”,其实一部分是为了把波形数据导出来做进一步 FFT 分析。但做这类分析前,先确认硬件本身能不能可靠地测量毫伏级信号更重要。
5. 实测过程和结果的分析逻辑
完成上述测试后,已经有了大量数据。但数据本身不会告诉你结论,你需要一套分析逻辑。
5.1 如何判断带宽测试结果
将不同频率下的幅值记录成表格,观察衰减曲线:
| 频率 | 信号源输出 | 示波器显示 | 衰减比例 |
|---|---|---|---|
| 10kHz | 1Vpp | 0.98Vpp | 98% |
| 100kHz | 1Vpp | 0.95Vpp | 95% |
| 500kHz | 1Vpp | 0.80Vpp | 80% |
| 1MHz | 1Vpp | 0.60Vpp | 60% |
当衰减比例降到 70.7% 时,对应的频率就是实测带宽。如果标称带宽 1MHz,但在 500kHz 就衰减到了 70.7%,说明标称值虚高。反之如果 1MHz 时衰减还在 90% 以上,说明前端设计扎实。
这里有一个容易忽略的细节:有些 DIY 示波器在低幅值信号(比如 100mVpp)下的带宽表现和高幅值信号(比如 5Vpp)下差异很大。原因是低幅值信号更容易受到前端噪声和失调电压的影响。建议至少用两个不同幅值做交叉测试,才能更全面了解设备性能。
5.2 如何判断采样率的真实表现
看方波测试时的阶梯效应。10kHz 方波如果出现明显阶梯感,问题很可能是显示刷新率低或插值算法简单,而不是采样率不够。因为 10kHz 方波的理论基频不高,任何示波器在时基拉到 20us/div 左右时都应该能平滑显示。
比较有价值的判断方式是测 100kHz 方波。如果波形显示上升沿部分有 3 到 5 个采样点组成的“台阶”,说明在当前时基下示波器确实在降采样。这时提高存储深度(如果支持)或者减少观察窗口宽度,看台阶是否消失。如果消失了,说明存储深度是瓶颈;如果没有变化,说明 ADC 采样率本身已经见顶。
5.3 触发能力的判断方式
在测 UART 波形时,把触发模式设为下降沿触发,然后连续发送多个数据帧。观察波形在屏幕上是否稳定不动。如果跳动得很厉害,可能有两种原因:一是触发电平设置不当,二是触发电路存在较大抖动。
把触发电平移动到信号的中间位置(比如 1.65V),如果波形仍然乱跑,那就基本可以判断是触发电路本身实现得不够理想。DIY 示波器出现这类问题不罕见,因为触发精度对电路设计、比较器选型和固件算法都有一定要求,不是简单写几行代码就能完美解决的。
6. DIY示波器调试的常见问题与排查方法
在实际用 DIY 示波器调试嵌入式板子时,很多人会遇到下面这些问题。先给出一张完整的排查表,再逐个展开讲。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 波形满屏乱跑,无法稳定 | 触发模式没设置或触发电平超出范围 | 设置上升沿触发,把触发电平移到信号幅值中间 | 检查触发源是否选择了正确通道 |
| 测方波上升沿变圆 | 示波器带宽不足,高频分量被滤除 | 对比同频率正弦波幅值衰减情况 | 换带宽更高的示波器,或用待测信号的下降沿做分析 |
| 测串口数据只有起始位,后续数据看不清 | 时基设置不当,存储深度不足 | 拉长时基观察完整帧,再缩小看细节 | 分段存储或使用滚动模式观察 |
| 加上探头后信号幅度比预期低很多 | 探头档位设置错误(1:1/10:1切换) | 检查探头上的开关位置 | 将探头拨到 1:1,或换算幅值(10:1 时乘以 10) |
| 电源纹波测量结果波动巨大 | 地线夹过长引入噪声 | 使用接地弹簧缩短地线回路面积 | 用弹簧接地方式重新测量 |
| 两个通道同时开启时波形明显变差 | 采样率被减半 | 查看双通道模式下的采样率标注 | 单通道模式测量关键信号,避免双通道同时高采样率 |
| 测量高电平时间不准确 | 触发点位置存在较大抖动 | 多次测量取平均值 | 使用脉宽触发或平均采样模式 |
接下来展开几个最常见的坑。
6.1 存储深度不足导致的假象
用 DIY 示波器调 I2C 时序时,最典型的问题是把时基拉到比较大的档位(比如 10ms/div)寻找完整帧,但波形会明显失真。建议先确认一个概念:示波器显示一屏波形需要 10 个时基格的数据。如果时基是 1ms/div,一屏就要采集 10ms 的数据。在 1Msps 采样率下,这就需要 10000 个采样点。但如果设备存储深度只有 1024 点,采样率就会自动降为约 100ksps。此时看一个 100kHz 的 I2C 信号,每个时钟周期只能采到 1 个点,波形自然严重失真。
解决思路是:在最小存储深度不够的情况下,把观察窗口缩小到刚好容纳一段目标信号(比如只抓一个 I2C 字节),再切换到下一段,凑出完整时序。这在效率上不如台式示波器,但是低成本实测中可行的做法。
6.2 上升沿测量结果异常
如果你发现测量结果比预期大了一倍,比如一个逻辑芯片的上升沿规格书标称 5ns,但示波器测出来是 100ns,此时不要急着怀疑芯片有问题。先确认示波器的带宽是否足够。示波器测量上升沿有一个近似关系:示波器实测上升时间约等于信号真实上升时间与示波器自身上升时间的均方根值。如果示波器带宽只有 1MHz,它自身上升时间约为 350ns,那无论被测信号多快,实测结果都不可能低于 350ns,测量结果自然比信号真实值大得多。
这类问题在新手调试中很常见。遇到上升沿“变慢”的情况,先检查示波器带宽是否足够,再检查探头是不是在 10:1 衰减档位并已做补偿校准。
6.3 非法抓取毛刺的尴尬
毛刺捕获是调试中的高频需求,也是 DIY 示波器的明显短板。普通示波器要抓到偶发毛刺,依赖的是足够高的采样率和足够智能的触发算法。如果一台 DIY 示波器只有 1Msps 采样率,一个宽度为 50ns 的毛刺信号,连一个采样点都可能落在它上面,抓不到是正常的,不是设备坏了。如果确实需要抓毛刺,建议把示波器设置为单次触发模式,提高采样率(如果有多档可选),再配合外接信号源多次触发测试。
这个问题的本质是:用低成本设备,就要清楚它在时间分辨率上的边界,不要拿台式示波器的能力去套用。
7. DIY示波器的性能实测数据应该怎么记录和输出
实测完之后,建议把数据整理成一份可复用的测试报告。这样既方便自己后续对比固件升级前后的性能差异,也能在分享给朋友或发布开源项目时提供可信的数据支撑。
测试报告建议包含以下四块内容:设备信息(示波器型号、固件版本、探头型号、供电方式)、测试条件(信号源型号、输出阻抗、连接线类型、室温)、测试数据和截图。把原始数据保留下来,做固件升级前后对比会很有价值。
从热搜词来看,很多人会搜索“示波器U盘格式”“示波器上位机软件”这类内容。如果你的 DIY 示波器支持把波形数据导出到 U 盘或上位机,一定要在这里把数据用起来。比如把方波测试数据导出成 CSV 文件,再导入 Python 做简单的频谱分析,就能更直观地看出示波器前端对信号的影响。
这里给出一段简单的 Python 分析代码,可以读取导出的 CSV 波形数据并画出频谱:
# 文件路径:analyze_waveform.py import csv import numpy as np import matplotlib.pyplot as plt # 读取导出的 CSV 文件,假设第一列为时间,第二列为电压 time = [] voltage = [] with open('scope_output.csv', 'r') as f: reader = csv.reader(f) next(reader) # 跳过标题行 for row in reader: time.append(float(row[0])) voltage.append(float(row[1])) t = np.array(time) v = np.array(voltage) # 计算采样率 if len(t) > 1: fs = 1.0 / (t[1] - t[0]) else: fs = 1.0 # FFT 频谱分析 N = len(v) fft_data = np.fft.fft(v) fft_freq = np.fft.fftfreq(N, d=1/fs) magnitude = np.abs(fft_data) / N # 只画正频率部分 positive_mask = fft_freq > 0 plt.figure(figsize=(10, 6)) plt.plot(fft_freq[positive_mask], 20*np.log10(magnitude[positive_mask])) plt.title('Waveform Spectrum Analysis') plt.xlabel('Frequency (Hz)') plt.ylabel('Magnitude (dB)') plt.grid(True) plt.savefig('spectrum_analysis.png', dpi=150) print(f"采样率: {fs:.2f} S/s,数据点数: {N}")实际导出数据时,DIY 示波器的格式可能差异很大,有 CSV、也有自定义文本格式。如果设备没有导出功能,也可以对着屏幕手动记录关键频点的幅值,虽然效率低,但也能作为数据支撑。
8. 通过实测结果做购买或DIY决策
跑完上述流程后,你会对这台 DIY 示波器的真实能力有一个清晰的判断。接下来把实测结果对应到实际场景中,看它能干什么、不能干什么。
8.1 只做数字信号逻辑判断是否够用
如果只是看电压有没有拉高拉低、信号有没有输出、PWM 占空比对不对,那即便带宽只有几百 kHz、采样率只有 1Msps 的 DIY 示波器也够用。这种场景下波形细节并不重要,重要的是逻辑电平是否正确翻转。
8.2 低速通信协议调试(UART/I2C/SPI)
如果频率在 100kHz 到 1MHz 范围,DIY 示波器可以尝试但要有耐心。UART 115200 波特率通常问题不大;I2C 100kHz 标准模式也勉强能检查时序顺序,但要测 ACK 位或具体的建立保持时间就会比较吃力;SPI 如果跑 10MHz 以上,就基本超出低成本 DIY 示波器的能力范围了。
8.3 电源纹波和模拟信号测量
从搜索结果中“示波器测量电源的纹波”这个热搜能看出,很多硬件爱好者都想用一台示波器搞定所有测量。但实际情况是:电源纹波测量对示波器的垂直灵敏度和本底噪声要求很高。DIY 示波器如果本底噪声比纹波本身还大,测出来的数据参考价值就很有限。这时可以考虑用毫伏表配合简单的前置放大电路,或者借助万用表的 AC 毫伏档做一个粗略估算。
8.4 学习示波器原理,是否有额外价值
相比买一台二手台式示波器,DIY 示波器最大的额外价值不在于测量功能,而在于学习过程。自己了解前端衰减电路、触发比较器、ADC 采样、FPGA 或 MCU 数据处理和上位机显示这一整套流程,对硬件工程师的成长是非常宝贵的。从学习的角度看,DIY 示波器的“性能不足”反而是优点,因为它逼着你去理解每一个环节的制约因素。
9. 工程实践建议与调试验证思路
基于前面的实测和分析,这里给出几条更偏工程实践的总结。
建议一:每次调板子前先做一次开机自检
别急着直接测目标信号。花 30 秒把探头接到示波器自带的 1kHz 校准方波输出上,确认波形形状和幅值正常。这个习惯能排除探头损坏、接触不良、通道设置错误等低级问题。很多“示波器测出来的波形不对”的问题,最后排查下来都是探头地线断了或者接触不良。
建议二:先确认接地回路,再怀疑芯片
测板上信号时,如果波形出现大量的 50Hz 工频干扰或高频毛刺,先不要怀疑被测电路,先检查示波器的接地连接。地线夹悬空、地线夹夹到了不当位置、探头地线过长,都可能引入噪声。把接地弹簧装上,地线回路尽可能短,干扰往往就能降下来。
建议三:时基、幅值、触发放大三步定位法
面对一个完全未知的信号,推荐按这个顺序设置示波器:
- 把时基放到比较大的档位(比如 1ms/div),先找到信号的大致周期。
- 调整垂直档位,让信号幅度占据屏幕的一半到三分之二。
- 设置好触发电平,逐步缩小到时基适中档位,观察细节。
这套流程看起来基础,但很多人拿到示波器第一步就试图直接看细节,反而不知道该看哪里。从大到小逐步逼近,是效率最高的方式。
建议四:结论不要只看单次波形
DIY 示波器噪声相对更大、触发稳定性相对更低。测关键参数时,不要只看单次波形,可以取 3 到 5 次测量结果做平均。如果设备支持多次采集平均显示模式,打开这个功能,能明显降低随机噪声对读数的影响。
10. 下一步可以怎么玩
一款 DIY 示波器的实测做完之后,除了继续做板子调试,还有几条延伸路径可以走:
一是自己做一台便携示波器。比如 STM32 + 外部 ADC + OLED 或手机的方案已经很成熟了,过程中可以深入理解从模拟前端到数字处理的完整链路。二是写一个上位机软件。这正好契合热搜词里“示波器上位机软件”的需求,做信号显示、波形保存和简易 FFT 分析,本身就是很有价值的软件工程练习。三是给现有开源示波器方案做固件功能增强,比如增加触发模式、做虚拟屏幕的缩放交互等。
如果你想走硬件方向,可以从校准算法入手:用标准信号源测出幅频响应曲线,在固件里做数字补偿,把带宽外推到更高频率。这是把“摸清性能边界”转化为“提升性能表现”的自然延伸,也会让 DIY 这条路走得更值。