amobbs.com 阿莫电子技术论坛

标题: 基于STM32H7的100Mhz双通道示波器 [打印本页]

作者: niu14789    时间: 2020-5-20 17:20
标题: 基于STM32H7的100Mhz双通道示波器
        2020年春节这场突如其来的YQ,让我在家里呆了一个多月。毕业之后一直忙于工作,突然闲了下来还真有点不适应。想着闲着也是闲着要不要搞个板子玩玩?我是一个爱折腾且闲不住的人。虽然在2016年时候从一个普通的电工转到了管理职位之后几乎没有再亲自写过代码更别说设计板子,但是爱折腾的毛病就是改不了,我想这就是电工的天职吧。那好吧,那就做点东西玩玩,一方面可以把这几年落下的技术开发能力该有的提升给提升一下,另一方面也是想证明,虽然身处管理职位,但是技术开发能力依然可以。
        想做示波器的想法缘于有一天看到身边的这台泰克2GS/s,200MHz带宽的示波器时,猛然间想起大学时候制作的那个示波器没有成功,一直耿耿于怀。好吧,那我们就重新制作一台示波器,以弥补学生时代的遗憾。但到底要做什么性能指标的示波器呢,此时我又看了一眼这台泰克示波器,眉头一皱,计上心头,好,那我们就做一台除了采样率与存储深度干不过它之外,其它的常用功能全部支持的,可以在单片机软硬件开发过程中用来维修调试的,也可以说是“低配乞丐版的便捷式示波器”。
       做这台示波器并不想简单的把波形显示出来就算完工了,既然决定了那就从头做到尾,把当初定义的功能指标全部做完。做完之后给公司里的工程师人手一台,因为主控是用STM32单片机开发的,所以绝大部分工程师都可以自己来改代码,最终的目标是做一个最好用的开源便捷稳定的示波器。
        接下为就是方案确定芯片选型等。为了选择一款大小合适,显示效果好,价钱合适的LCD屏幕,我从不同的厂家买了很多块不同尺寸与分辨率的LCD屏进行测试(下方有各种屏的图片)。最终选择了5寸的800*480的IPS屏,这是因为经边我的测试发现,7寸屏有点太大了,便捷不太方便。4.3寸及以下的屏有点小,波形看着不太方便。5寸是介于便捷与方便之间的选择。5寸的屏能买到的还有480*272分辨率的非IPS屏,但是实测发现这个分辨率的屏买不IPS的,可视太差,角度差一点看起来就效果就会差很多。综上就选择了5寸800*480的IPS屏,成本比480*272要贵差不多30元,但是显示效果好了不是一星半点。
        做示波器最好的主控应该是FPGA,但是FPGA开发我并不是很擅长,所以就决定用单片机来做。由于要驱动屏,所以MCU需要支持LCD接口,第一版用的是STM32F429IG配外部SDRAM,芯片太大,SDRAM太大,线太多,只能用4层板。后来就决定就STM32H750VB来做,这是因为这颗芯片的性价比很高,它只卖22元左右比429IG要便宜一半以上,而且片内有512KB的SRAM可以用做显存,这样用一颗芯片连SDRAM也省了,双面板搞定,成本降了很多。其它的一些设计也是在家里完成的。
        4月份回来公司来上班,打的板子也回来了,就开始调板子,这二个月期间改了几次硬件,由于工作原因并没有一整块的时间去调试写代码,只能下班之后有空搞一搞,目前可以说完成了基本功能,后期再慢慢软件升级。
说一下主要技术指标:
1.双通道,每通道100MHz的采样率,并可升级到125MHz(只需要改一个晶振,代码上做一下简单的修改即可支持)
2.每通道8KB的存储深度。
3.模拟带宽实测,探头X1:6MHz,探头X10:>30MHz(由于信号发信器只能发出30MHz的正弦波,在30Mhz时实测信号衰减比大于90%,实际带宽接近50MHz).
4.支持硬件触发,可以查看触发前与触发后的数据。支持的其它在硬件触发基础上的触发模式包括:自动,正常,单次等。
5.扫描时间范围:50ns~500ms每格(1-2-5)递进,更长的扫描时间也可以实现,目前软件版本只支持到500ms.
6.垂直电压范围:5mV~10V,电压精度5%~%10(可通过校准得到更精确的精度)。探头X10的话可以测量峰峰值为800V的信号。
7.支持电容触摸屏的接口,后期可以开发触摸应用。
8.支持LCD显示,支持480*272,800*480,854*480分辨率的LCD,同时支持640*480,800*600的VGA显示(下方有图片)。
9.可选择通道1或通道2为触发源,并且触发电压可调。
10.两个都支持AC/DC耦合。
11.输入电压范围X1最大60V,X10最大600V。内部有电压保护,高电压不会烧芯片,若想提高电压,可以更换更高电压的固态继电器即可。
12.支持电池提供电,支持充电,实测使用1800mAh的锂电池在LCD背光全开的情况下可以工作4个小时,充电电流1A。若想提高电池使用时间可以更换大容量电池。
13.USB-TYPE-C接口,通过一个模拟开关可切换到MCU的USBFS上或者内置的HID免驱的USB转TTL芯片上实现串口。


