历史上的今天
返回首页

历史上的今天

今天是:2025年07月09日(星期三)

正在发生

2021年07月09日 | STM32示波器 信号发生器

2021-07-09 来源:eefocus

简介:关于stm32的示波器,网上以经有很多了。这里还是想把自己的设计思想发表出来。这个项目已经准备了很久。这里首先要感谢以前的团队,非常感觉陈师和覃总两位经验丰富的嵌入式工程师,获得了不少多方面的考虑。如果不是工作调整等原因,很有可能会出产品。但最后没有做完深感遗憾。这里发表下我的设计流程,希望能给做示波器的朋友有一定的帮助。也是让自己对此项目的一个总结。

本示波器有效测量频率0.1 ~ 100KHz


双通道


集成信号发生器


时间轴每格 1,2,5递增范围:2us ~ 1s


时间轴每屏12格

硬件结构: 主芯 stm32zet6 触摸屏 SSD1289 320*240 RGB565 AD: STM32内部ADC 1MHz采样率

双通道。


(设计扩展外部高速AD,上述原因没能得以完成)

DA:内部DAC 20K以内正弦波,锯齿波和方波。 平台:uCOSIII, 图形:uCGUI 软件设计: 设计思想

整个的数据流程如下:


数据采样分为三个部分:

高速采样(2us ~ 20us 包括20us);

在这之间以20us为例:


20us每格 * 12格 = 240us每屏。


采样率为1m也就是1us只可以采样到1个数据,上面提到了屏是320宽。


所以在这种情况下,1个数据在显示屏会对应1个或几个点。


因此在2~20us之间都用最大采样率1MHz采样。


采用连续采样模式。


中速采样(50us ~ 20ms 包括20ms);

在这之间的时间段中,只要采样周期调整和所选时间轴相同,就可以采样点与屏上的点一一对应。


采用定时器触发采样模式。


低速采样(大于等于50ms时)。

参考了海太科等品牌的示波器,在这种低速情况下在屏上循环显示(显示屏收尾相接)。


同样采用定时器触发采样模式。


数据解析:

波形参数:周期,占空比,最大值,最小值等等。

在获得采样数据后的数据参数的获得就比较简单了。


这里需要提的就是采样点与显示点的对应关系:


在中速,低速采样:


采样点显示点一一对应。


在高速采样时:


不管时间轴为多少采样周期都是1us;


采样点与显示点的对应关系为 (320屏宽)/(时间轴 * 12格 / 1us)


寻找触发点:

低速采样不进行触发,因为是循环显示。


在高速和中速采样 三倍屏幕的数据,与触发线比较获得匹配的一段数据进行显示。


信号发生器:


这部分就很简单了,先计算出一个周期的波形放在数组中,用DMA循环更新DA就可以了。


显示:


这部分就直接上图吧:


推荐阅读

史海拾趣

问答坊 | AI 解惑

各国电压一览表

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 各国电压一览表 ,希望对大家有所帮助! …

查看全部问答>

国内最好的6G矢量网络分析仪AV3620的技术参数!

AV3620 型高性能射频一体化矢量网络分析仪可快速准确地测量射频网络的幅度特性、相位特性和群延迟特性,还可以进行时域和频率变换器件的测量。能够直接满足生产线上要求,是元器件生产线上应用最为广泛的测量仪器之一,其测量精度高,可作为实验室 ...…

查看全部问答>

【晒电路】模拟电路PWM的实现电路图

      本图为一个使用游戏手柄或者航模摇杆上的线性电位器(或线性霍尔元件)控制两个底盘驱动电机的PWM生成电路。J1是手柄的插座,123和456分别是x,y两个方向的电位器。U1B提供半电源电压,U1A是电压跟随。x,y分量经过合成 ...…

查看全部问答>

求助该电路中R1的取值

如图是本安型防爆电源,求助该电路的R1的阻值由什么决定。就是说R1的取值范围。 [ 本帖最后由 wzk07296 于 2010-4-29 23:46 编辑 ]…

查看全部问答>

Wince 5.0 120天评估版到期, 如何解决?

wince 5.0的120天评估版, 到期了, 该怎么解决? 修改系统日期是可以用, 但是邮件的什么会乱, 很麻烦, 有没有彻底的解决方法? …

查看全部问答>

请帮忙看看 按键驱动的问题!!

最近参考网上资料,为自己的S3C44B0X开发板1X4按键写了驱动程序key1x4.c,以及简单的测试程序key_test.c: /*********************************************************************/ /*key_test.c*/ #include #include #include #includ ...…

查看全部问答>

弱弱的问一下关于移植包,

移植包是什么东西?具体什么作用?…

查看全部问答>

急,急,急! 2812外扩SRAM不能正常读写!!

2812外扩SRAM不能正常读写,不知是什么原因? 几天前SRAM都已经正常调通了,但这几天,不知什么原因,SRAM就是不能正常读写,现象如下: (1)写一个数据,相邻随机地址的数据也发生变化; (2)仅读数据,相邻随机地址的数据也会发生变化; ( ...…

查看全部问答>

CortexM0__Timer32_0示例代码程序下载

CortexM0__Timer32_0示例代码程序下载…

查看全部问答>