在网上看到有人分享了一个基于
STM32的数字示波器设计觉得十分优秀,在这里分享给大家!
硬件平台:
1. 主控器:STM32F103ZET6 64K RAM 512K ROM
2. 屏幕器:SSD1963
3. 分辨率:480*272 16位色
4. 触摸屏:TSC2046
OP-U741
SW-CD4051
CMP-LM311
PWR-LM7805
-LM7905
-MC34063
-AMS1117-3.3
DRT-ULN2003
6.继电器:信号继电器
软件平台:
· 开发环境: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