其它功能(目前版本的软件没有实现,但是硬件支持的,后期升级慢慢可以使用的功能)

1.FFT,后期软件升级会支持FFT,可选择期中一个通道进行FFT。
2.stop模式下波形的放大与水平位置调节。
3.水平与垂直的测量功能。
4.触摸屏的支持,通过触摸屏可以更方便的进行一些操作。
5.水平时间的调节。
6.更多的触发模式,如IIC的起启信号触发等。
7.支持X-Y,用来绘制李萨如图形等。

后期会全部进行开源。

以下是图片:


作者: rclong    时间: 2020-5-20 17:39
这GUI用什么框架?挺好看的
作者: ronic    时间: 2020-5-20 17:41
不错不错,支持一下
作者: PCBtiepian    时间: 2020-5-20 17:46
很漂亮,支持开源
作者: 落叶知秋    时间: 2020-5-20 17:47
支持,电工就是喜欢折腾
作者: why800    时间: 2020-5-20 17:49
双通道采样100mhz,这个是用fpga吧?配合高速adc实现?数据带宽这么大,mcu怎样处理呢?
作者: cloudboy    时间: 2020-5-20 17:56
赞一个,界面做得很泰克
作者: TigerFish    时间: 2020-5-20 17:59
这个,其实不要屏幕,直接USB到电脑更方便
作者: niu14789    时间: 2020-5-20 18:02
rclong 发表于 2020-5-20 17:39
这GUI用什么框架?挺好看的

自己写的一个简单的GUI框架
作者: niu14789    时间: 2020-5-20 18:03
cloudboy 发表于 2020-5-20 17:56
赞一个,界面做得很泰克


作者: niu14789    时间: 2020-5-20 18:03
why800 发表于 2020-5-20 17:49
双通道采样100mhz,这个是用fpga吧?配合高速adc实现?数据带宽这么大,mcu怎样处理呢? ...

没用FPGA
作者: JackFrost    时间: 2020-5-20 18:34
顶楼主,直接用H750的定时器触发+DMA来实现外置ADC芯片100MSPS的采样吗? 之前也玩了一下H750,功能真是很强大价格也便宜。
作者: niu14789    时间: 2020-5-20 18:37
JackFrost 发表于 2020-5-20 18:34
顶楼主,直接用H750的定时器触发+DMA来实现外置ADC芯片100MSPS的采样吗? 之前也玩了一下H750,功能真是很 ...

用的外部FIFO来实现数据暂存的,单片机处理不过100MSPS的数据的
作者: HZKJ    时间: 2020-5-20 23:08
刚刚在淘宝搜了一下,发现款100m带宽,1g采样率的,也是7寸屏幕。一直需要一个安静的小示波器,明天上车。
作者: lovejp1981    时间: 2020-5-20 23:11
HZKJ 发表于 2020-5-20 23:08
刚刚在淘宝搜了一下,发现款100m带宽,1g采样率的,也是7寸屏幕。一直需要一个安静的小示波器,明天上车。 ...

上车后来个测评
作者: ndt2000    时间: 2020-5-20 23:12
赞,界面做得不错,请爽
作者: bad_fpga    时间: 2020-5-20 23:38
800*480分辨率 不是要750K做缓存?
作者: amigenius    时间: 2020-5-21 00:02
bad_fpga 发表于 2020-5-20 23:38
800*480分辨率 不是要750K做缓存?

可以用索引色,384K就可以
作者: 饭桶    时间: 2020-5-21 07:31
我一直决定示波器和逻辑分析仪都应该有HDMI接口的,多方便。
作者: JackFrost    时间: 2020-5-21 08:19
饭桶 发表于 2020-5-21 07:31
我一直决定示波器和逻辑分析仪都应该有HDMI接口的,多方便。

