基于STM32的数字示波器设计

前言
是德科技(nyse:keys)-原安捷伦电子测量事业部,是全球电子测量技术和市场的领导者,致力于推动无线通信、模块化和软件解决方案的持续创新,专注于为客户提供卓越的测量体验。是德科技提供的电子测量仪器、系统、软件及服务广泛应用于电子设备的设计、研发、制造、安装、部署和运营。
此次,是德科技为工程师分享了包括示波器、物联网、5g通信、汽车电子等热门领域的技术知识,手把手教会工程师如何通过示波器行之有效的实现相关领域的专业测试测量。
从朋友得知st公司在搞活动,可以申请stm32f429的探索套件,作为穷学生一枚的我不免动了心。大二上学期参加完全国大学生电子设计竞赛之后闲来无事,就自己做了一个数字示波器来作为学习stm32的实战检验,前后花费了大概1个月的时间完成了初稿,之后又断断续续的完善我的示波器,并且为它编写了上位机程序和制定了通信协议。使用了前端程控模拟电路和上层电路板,ucos-ii,ucgui,fft,sd,上位机等等,现在因为参加老师的项目研发也就暂时闲置了下来,之前就打算在各大论坛开源,但是一直没有时间整理设计文档,恰巧现在st公司这个活动,所以就全部开源分享给大家吧,一起学习。
下一步计划重新设计模拟电路部分使用cpld和高速ad实现更高的采样率。
硬件平台:
主控器:stm32f103zet6 64k ram 512k rom
屏幕器:ssd1963
分辨率:480*272 16位色
触摸屏:tsc2046
模拟电路:op-tl084
op-u741
sw-cd4051
cmp-lm311
pwr-lm7805
-lm7905
-mc34063
-ams1117-3.3
drt-uln2003
6.继电器:信号继电器
7.电源:dc +12v
注:芯片的数据手册等信息可以在集成电路查询网站搜索 https://www.datasheet5.com/
芯片询价和在线购买链接 https://www.bom2buy.com/
软件平台:
开发环境:realview mdk-arm uvision4.10
c编译器:armcc
asm编译器:armasm
连机器:armlink
实时内核:uc/os-ii 2.9实时操作系统
gui内核:uc/gui 3.9图形用户接口
底层驱动:各个外设驱动程序
数字示波器功能:
波形发生器:使用stm32一路da实现正弦,三角波,方波,白噪声输出。任意一种波形幅值在0-3.3v任意可调、频率在一定范围任意可调、方波占空比可调。调节选项可以通过触摸屏完成设置。
sd卡存储:sd卡波形存储输出,能够对当前屏幕截屏,以jpg格式存储在sd卡上。能够存储1s内的波形数据,可以随时调用查看。
数据传输:用c#编写上位机,通过串口完成对下位机的控制。
(1)实现stop/run功能
(2)输出波形电压、时间参数
(3)控制截屏
(4)控制波形发生器
(5)控制完成fft
(6)波形的存储和显示
图形接口:ucgui
水平扫速:250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms
垂直电压灵敏度:10mv/div, 20mv/div, 50mv/div, 0.1v/div, 0,2v/div, 0.5v/div, 1v/div,2v/div, 5v/div
被测信号的各种参数屏幕显示,包括频率、电压峰峰值等。
数字示波器性能参数:
主控: stm32f103zet6
液晶屏: 4.3寸tft480×272 65k彩色lcd显示屏 fsmc
ad: 12位1mhz采样率
最高实时取样率:1msa/s 12bits
取样缓冲器深度:5k
垂直灵敏度:5v,1v,500mv,200mv,100mv,50mv,20mv,10mv;
水平时基范围:2s,1s,500ms,200ms,100ms,50ms,20ms,10ms,5ms,2ms,1ms,500us,200us,100us,50us,20us,10us,5us,2us,1us
输入阻抗:≥1mω
最高输入电压:30vpp
耦合方式:ac/dc
触发功能:实现自动、常规、单次触发方式 ,上升或下降边沿触发
参数计算:频率、周期、占空比、交流峰-峰值、平均值、光标追踪显示
run/stop 
实物展示:
上位机截图:
设计心得分享
由于程序量比较大,所以在程序中我完成了大量的注释,详细的说明了具体的实现方法,其中的示波器原理和fft原理请自己查阅相关教材。我个人认为最值得参考的就是如何制定一个效率较高的通信协议。我查阅了很多资料最后结合实际设计了一套通信协议,这套通信协议效传输速率理论最大可达16000bps,实际采用10666bps速率传输。协议的编码、解码算法的详细说明附在附件中。随着程序量的增加,f103也渐渐感到比较吃力了,其中fft的运算就是典型代表,也希望借此机会申请到f429带dsp指令的mcu来进一步提高示波器的性能。
限于目前的知识水平,这套示波器是实践大于理论的产物,其中很多设计存在先天的不足,以后会继续改进,向更高性能迈进。


泰克示波器探头校准的重要性及步骤详解
简述什么是芯片及其作用领域
高森美发布业界30W以太网供电中跨产品
频谱分析仪的分辩带宽与视频滤波器
智能镜子在健身房的应用,打造健身智能生活新时尚
基于STM32的数字示波器设计
BN降低内部协方差偏移是流言吗?
解决方案|医疗设备行业数字化采购管理系统解决方案
新功能发布 | TSMaster工具箱集成开发环境系列2-工具箱极简开发流程
中国十大专业音响品牌大全
继消毒机器人后,京港地铁近期上线了变电所智能巡检机器人
序列发生器是什么_序列发生器设计步骤
锂动力电池高低温特性_锂动力电池模组温度采集方法
选购电脑显示器最常见的几种接口介绍和应用场景
连接器厂家教你如何选择连接器
计算机病毒知多少
曝小米正打造一款TWS旗舰耳机 降噪以及人机交互等方面会有升级
虹科HK-GB系列宽带放大器介绍
CAXA实体设计在液压挖掘机设计开发中的应用
2015年纳入欧洲车规 引爆ISO26262电子元件需求