发作品签到
专业版

STM32G0示波笔

工程标签

2.8w
0
0
88

简介

基于STM32G030的示波笔

简介:基于STM32G030的示波笔

开源协议

GPL 3.0

创建时间:2022-07-14 19:19:10更新时间:2022-11-29 16:58:58

描述

基于【STC示波器笔】的升级版

新版本【STM32G4示波笔】已发布,新增DAC功能

使用了STM32G030F6P6单片机,支持双通道的可调频率可调占空比PWM输出,以及ADC双通输入,且将单片机超频到了100M的主频

板子也可集成到其他模块上进行采集

展示视频【链接】,开源仓库【GitHub】

目前功能为:

AD输入电压0-3.3V

12bits @ 5Mhz/12bits @ 2.5Mhz

1-2-5时基步进从200ns到500us

垂直放大1-2-5-10倍

三种触发方式,0-90%的10种触发电平

波形测量功能

1-2-5时基切换PWM输出频率从10MHz到200Hz

10%步进切换PWM输出占空比从0%到100%

3个独立按键多层次菜单切换

1个可编程LED灯

预留USB串口通信,但是我搞不出来摆了

---------

BOM不可信,请自行去X信购买类似封装的元件(指接插件)

FPC座子务必购买上接

---------

代码整理中,暂未开源,目前仅提供固件下载已开源,见上文

若运行过程中出现bug,请通过立创开源/b站私信/评论区或邮箱,本人会及时修改程序并更新。

若需要更多的合作请唯一指定邮箱 Defenver@foxmail.com

------------讲解环节----------

原理其实不难,使用DMA+ADC+TIM循环采样,随后将数据搬运到内核处理即可

而根据实际操作,发现ADC的时钟貌似可以超频,只需要保证AXI总线时钟对齐即可,因此将其超频到100M的ADC时钟,并适当增加采样延时,使得ADC采样速率达到恐怖的5M(TSMC yyds)

定时器采用了TIM1的TRGO,连接到ADC作为时钟触发源,随后DMA一直搬运数据到内存中方便后续处理,此处可见安富莱相关教程了解原理

 

还有一个PWM输出,这玩意原理非常简单就不解释了,可以参考安富莱的教程来了解原理,总的来说G0相较其他系列,这方面调节方式较为简单

 

接下来是其他的外设,之前的项目使用的是0.96寸的屏幕,虽然能用但是显示的东西不多,因此此处换了个1.14寸的屏幕

原来的按钮手感太$了,因此这里换了个波轮开关,手感确实好了不少

串口坏掉了,感觉是芯片问题,等后继者修复吧(

 

最后是软件部分,软件部分和先前两个示波器没多大区别,基本都是把所有东西丢进while(1)里面处理

页面显示部分经典画点函数,触发点部分为了节约代码大小使用了三目运算符来判断,最后是页面切换部分使用了switch语句配合键值来进行对选项的切换等

本项目代码和思路大致如此

 

实物图见下

------------

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
light.hex
523
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航