本帖最后由 Eric2013 于 2014-5-4 16:42 编辑
说明:近期会在21ic上面发布大量我们安富莱电子原创的文档和例子。示波器的Demo共三个版本,分别是7寸,4.3寸和3寸的,
开源其中两个,程序是2012年年初写的,所以暂时不提供技术支持了,大家见谅。基于安富莱STM32-V5开发板的示波器正
在设计中,初步会在今年暑假发布,下面是一个设计截图(界面仿Tek DPO2024):
STM32-V5开发板的详细介绍看:地址链接 |
曾经用安富莱STM32-V2或者V3配套RA8875的7寸屏设计的示波器视频演示
硬件平台 :armfly-v2或者v3开发板,使用3.0的屏
功能介绍:
1. 最高支持3.125MHz的采样率,采样的是快速交叉模式,理论上支持的最高才采样率是2MHz,但是由于采用的是72M的时钟,
所以就只能超频了,不过效果还可以。
2. 支持浮点FFT(最高512点的FFT,到1024点的话会卡机的),定点FFT(最高4096点),和官方的库函数。并且支持两种
频谱的显示,一种是类似MATLAB那样的,一种是 类似千千静听那样的频谱。并且可以估计正弦波的频率。
此功能暂时没有做到GUI界面上面进行设置,通过如下的宏定义进行设置,系统默认选择官方的FFT库,1024点,选择浮点和定点请
设置相应的宏,并设置点数。
=====================下面三个宏选择一个就行===========================================
#define STM32_DSP_Lib //使用DSP的库
/#define STM32_DSP_Float //使用浮点的FFT
//#define STM32_DSP_Fix //定点的FFT
#define NPT1024 //用于定义使用1024点,256点还是64点,官方写的汇编库只支持这三种
//NPT1024 , NPT256 , NPT64
#define MAX_FFT_N 1024 //用于设置点数,这个一定要有,不管你是使用浮点,定点或者DSP库
===============================================================================
3. 支持频率按1--2--5的步数递增和递减,支持波形的上移下移,支持5v,2v,1v,500mv,200mv,100mv的波形的显示,这三个功能
通过摇杆进行实现。左侧有实时检测到的电压等数据的显示。
WAKEUP键实现波形暂停
摇杆OK实现幅值和波形上下移动的切换
摇杆RIGHT和LIGHT实现采样频率的调节
摇杆UP和DOWN实现波形上下移动和幅值的调节,通过OK实现两个功能的切换
4. 可以设置DAC输出正弦波, 方波,通过函数SetupWaveType(WT_SIN);进行设置,程序默认输出正弦波26-27k
5. 实时的显示时钟和CPU的利用率。
6. 通过串口打印任务执行情况
TAMPER按键按下打印如下信息
ST STM32 (Cortex-M3)
Prio Used Free Per Taskname
31 16 112 12% uC/OS-II Idle
30 28 100 21% uC/OS-II Stat
3 209 303 40% Start Task
12 58 70 45% Keyboard
4 32 96 25% User I/F
16 118 138 46% COMSEM
USER键实现如下信息打印
ST STM32 (Cortex-M3)
uC/OS-II : V2.92
TickRate : 1000
CPU Usage : 11%
CPU Speed : 72 MHz
#Ticks : 1603288
#CtxSw : 406952
系统默认每隔一段时间打印如下信息
- #Ticks: 3272546 CPU Usage : 12% /* 这里注意前面 有个不断旋转的横线,要是超级终端或者SecureCRT才能显示出效果 */
7. 可以用触摸屏的按键实现部分功能的调节
(1)左侧的DROPDOWN下拉列表实现波形的上下移动
(2)右侧下角的四个按键只实现了最后一个FFT频谱显示方式的切换
(3)ADC,DAC,FFT只之制作了界面,没有实现相应功能
第一幅图片是最高采样率2.5M时的效果
第二幅图片是500K时的采样频率。
第三图片是类似MATLAB那样的显示频谱。
第四幅和第三幅图差不多
第五幅图片是ADC的设置界面
第六幅图片是FFT的设置界面 可以设置定点 浮点和官方的库函数
第七幅图片是DAC的设置界面
发几张清晰点的:
程序下载:
http://pan.baidu.com/share/link?shareid=2056921847&uk=286563520
********************************************************************************************************************************************
基于armfly-v3开发板的4.3寸屏示波器设计(裸机,程序很规范)
硬件平台 :armfly-v2或者v3开发板,使用4.3的屏(RA8875)
功能介绍:
1. 最高支持3.125MHz的采样率,采样的是快速交叉模式,理论上支持的最高才采样率是2MHz,但是由于采用的是72M的时钟,
所以就只能超频了,不过效果还可以。
2. 波形发生器的功能,通过TAMPER按键进行如下几个波形的切换
正弦波
锯齿波
噪声
方波
3. 主界面的图片可以存储到外部SPI FLASH里面,通过下面的函数实现,将图片下载进FLASH以后就
将这几个程序注释掉,就不用再下载了。
/*将八张图片写入到SPI FLASH里面*/
sf_WriteBuffer((uint8_t*)Imags1,270336,8192);
sf_WriteBuffer((uint8_t*)Imags2,270336+8192,8192);
sf_WriteBuffer((uint8_t*)Imags3,270336+8192*2,8192);
sf_WriteBuffer((uint8_t*)Imags4,270336+8192*3,8192);
sf_WriteBuffer((uint8_t*)Imags5,270336+8192*4,8192);
sf_WriteBuffer((uint8_t*)Imags6,270336+8192*5,8192);
sf_WriteBuffer((uint8_t*)Imags7,270336+8192*6,8192);
sf_WriteBuffer((uint8_t*)Imags8,270336+8192*7,8192);
并通过摇杆的上下左右实现界面图片的位置调节,按下摇杆的OK键实现进入相应界面,按下WAKEUP键实现退出子界面,
从新进入主界面。
4. 程序写的比较规范,大家看起来应该很方便。
5. 基本所有的波形显示都采用了RA8875的2D硬件绘图来实现,汉字的显示是采用的是板子上带的字库芯片GT23L32S4W
开机界面,一共八个功能
1024点FFT
1024点FFT
256点FFT
64点FFT
FFT逆变换,也就是IFFT
频谱显示
程序下载:
http://pan.baidu.com/share/link?shareid=2103052175&uk=286563520
|