搜索
查看: 4062|回复: 3

[STM32L4+] [Nucleo-L4R5ZI评测]ADC+TIME+DMA+FFT的使用

[复制链接]

该用户从未签到

4

主题

104

帖子

0

蝴蝶豆

金牌会员

最后登录
2021-3-29
发表于 2018-3-15 22:21:56 | 显示全部楼层 |阅读模式
本帖最后由 mo-416898 于 2018-3-15 22:25 编辑

      前段时间参加STM32中文官网L4+的回答问题送版活动,成功地收到了一块Nucleo-L4R5ZI板。希望以后中文官网多多搞这样的活动,为我们广大的粉丝多送板。去年论坛也搞了很多活动,整个活动下来拿到两块板,一块Nucleo-F072,一块Nucleo-L011,还有两万多的积分没有兑换,哈哈哈。等攒到了三万分兑换带TFT屏的F429,现在已经被兑换完了,没有货,希望赶紧上货。
     回到我们的主角L4R5L4+系列是ST新发布的一个系列。应该是为了适应物联网和穿戴类的发展吧,主要是低功耗,同时又兼顾性能。带有优化的圆形显示器Chrom-GRC,还有TFT-LCD接口,DSI接口等等功能。图形显示方面功能很多,又有OCTOSPI接口,在处理图形显示数据方面非常方便。可惜Nucleo-L4R5本身并不显示屏。主频最大可以去到120MhzRAM640kROM2M,这个非常赞阿!!!可以随便放心大胆的用!之前有人评测过了Nucleo-L4R5的低功耗和其它一些基本的功能。这个板又没有带屏,思来想去还是评测FFT的性能怎么样吧。刚好前段时间刚刚大学时的DSP教材重新看了一遍,正好可以拿来试试手。
       这次评测使用TIME触发ADC进行定时采样, ADC采样到1024次的时候对采样结果进行1024个点的FFT。将FFT的结果通过串口发送到电脑,使用excel做成图形验证FFT的正确性。TIME的触发时钟频率为48Khz。ADC使用DMA进行数据传输。同时通过IO口的操作测量FFT所使用的时间。开始是想把FFT的结果通过串口发送到电脑,使用labview实时显示ADC采样结果的FFT的。算了一下时间,串口的速度太慢了,不能实时显示。FFT的计算处理如下面的截图
5.png
FFT input 数据的初始化                                                                                                        
1.png
FFT计算和打印
      为了验证FFT的正确性,使用sin函数生产一个200hz的正弦波数据,把这组数据作为FFT的输入。FFT数据的初始化,FFT数据为一个正弦波,频率为200HZ,采样平率为1000hz。FFT后的结果如下图
2.png
可以看到FFT后的结果和输入的信号相符合,在200hz处得到最大的幅值。这样验证了FFT的正确性。
      验证FFT的算法正确之后,用手机信号发生器播放一个5khz的正弦波,把这个正弦波输入到ADC(PA4)。ADC的采样频率使用48khz的采样率,进行FFT后打印出来。用excel处理后得到的频谱分布如下图
3.png
从频谱图可以看出,在5khz处得到了最大值,10kzh处有非常明显的谐波。谐波成分非常明显,可能是由于手机输出后受到线材或是电路的干扰导致。同时,频谱中还可以看到很大的直流分量。
      上面的这些功能都是从ST的官方库STM32Cube_FW_L4_V1.11.0移植过来的,工程直接使用了里面的模板工程。在这里不得不说ST的官方库做得非常不错,所以外设的使用例程都有。使用的时候只需要移植相关的部分到模板工程就可以了。库目录下Project文件夹里包含了L4和L4+系列的Nucleo板和Discovery板的例程工程文件。直接打开工程就可以直接在Nucleo板上跑起来验证,非常方便。ST的开发板都自带有stlink,无需额外的调试器,同时又可以当串口使用,这些功能都做得非常好阿。只要一个板加USB线就可以调试仿真了。
       测试FFT时间的消耗。STML4+最大可以到120Mhz,本次评测就是使用到了120Mhz。最后进行基4的1024点浮点复数FFT的时间消耗大概为1.840ms,进行基4的1024点定点(1.31模式)FFT的时间消耗大概为2.76ms,进行基4的1024点定点(1.15模式)FFT的时间消耗大概为1.16ms。这个速度好像要比F4系列的要慢一些,F429好像只用0.5ms就完成了。但是这个也是很快的了,毕竟L4+跑120Mhz,F429跑180Mhz。
4.png
总的来说DSP的性能还是相当不错的,推出后相信会有更多更好应用。     
附件是工程文件,IAR8.2版本的,下载下来rebuild后就可以用了。为了上传,删了很多没有用到的文件。如果恢复其它的文件,复制ST的官方库STM32Cube_FW_L4_V1.11.0下的Drivers文件夹和Middlewares文件夹到project目录下替换就可以恢复完整的官方库文件了。

project.rar

1.97 MB, 下载次数: 114, 下载积分: ST金币 -1

IAR工程

回复

使用道具 举报

该用户从未签到

0

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2019-4-26
发表于 2018-3-16 14:40:45 | 显示全部楼层
不错,牛
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-2-6 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    1182

    主题

    4967

    帖子

    1

    蝴蝶豆

    论坛元老

    最后登录
    2020-3-17
    发表于 2018-3-19 09:48:00 | 显示全部楼层
    谢谢分享,等楼主发帖很久了  
    已汇总到3月原创
    https://www.stmcu.org.cn/module/forum/thread-615031-1-1.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2020-7-9
    发表于 2020-2-18 13:50:28 | 显示全部楼层
    牛!!!写的很厉害!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-27 11:34 , Processed in 1.182989 second(s), 40 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表