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

本示波器有效测量频率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

软件设计:

设计思想

整个的数据流程如下:

数据采样分为三个部分:

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

在这之间以20us为例:

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

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

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

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

采用连续采样模式。

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

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

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

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

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

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

数据解析

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

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

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

在中速,低速采样:

采样点显示点一一对应。

在高速采样时:

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

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

  1. 寻找触发点:

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

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

信号发生器

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

 

显示:

这部分就直接上图吧:

这里两段视屏:

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

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

转载于:https://www.cnblogs.com/hiker-blogs/archive/2013/01/05/2846175.html

STM32示波器 信号发生器相关推荐

  1. 基于stm32示波器 一共有几套示波器实现方案,每套方案都含有原理图

    基于stm32示波器 一共有几套示波器实现方案,每套方案都含有原理图(部分是pdf),PCB以及源码,部分含boon清单. ID:6910669254897704TB_31840123

  2. 立创开源|USB示波器+信号发生器+USB存储 三合一

    分享一个在立创开源硬件平台上开源的仪器项目,包含了各种功能,做这东西花了不少时间. 项目作者:xiaowuzxc 项目地址:点此进入 开源协议: MIT 已打板验证! 简介 本工程集成了"老 ...

  3. HNU-电子测试平台与工具-示波器+信号发生器的使用

    该报告最后的得分为100分/100分. 作者认为可以将它发出来,为有需要的同学,特别是该大学该门科目的后继者提供帮助与解答. 如果喜欢可以点个赞哦,感谢. 班级:计XXXXXX 学号:2021XXXX ...

  4. STM32示波器(HAI库)

    目录 前言 配置CubeMX CubeMX基础运用 下载调试端口及时钟配置 配置GPIO口 测试灯及按键配置(低电平点亮) 配置按键 LCD屏的配置及使用 移植LCD屏幕驱动程序 显示画面 轮询方式+ ...

  5. 基于STM32的函数信号发生器设计(下:软件设计)

    转载请注明出处:http://blog.csdn.net/sctu_vroy/article/details/46279817 下篇将介绍整个STM32函数信号发生器系统软件设计部分,将着重介绍设计逻 ...

  6. STM32学习——入门小项目

    博客地址:STM32学习--入门小项目 – Infinite's Blog 这个小项目是来自参加电设时,老师发的STM32入门(进阶)任务,具体的要求如下: 软件设计要求 编写简单I/O程序,能用板上 ...

  7. 单片机设计资料,仿真、程序、原理图收集好资料分享,stm32、8086、单片机方案

    偶然网上保存的资料,单片机设计资料,仿真.程序.原理图收集的资料转发分享,有需要的拿走. 资源下载地址 百度网盘 基于单片机红外自动触发计时器protues仿真 基于单片机汇编语言抢答器系统设计 基于 ...

  8. 射极跟随器实验报告数据处理_射极跟随器实验报告模式

    射极跟随器实验报告模式 射极跟随器实验报告模式 一.实验目的 1.熟悉Multisim9软件的使用方法. 2.掌握放大器静态工作点的仿真方法及其对放大器性能的影响. 3.学习放大器静态工作点.电压放大 ...

  9. 西威变频器使用说明书_北京2020第三期变频器电路板维修技术培训开班通知

    北京2020年第三期电路板变频器维修技术培训班 将于2020年7月6日开班! 下一期2020年8月5日开班! 由于疫情原因,每班限额5名,防聚集! 技术是一个人的核心能力,技术也是公司发展的核心竟争力 ...

最新文章

  1. Flume Sinks官网剖析(博主推荐)
  2. 深度学习tensorflow变量op
  3. 第五天总结 运算符 职业化 运算符优先级 职业精神
  4. php获取跳转后url,php获取跳转后真实url的方法
  5. 将 AR 新创公司收入囊中后,Lyft 的自动驾驶脚步要加快了
  6. 随想录(单片机和步进电机学习笔记)
  7. bzip2recover cat chattr chgrp chmod
  8. 设计模式——代理模式与装饰模式的异同
  9. influxdb数据过期_influxdb 清空数据库
  10. 智商太低,居然算不出病狗神题了
  11. FillRect、FrameRect、Rectangle 矩形绘制函数使用对比分析
  12. 一个超级棒的 Chrome 翻译插件
  13. java apache类库_java-类库-Apache Commons补充
  14. 华为2288HV5服务器内存插法及内存插槽位置
  15. ElasticSearch集成SpringBoot+实战
  16. mysql禁止空密码登录_PhpMyadmin空密码登录被禁止登录问题解决办法
  17. Linux 读书笔记 二
  18. 使用FFmpeg、HLS和Nginx搭建在线视频流媒体播放系统
  19. 第一部分:使用iReport制作报表的详细过程(Windows环境下)
  20. 解决 Rsync chown/chgrp 错误

热门文章

  1. python基本语句
  2. (回溯Uva524)素数环
  3. linux系统如何挂载新硬盘,Linux系统挂载新硬盘操作流程
  4. linux设置静态ip后端口不能上网,Centos7设置静态IP后无法上网的解决方法
  5. HTML+CSS+JS实现 ❤️新型冠状病毒射击小游戏❤️
  6. 蚂蚁爬杆 java_java蚂蚁爬杆
  7. java实现鸭子类型,Golang的interface及duck typing鸭子类型
  8. React-Native 获取设备当前网络状态 NetInfo
  9. Jsoup处理URLs
  10. redis timeout设置多少合适_热水器怎么调温度?一般热水器温度设置多少度比较合适?...