【免费申请】三天,一本书,带你入门顶级单片机!

断电不断网,DC/DC UPS路由器光猫带保护电源

不用变着法偷懒,智能家政机器人给你理由!

(更新)基于STM32的数字示波器设计(完整的设计资料)

  • (更新)基于STM32的数字示波器设计(完整的设计资料)
  • (更新)基于STM32的数字示波器设计(完整的设计资料)
  • (更新)基于STM32的数字示波器设计(完整的设计资料)
  • (更新)基于STM32的数字示波器设计(完整的设计资料)
  • (更新)基于STM32的数字示波器设计(完整的设计资料)

(更新)基于STM32的数字示波器设计(完整的设计资料)

(更新)基于STM32的数字示波器设计(完整的设计资料)

(更新)基于STM32的数字示波器设计(完整的设计资料)

(更新)基于STM32的数字示波器设计(完整的设计资料)

(更新)基于STM32的数字示波器设计(完整的设计资料)


前言:

是德科技(NYSE:KEYS)-原安捷伦电子测量事业部,是全球电子测量技术和市场的领导者,致力于推动无线通信、模块化和软件解决方案的持续创新,专注于为客户提供卓越的测量体验。是德科技提供的电子测量仪器、系统、软件及服务广泛应用于电子设备的设计、研发、制造、安装、部署和运营。

此次,是德科技为工程师分享了包括示波器、物联网、5G通信、汽车电子等热门领域的技术知识,手把手教会工程师如何通过示波器行之有效的实现相关领域的专业测试测量。


从朋友得知ST公司在搞活动,可以申请STM32F429的探索套件,作为穷学生一枚的我不免动了心。大二上学期参加完全国大学生电子设计竞赛之后闲来无事,就自己做了一个数字示波器来作为学习STM32的实战检验,前后花费了大概1个月的时间完成了初稿,之后又断断续续的完善我的示波器,并且为它编写了上位机程序和制定了通信协议。使用了前端程控模拟电路和上层电路板,uCOS-II,uCGUI,FFT,SD,上位机等等,现在因为参加老师的项目研发也就暂时闲置了下来,之前就打算在各大论坛开源,但是一直没有时间整理设计文档,恰巧现在ST公司这个活动,所以就全部开源分享给大家吧,一起学习。下一步计划重新设计模拟电路部分使用CPLD和高速AD实现更高的采样率。

硬件平台:

  1. 主控器:STM32F103ZET6 64K RAM 512K ROM
  2. 屏幕器:SSD1963
  3. 分辨率:480*272 16位色
  4. 触摸屏:TSC2046
  5. 模拟电路: OP-TL084

OP-U741

SW-CD4051

CMP-LM311

PWR-LM7805

-LM7905

-MC34063

-AMS1117-3.3

DRT-ULN2003

6.继电器:信号继电器

7.电源:DC +12V 


注:芯片的数据手册等信息可以在集成电路查询网站搜索 http://www.datasheet5.com/

芯片询价和在线购买链接 http://www.bom2buy.com/


软件平台:

  • 开发环境:RealView MDK-ARM uVision4.10
  • C编译器:ARMCC
  • ASM编译器:ARMASM
  • 连机器:ARMLINK
  • 实时内核:UC/OS-II 2.9实时操作系统
  • GUI内核:uC/GUI 3.9图形用户接口
  • 底层驱动:各个外设驱动程序


数字示波器功能:

  1. 波形发生器:使用STM32一路DA实现正弦,三角波,方波,白噪声输出。 任意一种波形幅值在0-3.3V任意可调、频率在一定范围任意可调、方波占空比可调。调节选项可以通过触摸屏完成设置。
  2. SD卡存储: SD卡波形存储输出,能够对当前屏幕截屏,以JPG格式存储在SD卡上。能够存储1S内的波形数据,可以随时调用查看。
  3. 数据传输:用C#编写上位机,通过串口完成对下位机的控制。(1)实现STOP/RUN功能(2)输出波形电压、时间参数(3)控制截屏(4)控制波形发生器(5)控制完成FFT(6)波形的存储和显示
  4. 图形接口: UCGUI
  5. 水平扫速: 250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms
  6. 垂直电压灵敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div,2V/div, 5V/div
  7. 被测信号的各种参数屏幕显示,包括频率、电压峰峰值等。


