STM32示波器 信号发生器
出处:21ic 发布于:2018-07-17 14:42:21
本示波器有效测量频率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就可以了。
显示:
这部分就直接上图吧:
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是MOS管?NMOS、PMOS和三极管的区别2024/4/30 17:17:10
- MOSFET 开关损耗简介2024/4/29 16:52:06
- 信号二极管详细教程2024/4/28 16:20:03
- ROHM 6432尺寸金属板分流电阻器“PMR100”新增3款超低阻值产品!2024/4/28 15:26:33
- 光耦详细应用教程2024/4/26 16:43:32