打印
[STM32F4]

【安富莱电子出品】基于uCOS-II V2.92+ucGUI V3.90的超级示波器

[复制链接]
5488|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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



沙发
mmuuss586| | 2014-5-4 16:29 | 只看该作者
建议整理下,发在一起

使用特权

评论回复
板凳
Eric2013|  楼主 | 2014-5-4 16:35 | 只看该作者
本帖最后由 Eric2013 于 2014-5-4 16:41 编辑

这个地方的内容被编辑删除

使用特权

评论回复
地板
Eric2013|  楼主 | 2014-5-4 16:42 | 只看该作者
mmuuss586 发表于 2014-5-4 16:29
建议整理下,发在一起

谢谢提醒,已经重新整理到一起。

使用特权

评论回复
5
outstanding| | 2014-5-4 17:07 | 只看该作者
不错 顶起

使用特权

评论回复
6
Eric2013|  楼主 | 2014-5-8 16:33 | 只看该作者
顶起

使用特权

评论回复
7
Eric2013|  楼主 | 2014-5-9 09:29 | 只看该作者
顶顶更健康

使用特权

评论回复
8
guyan1987| | 2014-5-9 10:54 | 只看该作者
顶起

使用特权

评论回复
9
Eric2013|  楼主 | 2014-5-9 12:11 | 只看该作者
guyan1987 发表于 2014-5-9 10:54
顶起

谢谢支持:lol

使用特权

评论回复
10
夜夜| | 2014-5-10 00:43 | 只看该作者
能不能做个类安卓的UI出来,示波器什么的,估计实际用得少。

不过安富莱这种分享精神很好。

下次照片其实可以再拍好一点,都扭曲的、模糊的。

使用特权

评论回复
11
Eric2013|  楼主 | 2014-5-10 09:09 | 只看该作者
夜夜 发表于 2014-5-10 00:43
能不能做个类安卓的UI出来,示波器什么的,估计实际用得少。

不过安富莱这种分享精神很好。

这还模糊,你要多高清的,亲。

使用特权

评论回复
12
夜夜| | 2014-5-11 13:44 | 只看该作者
Eric2013 发表于 2014-5-10 09:09
这还模糊,你要多高清的,亲。

我是从产品宣传的角度看的。图片要给人比较干净、清晰的感觉。
从百度上随便找了几个栗子:

使用特权

评论回复
13
Eric2013|  楼主 | 2014-5-11 14:04 | 只看该作者
夜夜 发表于 2014-5-11 13:44
我是从产品宣传的角度看的。图片要给人比较干净、清晰的感觉。
从百度上随便找了几个栗子:

我再一次强调这个不是产品宣传,只是开源代码,这个是我2012年年初的原贴:
https://bbs.21ic.com/icview-308985-1-1.html
想看我们高清的图片看这个帖子:https://bbs.21ic.com/icview-728708-1-1.html

最后想说的是:您会说话就说,不会说话请不要说,这个是我的QQ公共群号:μCOS&emWin&μCGUI 群号是216681322   1000人的群,还留了一个坑,欢迎您加入。

使用特权

评论回复
14
Eric2013|  楼主 | 2014-5-11 14:05 | 只看该作者
夜夜 发表于 2014-5-11 13:44
我是从产品宣传的角度看的。图片要给人比较干净、清晰的感觉。
从百度上随便找了几个栗子:

发现你真是闲着没事找喷

使用特权

评论回复
15
xuanhuanzi| | 2020-8-12 19:42 | 只看该作者
学习学习。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:RTX->μCOS-II->FreeRTOS->embOS->μCOS-III μCGUI->emWin->FatFs->DSP 淘宝:armfly.taobao.com

115

主题

639

帖子

34

粉丝