数字示波器性能参数:

  • 主控: STM32F103ZET6
  • 液晶屏: 4.3寸TFT480×272 65K彩色LCD显示屏 FSMC
  • AD: 12位1MHz采样率
  • 最高实时取样率: 1MSa/s 12Bits
  • 取样缓冲器深度: 5K
  • 垂直灵敏度: 5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;
  • 水平时基范围:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS
  • 输入阻抗: ≥1MΩ
  • 最高输入电压: 30Vpp
  • 耦合方式: AC/DC
  • 触发功能: 实现自动、常规、单次触发方式 ,上升或下降边沿触发
  • 参数计算: 频率、周期、占空比、交流峰-峰值、平均值、光标追踪显示
  • RUN/STOP 


数字示波器实物视频演示:

实物展示:


上位机截图:


设计心得分享:

      由于程序量比较大,所以在程序中我完成了大量的注释,详细的说明了具体的实现方法,其中的示波器原理和FFT原理请自己查阅相关教材。我个人认为最值得参考的就是如何制定一个效率较高的通信协议。我查阅了很多资料最后结合实际设计了一套通信协议,这套通信协议效传输速率理论最大可达16000bps,实际采用10666bps速率传输。协议的编码、解码算法的详细说明附在附件中。随着程序量的增加,F103也渐渐感到比较吃力了,其中FFT的运算就是典型代表,也希望借此机会申请到F429带DSP指令的MCU来进一步提高示波器的性能。

限于目前的知识水平,这套示波器是实践大于理论的产物,其中很多设计存在先天的不足,以后会继续改进,向更高性能迈进。


附件内容包括:

  • 整个电路设计源代码;
  • 示波器上层板、AD板原理图和PCB源文件以及NI仿真电路;
  • 基于STM32示波器上位机EXE文件以及上位机源码;
  • 示波器设计相关文档(通信协议、增益计算表等);

电路项目的主要芯片及数据手册

电路相关文件

