【星火计划】STM32示波笔2.0
简介
基于STM32G431的示波笔设计,带AD输入,PWM和DA输出
简介:基于STM32G431的示波笔设计,带AD输入,PWM和DA输出开源协议
:GPL 3.0
描述
未经作者允许,禁止商用!!!
基于【STM32G0示波笔】的升级版
使用了应该是QFN32下模拟性能最强的STM32G431单片机,支持双通道的可调频率可调占空比PWM输出,ADC双通输入,以及单通道可调波形的DAC输出,且一如既往的将单片机超频到了200M的主频
板子也可集成到其他模块上进行采集
代码见【Github】
目前功能为:
ADC:
输入电压0-3.3V,采样率12bits @ 5Mhz
1-2-5时基步进从200ns到500us,并可以软件放大时基至20ns
软件垂直放大1-2-5-10倍
三种触发方式,0-90%的10种触发电平
波形测量功能
PWM:
1-2-5时基切换PWM输出频率从20MHz到500Hz
10%步进切换PWM输出占空比从0%到100%
DAC:
最高10Mhz@12bit的DAC输出
可调节输出峰峰值以及直流偏置,可达0-3.3V,调节步进为10%
可输出六种波形,包括正弦波,三角波,锯齿波,方波,冲激和直流
可调节输出频率以及波形水平分辨率,其中频率依然为1-2-5步进从10M到500hz,而水平分辨率则可从10点步进到500点
3个独立按键多层次菜单切换
1个可编程LED灯
预留串口通信
---------
BOM不可信,请自行去X信购买类似封装的元件(指接插件)
屏幕为中景园1.47寸LCD屏
---------
若运行过程中出现bug,请通过立创开源/b站私信/评论区或邮箱,本人会及时修改程序并更新。
若需要更多的合作请唯一指定邮箱 Defenver@foxmail.com
------------讲解环节----------
基本上和STM32G0那个示波器差不多
比较麻烦的是G4资料较少,本人又是寄存器重度爱好者,调这方面花了许多时间
ADC采样和G0那个差不多,这边就不说了
DAC则不太一样,STM32G4的DAC分为低速DAC和高速DAC,低速DAC的频率只有1M,而高速的可达到15M。然而高速的DAC只能连接到片内外设,无法直接输出到IO口。
你以为这样就结束了吗,错误的,ST慷慨的给G4系列加了个OPAMP外设,OPAMP是可编程运算放大器外设,其功能与片外运放一样,然而带宽比片外运放便宜了不少,带宽也提升了不少(GBW=13M),而且其支持连接到DAC以跟随模式直接输出DAC波形,这样一来不仅解决了高速DAC无法输出的问题,还能通过运放缓冲DAC用来驱动一点点负载,何乐而不为
接下来就简单了,和ADC差不多,同样是用TIM触发DAC,然后DMA传数据,这样就能输出波形了
最后是软件部分,软件部分和先前三个个示波器没多大区别,基本都是把所有东西丢进while(1)里面处理
这个版本的示波器多了不少东西,因此使用了三级页面来显示功能等,还是使用经典的键值判断来切换页面,看源码就懂了.jpeg
由于选择的单片机的Flash大小不足(STMM32G431K6),USB等外设无法实现,等以后有米了换上更好的单片机再看看能不能用上这个功能吧
评论