严重同意,能外接显示器真是爽太多了
作者: zhw950    时间: 2020-5-21 08:24
很实用,界面不错。
作者: niu14789    时间: 2020-5-21 09:04
JackFrost 发表于 2020-5-21 08:19
严重同意,能外接显示器真是爽太多了

是的,可玩性更高,可以接各种显示器,如果没有VGA接口,还可以用一个VGA转HDMI接口的模块转成HDMI
作者: bad_fpga    时间: 2020-5-21 09:16
amigenius 发表于 2020-5-21 00:02
可以用索引色,384K就可以

谢谢,又学到知识了
作者: jingwaner    时间: 2020-5-21 09:36
楼主是合格的电工!点赞
作者: huangrui    时间: 2020-5-21 09:45
外接显示器效果不错,支持一下!
作者: qianj1986    时间: 2020-5-21 09:45
没注意到H750价格这么便宜,一直在弄F767,感觉没优势啊
作者: microEC    时间: 2020-5-21 09:47
单骗机还能做这个事

作者: niu14789    时间: 2020-5-21 09:55
qianj1986 发表于 2020-5-21 09:45
没注意到H750价格这么便宜,一直在弄F767,感觉没优势啊

H750VB,有100PIN,400MHZ主频,128KBflash,1MB的RAM,官方报价3.6美金,对比STM32F405RG,也需要20多块钱一片,所以这个芯片性价比还是很高的

作者: lusson    时间: 2020-5-21 10:05
niu14789 发表于 2020-5-21 09:55
H750VB,有100PIN,400MHZ主频,128KBflash,1MB的RAM,官方报价3.6美金,对比STM32F405RG,也需要20多块 ...

RT1052应该更香吧,就是只有BGA封装。
作者: niu14789    时间: 2020-5-21 10:22
lusson 发表于 2020-5-21 10:05
RT1052应该更香吧,就是只有BGA封装。

你可以去看看RT1052的售价,以及最小系统需要其它的外围芯片,你就会发现还是H750香,因为BGA封装单单PCB板子的成本就高出不少(至少4层板),再加上外围的SDRAM等,还有开发成本等。
作者: xyz543    时间: 2020-5-21 10:28
佩服楼主这 DIY 的精神,也期待后续能更加完善,这还蛮有意思的。

作者: qianj1986    时间: 2020-5-21 11:06
qianj1986 发表于 2020-5-21 09:45
没注意到H750价格这么便宜,一直在弄F767,感觉没优势啊

看的价格心痒痒,也想转H750了

液晶屏和触摸屏是一个店买的吗?已经贴好了的吗?
作者: niu14789    时间: 2020-5-21 11:10
xyz543 发表于 2020-5-21 10:28
佩服楼主这 DIY 的精神,也期待后续能更加完善,这还蛮有意思的。

谢谢,后期会更加好的
作者: niu14789    时间: 2020-5-21 11:11
qianj1986 发表于 2020-5-21 11:06
看的价格心痒痒,也想转H750了

液晶屏和触摸屏是一个店买的吗?已经贴好了的吗? ...

都是一体的
作者: lusson    时间: 2020-5-21 14:49
niu14789 发表于 2020-5-21 10:22
你可以去看看RT1052的售价,以及最小系统需要其它的外围芯片,你就会发现还是H750香,因为BGA封装单单PCB ...

我觉得主要问题还是在BGA,普通条件无法焊接 。
1052不用SDRAM也可以跑的,当然得外挂程序flash,flash这个倒是便宜。
RT1052本身价格的话是3美金。
作者: powerlabor001    时间: 2020-5-21 15:27
^_^,高人就是高人。
你的小飞机套件的确很耐摔,孩子晚了很久,我修修补补都还能用,:-)。
等你的示波器出来,看能否支持一把。
作者: lovejp1981    时间: 2020-5-21 15:31
lusson 发表于 2020-5-21 14:49
我觉得主要问题还是在BGA,普通条件无法焊接 。
1052不用SDRAM也可以跑的,当然得外挂程序flash,flash这 ...

本身价格没有参考性,FLASH得加,电源得加一堆,还有上电时序。不像STM32一个3.3V就可以了。
作者: niu14789    时间: 2020-5-21 15:49
lovejp1981 发表于 2020-5-21 15:31
本身价格没有参考性,FLASH得加,电源得加一堆,还有上电时序。不像STM32一个3.3V就可以了。 ...