电路图文件
硬件设计.zip
描述:示波器AD板和上层板原理图和PCB源文件以及NI仿真电路
其他文件
上位机exe文件以及上位机源码.zip
描述:上位机EXE文件以及上位机源码
教程
设计文档.zip
描述:设计文档
源代码
源代码.zip
描述:基于STM32的数字示波器所有源代码
收藏 (331)
扫码关注电路设计技能 扫码关注电路设计技能

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归BoX版权所有所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • 在线更新程序IAP_APP程序相互跳转

    本实例称重电子秤AD转换器使用HX711设计完成,附件提供的程序源码共分成两个工程文件,使用自己定义的通信协议,一个工程是IAP,另一个是APP程序。1. 程序的入口是IAP程序,在IAP程序中接收485发过来的数据,解析数据帧,并把有效数据段写进指定地址的Flash.程序依据发送有效数据长度来擦除和写入flash。当bin文件发送完成,会自动跳转到APP程序处。2.APP程序是具体执行重量的测量和传输任务的,兼有接收固件更新请求自动跳转IAP程序,接收bin文件。APP程序的起始地址要修改如图所示的。有什么问题可以@1293793140qq.com我的邮箱,及时回复。附件资料截图:
    来自:工业控制时间:2018-08-14 单片机 电子秤 程序
  • DW1000超宽带测距源码和原理图

    DW1000 超宽带带测距系统简介及最小系统搭建,射频部分使用的是官方DWM1000模块。DW1000是decawave公司于2012年推出的一款超宽带定位芯片,这个芯片的性能非常强大,但是如果直接使用DW1000芯片还需要设计射频部分和其他外围电路,这部分工作比较麻烦。好在Decawave公司还推出了基于DW1000的模块DWM1000,该模块已经把射频和芯片外围电路都设计好了,直接使用单片机和模块通讯即可完成测距功能。模块5V供电,SPI通讯,用AD画个单片机最小系统板,要把模块的SPI、RSTN、IRQ、WAKEUP等引脚连到单片机上。官网里有简单例程源码(https://www.decawave.com/support),不过是coocox编译器的,也不常用。本次提供的是MDK工程源码。支持多标签多基站测距。程序编辑OK截图:
    来自:无线手持设备时间:2018-08-10 测距 dw1000
  • STM32便携式数字示波器源代码和上位机等

    用正点原子mini32板子做的数字示波器,其实现的功能如下(1) 水平扫描速度可调;(2) 垂直电压灵敏度可调;(3) 可调节波形上下移动;(4) 被测信号的电压峰峰值、最大值、最小值、平均值在屏幕上显示; (5) 能测量输入频率为1HZ~50KHZ的信号;(6) 测量幅度范围为0V~3.3V;(7) 能够对屏幕上的波形进行截图,以BMP格式存储在 SD卡;(8) 用C#编写上位机,通过接收串口的数据实时显示波形以及对接收的数据进行保存
    来自:无线手持设备时间:2018-08-11 stm32 数字示波器
  • 基于STM32的四轴飞行器

    四轴飞行器作为低空低成本的遥感平台,在各个领域应用广泛。与其他类型的飞行器相比,四轴飞行器硬件结构简单紧凑,但是软件算法复杂,从数据融合到姿态解算,以及最后稳定和快速的控制算法,都无疑使得四轴飞行器更加有魅力。为了实现对四轴的控制,本作品使用了ST公司推出的STM32作为处理器, MPU6050作为姿态传感器,软塑料机架,空心杯电机,两对正反桨,锂电池,以及四轴遥控器。最后,经过相关调试工作,设计出能够遥控稳定飞行、具有一定的快速性和鲁棒性的小型四轴飞行器。
    来自:DIY创意产品时间:2018-08-13 stm32
  • STM32数控恒流电源模块(PDF原理图/程序源代码/元件清单)

    STM32数控恒流电源功能描述: 输入电压:10~20V,输出电压:12-60V输出电流:在良好的散热条件下,最大电流不超过3A功率:在良好的散热条件下,最大功率不超过100w效率: 支持的最大效率超过93%输出纹波:<100mV.调节方式: 支持按键或上位机调节输出电流,恒流算法: PID算法.保护: 输出过压保护/空载保护/短路保护/,输入电源防反接. 数码管显示:Axxx即输入电压(单位V)Bxxx即输出电压(单位V)Cxxx即输出电流(单位mA)接口: 电源输入/输出端,主控程序下载接口,TTL串口接口.STM32数控恒流电源实物截图: 实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15108222295.5.68701a2chdMnyi&id=561494868302本资料提供Pdf格式电路原理图和程序源代码,程序用keil5软件打开.技术咨询qq:2067054198;资料内容截图:
    来自:DIY创意产品时间:2018-08-09 stm32 数控电源 boost升压电路
  • IMUCube STM32 控制LED电骰子电路图及源码

    IMUCube 是一个 IMU, LED 和 BLE 的开发套件,由 nRF51822(微控制器)、MPU6500(三軸加速度计、三轴陀螺仪)、WS2812B(One-Wire RGB888 LED) 组成,內部内部装有锂电池与开关,可以独立供电,并预留了一个 ADC 来检测电池电压,另外引出 UART 与 SWD,方便针对 IMU 与 BLE 做开发、除错,整体体积为 22 * 22 * 22 mm,上面共有 54 颗 LED,每个 LED 都是独立可控的。实物截图:说明:IMUCube v2.0 由 KitSprout 製作 控制器  : nRF51822感測器  : MPU6500外接介面 : 1 x UART、1 x ADC、1 x KEY、1 x BUZZER、1 x VIB. MOTORPCB 尺寸 : 22 x 22 x 22 mm附件资料截图:
    来自:其他时间:2018-07-24 stm32 ws2812b imucube 电骰子
  • 传感器Demo板+源码+USB更新固件+UCOSIII

    这是一个基于STM32 的传感器的Demo工程一、板子上集成的传感器有:GP2Y1050——PM2.5传感器,升级版,可通过串口采集电压。——Uart接口。HT01——五合一空气传感器,温度,湿度,CO2浓度,TVOC浓度,HCHO(甲醛)浓度。Uart接口。DHT11——低成本温湿度传感器,单总线。TSL2561——可见光传感器,能过滤红外光,使结果接近人眼视觉。I2C总线。二、其他硬件资源:PCF8563——时钟芯片,高精度,低功耗。I2C总线。板上带有可充电纽扣锂电池,可在有外部电源的情况下充电。GT20L16——字库芯片,SPI接口。OLED——0.96寸OLED,SPI接口。三、外接资源:可外接两路NTC电阻。可外接两路5V继电器。四、主控:STM32F103RET6,512KFlash, 64K RAM。晶振使用2520封装16MHz晶振。(体积小,节省空间,成本低)自己建工程的时候别忘记改分频。(附件中的工程已改好)自己不会改可以把Library/CMSIS目录下的:三个文件替换到你工程中即可。五、通信&调试接口:1、调试接口:6P的PH2.0,预留SWD接口和调试串口Uart1。(配套的包含SWD+Uart接口的调试器,之后可能会放出,敬请期待)2、USB接口:工程包含能通过USB更新固件的BootLoader。需要先烧录BootLoader。烧录完成之后,按住Boot键,上电后松手,LED闪烁。此时可发现在电脑上会出现一个200+K的模拟U盘。直接把加密的固件拖到U盘内即可。BootLoader硬件信息:按键:PC7LED:PC6加密程序在附件中。BootLoader和上位机加密程序稍后会放出。使用BootLoader的时候,固件需要更改Offset:0x08010000具体方法,请在工程中查看。(查看main.c的主函数,和工程设置中的target标签页)3、无线通信模块注意:此模块为内部模块,不提供任何资料。如要使用无线通信,请自行替换成相应模块。模块使用Uart接口。六、RTOS工程使用uCOSIII实时操作系统。(初学者,还请各位大牛多指教) PCB图:实物图:上位机调试信息:八、备注TSL2561排针的线序和模块版本不一样,需要自行调整。切记,不要把元器件烧了。TSL2561排针的线序和模块版本不一样,需要自行调整。切记,不要把元器件烧了。TSL2561排针的线序和模块版本不一样,需要自行调整。切记,不要把元器件烧了。重要的事情说三遍。单片机上放散热片纯粹是为了装逼(▼へ▼メ)哈哈哈哈哈。欢迎交流。
    来自:智能家居时间:2018-07-23 stm32 传感器 pcf8563 ucos系统
  • STM32F1控制ADS1115与MCP4735互读串口屏数据监测

    STM32F1控制ADX1115四路AD采样MCP4735的DA量,串口屏监测
    来自:测试与测量时间:2018-07-18 stm32 ads1115 mcp4725 数据监测
  • STM32 LD3320和ESP8266 语音识别远程控制系统

    基于STM32、LD3320和ESP8266的语音与远程控制系统,可用于毕设/课设/单片机学习等。特点: 基于LD3320的语音识别;基于LD3320的mp3播放(实测128kbps无压力,更高的没测了,像320kbps,应该也没问题);基于STM32和SPI FLash芯片的虚拟U盘修改语音识别词条;基于ESP8266和机智云的远程控制基于ESP8266的RTOS SDK UDP编程(这个待完善)增加了FPC接口,引出了剩余的MCU引脚,为二次开发自行设计底板,提供充足的硬件资源增加了串口,买家也可用串口模块引出查看等增加了四路输出控制接口(目前只使用了一路,买家可修改源码和配置文件自行扩展)说明: 误识别无法避免,本人做了两个方面努力尽量减少其发生的概率: 1,添加了垃圾词汇,见虚拟U盘一图,xiao xing 对应多个垃圾词语,买家不要删除 2,唤醒词尽量避免了使用常见的短语使用方法: 只通电,上电准备就绪后,喇叭播放 “系统正在运行中”语音;先说唤醒词 “小星”,识别正确,则回复“小星在”;随后可以说出setup.ini配置文件中对应的词条,识别成功,则闪烁一次,回答“好的”,串口输出指定格式的数据帧“AT+??+END\r\n”,四路控制接口中指定接口执行相应命令;有一个mp3歌曲播放范例,说“播放歌曲”,则开始播放mp3歌曲,播放完才能回到正常的语音识别;每说完一次词条,需要重新说一次唤醒词,减少误识别现象;若识别失败,LED也闪烁一次,提示需要注意发音/环境嘈杂等;注意: 联系方式:qq:2752301152 需要实物的话,淘宝链接:https://item.taobao.com/item.htm?spm=a230r.1.14.11.40aa2565wxlXZQ&id=561935530647&ns=1&abbucket=5#detail 提供有限技术支持,固件更新的情况,淘宝页面会有更新通知,买家也可淘宝直接联系 若需要修改词条,通过USB接口接入电脑,打开setup.ini配置文件,修改词条即可,前面5条不要轻易动,最好从第6条开始修改相应的识别句子。此外,CH1~CH4四路控制接口的高低电平可以自行更改,这样,识别成功则取反相应的输出电平。(wifi目前是保留功能,配置文件不必动这部分);部分功能的演示,没有完整拍下来,将就下,百度网盘地址:https://pan.baidu.com/s/1IHc_zLTanDiKm-lUOjaaEg附件资料截图:
    来自:智能家居时间:2018-07-22 stm32 esp8266 语音识别 ld3320
  • stm32+esp8266实现无线联网升级程序

    在PC上创建TCP服务器,通过STM32驱动esp8266连接路由器,并使ESP8266作为客户端链接到该TCP服务器上,实现联网;服务器发送指令更新程序,单片机接收到信号,准备接收更新代码,服务器将要更新的App程序的bin文件发送给STM32,进行代码更新。前提是先得将IAP-Bootloader下载到单片机,再下载初始app程序(wifi_upd)。部分代码见截图展示
    来自:EDA库与代码时间:2018-07-18 esp8266 无线联网
销量
4481
查看
72K
参数名 参数值
发布于 2014 年 04 月 25日
更新于 2017 年 05 月 03日
Moore8直播课堂