打印
[应用相关]

STM32示波器 信号发生器

[复制链接]
853|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
关于stm32的示波器,网上以经有很多了。这里还是想把自己的设计思想发表出来。这个项目已经准备了很久。这里首先要感谢以前的团队,非常感觉陈师和覃总两位经验丰富的嵌入式工程师,获得了不少多方面的考虑。如果不是工作调整等原因,很有可能会出产品。但最后没有做完深感遗憾。这里发表下我的设计流程,希望能给做示波器的朋友有一定的帮助。也是让自己对此项目的一个总结。

使用特权

评论回复
沙发
condition|  楼主 | 2019-6-18 09:52 | 只看该作者
本示波器有效测量频率0.1 ~ 100KHz

双通道

集成信号发生器

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

时间轴每屏12格

硬件结构:
1、主芯 stm32zet6
2、触摸屏     SSD1289  320*240 RGB565
3、AD:  STM32内部ADC 1MHz采样率
           双通道。
(设计扩展外部高速AD,上述原因没能得以完成)
1、DA:内部DAC  20K以内正弦波,锯齿波和方波。
2、平台:uCOSIII,
3、图形:uCGUI

使用特权

评论回复
板凳
condition|  楼主 | 2019-6-18 09:54 | 只看该作者
软件设计:
设计思想
整个的数据流程如下:


数据采样分为三个部分:

1、高速采样(2us ~ 20us 包括20us);
在这之间以20us为例:
20us每格 * 12格 = 240us每屏。
采样率为1m也就是1us只可以采样到1个数据,上面提到了屏是320宽。
所以在这种情况下,1个数据在显示屏会对应1个或几个点。
         因此在2~20us之间都用最大采样率1MHz采样。
         采用连续采样模式。

2、中速采样(50us ~ 20ms 包括20ms);
在这之间的时间段中,只要采样周期调整和所选时间轴相同,就可以采样点与屏上的点一一对应。
采用定时器触发采样模式。

3、低速采样(大于等于50ms时)。
参考了海太科等品牌的示波器,在这种低速情况下在屏上循环显示(显示屏收尾相接)。
同样采用定时器触发采样模式。

使用特权

评论回复
地板
condition|  楼主 | 2019-6-18 09:55 | 只看该作者
数据解析:

1、波形参数:周期,占空比,最大值,最小值等等。
在获得采样数据后的数据参数的获得就比较简单了。
这里需要提的就是采样点与显示点的对应关系:

在中速,低速采样:
采样点显示点一一对应。

在高速采样时:
不管时间轴为多少采样周期都是1us;
采样点与显示点的对应关系为 (320屏宽)/(时间轴 * 12格 / 1us)

2、寻找触发点:
低速采样不进行触发,因为是循环显示。
在高速和中速采样 三倍屏幕的数据,与触发线比较获得匹配的一段数据进行显示。

使用特权

评论回复
5
condition|  楼主 | 2019-6-18 09:56 | 只看该作者
信号发生器:

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

使用特权

评论回复
6
condition|  楼主 | 2019-6-18 09:56 | 只看该作者
显示:

这部分就直接上图吧:




这里两段视屏:

http://www.tudou.com/programs/view/xhzx85TF-Is/

http://www.tudou.com/programs/view/-GiTeVanFhk/

使用特权

评论回复
7
guanjiaer| | 2019-7-8 10:59 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
heimaojingzhang| | 2019-7-8 11:10 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
keaibukelian| | 2019-7-8 11:23 | 只看该作者
感谢楼主分享啊

使用特权

评论回复
10
一无所知的一修| | 2019-7-12 19:47 | 只看该作者
楼主,我想做个方波发生器,有偿请教WX18550338785

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

256

帖子

1

粉丝