正解,STM32简单粗暴,绝大部分工程师能玩得转
作者: niu14789    时间: 2020-5-21 15:49
powerlabor001 发表于 2020-5-21 15:27
^_^,高人就是高人。
你的小飞机套件的确很耐摔,孩子晚了很久,我修修补补都还能用,:-)。
等你的示波器出 ...

谢谢谢谢
作者: waymcu    时间: 2020-5-23 00:46
学习关注
作者: b57203493    时间: 2020-5-23 15:29
[attach]513876[/attach][attach]513875[/attach][attach]513874[/attach]
作者: TIANYJ    时间: 2020-5-23 16:56
真没想到STM32能这么强大。
作者: roc.    时间: 2020-5-23 18:42
学习关注
作者: 鱼尾之恋    时间: 2020-5-23 20:02
不错,太棒了。支持开源。
作者: linbo411    时间: 2020-5-23 22:25
好想制作一个 开源吗?
作者: gwj221    时间: 2020-5-23 23:20
niu14789 发表于 2020-5-20 18:02
自己写的一个简单的GUI框架


楼主:X宝店的代码也不见了
作者: Puppey    时间: 2020-5-24 06:29
很酷,有套件出吗?多少钱
作者: wpy    时间: 2020-5-24 10:19
支持外接vga这个非常赞呀
作者: dz46316740    时间: 2020-5-24 10:39
很酷,有套件出吗?多少钱+1
作者: hzyjq    时间: 2020-5-24 11:32
楼主厉害了!Mark学习了
作者: whatcanitbe    时间: 2020-5-24 12:40
界面做的不错,挺漂亮的
作者: whatcanitbe    时间: 2020-5-24 12:42
b57203493 发表于 2020-5-23 15:29

这个应该是 STM32+FPGA 的吧
作者: Honey_comb    时间: 2020-5-24 12:56
厉害啊,那个大图是接到显示器上了?界面很漂亮
作者: l.htlht    时间: 2020-5-24 13:28
支持。           
作者: rootxie    时间: 2020-5-24 20:56
楼主放一下原理图让大家膜拜一下
作者: b57203493    时间: 2020-5-24 21:47
whatcanitbe 发表于 2020-5-24 12:42
这个应该是 STM32+FPGA 的吧

对的                             
作者: niu14789    时间: 2020-5-25 09:18
gwj221 发表于 2020-5-23 23:20
楼主:X宝店的代码也不见了

不知道为什么贴子下方签名显示不出来了
作者: niu14789    时间: 2020-5-25 09:19
Honey_comb 发表于 2020-5-24 12:56
厉害啊,那个大图是接到显示器上了?界面很漂亮

是的,可以接电脑显示器,电视,投影仪等有VGA接口的显示设备,如果只有HDMI接口的话,可以买一全VGA转HDMI的线
作者: niu14789    时间: 2020-5-25 09:20
whatcanitbe 发表于 2020-5-24 12:40
界面做的不错,挺漂亮的

谢谢谢谢
作者: niu14789    时间: 2020-5-25 09:24
开源的原理图与代码正在整理中,本周会发布,请大家稍等,展示视频目前发布在抖音与我的朋友圈内,感兴趣的朋友可以加我微信(niux14789)或者关注抖音号:oscfun
作者: crazydtone    时间: 2020-5-25 10:27
厉害啦......
作者: wangweigang0    时间: 2020-5-25 15:53
前端便宜的FPGA,后面F1C100S行不行,感觉能便宜点。
作者: jjj    时间: 2020-5-26 08:11
看着很厉害
作者: niu14789    时间: 2020-5-27 09:20
开源的原理图与代码正在整理中,本周会发布,请大家稍等,展示视频目前发布在抖音与我的朋友圈内,感兴趣的朋友可以加我微信(niux14789)或者关注抖音号:oscfun
作者: xfdr    时间: 2020-5-28 09:24
非常厉害,成本大约多少?想DIY一台
作者: Jokerseal    时间: 2020-5-28 10:27
niu14789 发表于 2020-5-20 18:37
用的外部FIFO来实现数据暂存的,单片机处理不过100MSPS的数据的

