
立创·梁山派-简易示波器设计
简介
使用立创·梁山派开发板完成项目《简易示波器设计》,开发板主控芯片为GD32F470ZGT6,屏幕为2.4寸RGB屏幕,目前实现了DAC、ADC功能,DAC输出正弦波信号频率500Hz~10KHz
简介:使用立创·梁山派开发板完成项目《简易示波器设计》,开发板主控芯片为GD32F470ZGT6,屏幕为2.4寸RGB屏幕,目前实现了DAC、ADC功能,DAC输出正弦波信号频率500Hz~10KHz开源协议
:GPL 3.0
描述
1、本次立创·梁山派项目开发学习的初衷在于
熟悉嵌入式项目的开发流程,掌握如何设计一个简易示波器硬件电路、软件编程以及系统调试等能力。
2、功能介绍:
- 带有波形参数显示:频率、周期、脉宽、占空比、最大值、最小值、平均值;
- 垂直和水平位置均可调,并带有指示;
- 有上升下降沿两种触发方式;
- 最高实时采样率:1Msps;
- 信号耦合方式:DC/AC;(由于缺乏开关芯片器件,实际实现的DC耦合检测)
- 最高输入电压:±16Vpp(探头倍数为10:1),±150Vpp(探头倍数为100:1);
3、技能掌握
硬件开发能力
- 学习嵌入式项目电路分析的能力,学会如何看懂原理图;
- 初步掌握元器件选型与数据手册阅读的基础能力;
- 巩固掌握模拟电路,数字电路基础;
- 了解示波器工作原理与采样电路设计的基本方法;
- 掌握示波器基础理论与关键指标;
- 学习原理图设计与PCB设计技巧,培养独立项目设计思维;
- 掌握万用表、示波器、信号发生器、学生电源等仪器的使用,具备基础电路分析能力;
- 掌握电烙铁、热风枪等工具使用,具备元器件焊接与硬件调试能力,成为新一代“焊武帝”
软件开发能力
- 了解GD32基础功能及外设的使用,上手GD32项目开发;
- 了解ADC采集原理,实现电压的采集功能;
- 了解LCD驱动原理,实现屏幕驱动;
- 掌握UI界面的制作;
- 掌握嵌入式软件开发、代码的阅读与BUG调试的方法与技巧
5、碰到的问题与解决方法:
5.1、进行简易示波器设计过程中在硬件电路、软件设计确实遇到了不少的难题,在解决问题的过程中无形增长了自身的问题解决能力,这点是非常好的。在该项目开发过程中,我主要进行的工作内容是完成示波器扩展板的硬件电路元器件选型以及电路板焊接工作,而软件设计工作在教程资料中已经给出了较为完整的源程序,可以编译后烧录至开发板运行。
5.2、硬件电路设计过程中遇到的问题有:对于示波器模拟电路的运行运行原理不太容易理解,虽然有较为详细的理论说明但还是比较晦涩难懂,于是我想起了使用仿真软件可以对这些运放模拟电路进行电路仿真,此举很好加深了对这部分电路的理解。

仿真工具为protues
5.3、示波器扩展板工程我使用的是立创的开源工程,初次打开这个工程瞬间就给人头很大的感觉,主要是电路图的元器件非常多,而且许多元器件是没有接触过的。其实虽然电路元器件多但也可以先慢慢来学习了解这些电路器件的功能作用及使用注意事项。在硬件原理图中,可以在选中某一器件情况下打开该器件在立创商城的存货信息,不幸运的是有许多元器件在立创商城是处于缺货状态,我不得不取查找同类器件来代替。而部分元器件实在无法找到,我采取了不焊接该部分器件的部分,但不对示波器功能造成较大的影响,比如缺乏AC/DC状态切换的RELAY开关控制器件,于是我省去了RELAY器件及其外围电路的焊接,此时ADC的输入模式被限定为DC耦合模式。其他缺乏的器件还有拨码开关、示波器探头的接口等,对于示波器的ADC、DAC接口可以简单使用杜邦线代替,这在设计验证阶段是允许的。
5.4、在软件设计方面,这方面涉及的内容有点多,一个是屏幕驱动和图像界面设计。教程中对此给出了详细的说明。主要的难点是对SPI通信和DMA传输的内容理解,还有帧缓存设计,需要完成外部SDRAM的驱动。示波器的主要功能是对输入信号进行检测,包括输入信号的频率、赋值等,在这检测过程中用到的最为有力的工具就是FFT,即快速傅里叶变换分析,FFT的实现是使用ARM官方提供的DSP库,该库适用于绝大多数的ARM内核芯片,而GD32F470正是基于Cortex-M4内核的处理器芯片。以下工程是从立创·梁山派教程资料处下载,其中有部分工程编译不通过,我已经做好工程修改,文末会将修改好的工程共享。

6、效果演示
6.1、开发板是直接使用立创梁山派,这个可以不用二次设计开发。以下是示波器扩展板焊接实物图

显示驱动

6.2、DMA刷屏测试

6.3、DAC输出

DAC扫频输出,频率从500到10000Hz

6.4、ADC简单显示
输入信号为5KHz方波,信号检测结果存在一定噪声,可能是电路中少焊接了部分滤波电容、电感器件导致的。

6.5、FFT简单显示
绿色波形线为输入信号波形,黄色波形线为FFT的幅频特性曲线。可以看到左侧有一明显波峰,这个波峰对应的横坐标表示当前输入信号的频率


根据教程给出计算公式,可以计算得出输入信号的频率大小

6.6、整体功能实现
整体功能的UI列出有当前输入耦合模式,输入信号波形、幅频曲线、输入电压衰减、水平时基、DAC输出频率、输入信号的检测频率等信息

演示视频见附件
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论