楼主,可以说一下这个外部FIFO是什么吗?
作者: niu14789    时间: 2020-5-28 10:58
开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:00
PCBtiepian 发表于 2020-5-20 17:46
很漂亮,支持开源


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:01
Jokerseal 发表于 2020-5-28 10:27
楼主,可以说一下这个外部FIFO是什么吗?


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:01
xfdr 发表于 2020-5-28 09:24
非常厉害,成本大约多少?想DIY一台


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:01
crazydtone 发表于 2020-5-25 10:27
厉害啦......


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:02
rootxie 发表于 2020-5-24 20:56
楼主放一下原理图让大家膜拜一下


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:02
whatcanitbe 发表于 2020-5-24 12:42
这个应该是 STM32+FPGA 的吧


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:03
dz46316740 发表于 2020-5-24 10:39
很酷,有套件出吗?多少钱+1


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:04
JackFrost 发表于 2020-5-20 18:34
顶楼主,直接用H750的定时器触发+DMA来实现外置ADC芯片100MSPS的采样吗? 之前也玩了一下H750,功能真是很 ...


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:04
wpy 发表于 2020-5-24 10:19
支持外接vga这个非常赞呀


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:04
powerlabor001 发表于 2020-5-21 15:27
^_^,高人就是高人。
你的小飞机套件的确很耐摔,孩子晚了很久,我修修补补都还能用,:-)。
等你的示波器出 ...


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:05
Puppey 发表于 2020-5-24 06:29
很酷,有套件出吗?多少钱


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:05
linbo411 发表于 2020-5-23 22:25
好想制作一个 开源吗?


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:05
why800 发表于 2020-5-20 17:49
双通道采样100mhz,这个是用fpga吧?配合高速adc实现?数据带宽这么大,mcu怎样处理呢? ...


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: niu14789    时间: 2020-5-28 11:06
鱼尾之恋 发表于 2020-5-23 20:02
不错,太棒了。支持开源。


开源资料与套件发布,请看这个帖子
https://www.amobbs.com/thread-5733970-1-1.html?_dsign=19db468d
作者: vc9181    时间: 2020-5-29 18:41
lusson 发表于 2020-5-21 14:49
我觉得主要问题还是在BGA,普通条件无法焊接 。
1052不用SDRAM也可以跑的,当然得外挂程序flash,flash这 ...

测试样板的话,就用普通的热风枪足以焊接BGA芯片
作者: mxper88    时间: 2020-5-29 20:54
支持开源,自己也做一个
作者: lusson    时间: 2020-5-31 08:32
vc9181 发表于 2020-5-29 18:41
测试样板的话,就用普通的热风枪足以焊接BGA芯片

不是所有人都有这个技术的。
作者: fengxin32    时间: 2020-5-31 14:15
b57203493 发表于 2020-5-23 15:29

第一张左上那个白色6脚,标注“ADT4”的是信号继电器么?能给个型号不?谢谢。
作者: 冷月无声    时间: 2020-5-31 20:43
支持开源,有空玩玩
作者: liuyingqing139    时间: 2020-5-31 21:11

不错,太棒了。支持开源。
作者: b57203493    时间: 2020-6-1 07:17
fengxin32 发表于 2020-5-31 14:15
第一张左上那个白色6脚,标注“ADT4”的是信号继电器么?能给个型号不?谢谢。 ...

变压器而已
https://item.taobao.com/item.htm ... p;abbucket=2#detail
作者: xsmjc98    时间: 2020-6-1 16:51
界面做的挺漂亮!
作者: fengxin32    时间: 2020-6-1 21:41
b57203493 发表于 2020-6-1 07:17
变压器而已
https://item.taobao.com/item.htm?spm=a230r.1.14.149.7c49777591UcLQ&id=45688997802&ns=1& ...

用来把时钟转成差分?
作者: Nuist_Gwgj    时间: 2020-6-1 22:29
支持开源,有空了买个套件
作者: b57203493    时间: 2020-6-2 07:38
fengxin32 发表于 2020-6-1 21:41
用来把时钟转成差分?

正解                              
作者: liang_work    时间: 2020-6-4 19:11
这个得顶,标记一下...
作者: 游在云间    时间: 2020-6-11 05:50
这个非常赞
作者: kickdown    时间: 2020-6-15 13:27
屏显示的感觉很类似泰克了,比麦科信看起来视觉效果好很多。不知为何,总感觉麦科信的显示low
作者: Sunshine66    时间: 2020-6-17 22:57
很关注这个项目,支持楼主!
作者: zhiweirui    时间: 2020-6-18 00:19
强悍的电工,对示波器也感兴趣
作者: sky_walker    时间: 2020-6-18 10:51
不知有没有谁,做出配套的外壳?
作者: laylovesb1314    时间: 2020-6-27 11:54
做的很棒啊!
作者: zaldy30    时间: 2020-7-1 20:11
楼主的照片清晰,是用手机拍的吗?




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4