查看: 616|回复: 5

[原创DIY] [STM32]双bufferDMA切换调试

[复制链接]

1

主题

0

好友

28

积分

白丁

Rank: 1

该用户从未签到

发表于 2014-5-26 21:59:47 |显示全部楼层
本帖最后由 YoHo. 于 2014-5-26 22:01 编辑

双BUFFER DMA缓冲是经常用的数据缓冲方式
楼主在WAV播放器和ADC虚拟示波器中都使用过
但是WAV的效果一直有一点小瑕疵 猜测是在双buffer切换的时候开关DMA导致WAV播放出来有杂音
buffer设定比较小的 像只能播放10ms的时候 100hz的杂音听起来比较明显 当buffer比较大的时候 能连续播放0.1ms 10hz的杂音基本听不到 但是占用的内存十分大 单声道16位采样率 44100hz的WAV 双buffer要16K的内存 这十分的浪费

今天在调试的ADC虚拟示波器的时候 因为要加入新的功能差分采样 和原来单通道采样用的同一个buffer 但是数据由16位上升到32位 DMA数据长度变成了原来的1/2 楼主又不想多一个全局变量 就想试试其他的方法
然后看数据手册的时候发现了这个
QQ图片20140526214959.jpg

数据长度有明确的表明在DMA使能的时候不能进行配置
而下面的地址都没有提及
所以就产生了一种想法 DMA配置为循环模式 在DMA完成中断中不进行DMA开关 直接修改数据目的地址到下一个buffer
经过试验之后发现这个想法可行 但是有一点要注意 要保证在完成中断开始后立刻修改
让下个DMA循环的第一次触发正确的传到另一个buffer(当然你也可以尝试一下 我没有尝试过 但是想一下结果应该是会把数据又重写到第一个buffer的开头)

其他的双bufferDMA已经都改为这种模式 WAV播放器的缓存也缩小了 但是还没经过实验
实验结果和源码明天放上来
回复

使用道具 举报

4

主题

2

好友

3137

积分

状元

Rank: 6Rank: 6

  • TA的每日心情
    开心
    2016-11-25 00:04
  • 签到天数: 498 天

    [LV.9]以坛为家II

    发表于 2014-5-26 22:40:53 |显示全部楼层
    顶一下,顺便学习   
    回复

    使用道具 举报

    93

    主题

    18

    好友

    9623

    积分

    版主

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    奋斗
    2015-6-30 10:20
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    论坛版主职务勋章 爱板会员勋章 活跃会员勋章 发帖机器勋章

    发表于 2014-5-26 23:07:39 |显示全部楼层
    顶,很给力的研究!
    一点小的建议:DAM在半满的时候也可以中断,这样不存在切换缓冲区,且中断时如果发信号量给任务去处理是不是会好。
    期待代码!
    国际著名屌丝,嵌入式系统书籍作者,亮点嵌入式创始人
    博客:亮点新浪博客
    淘:brightpoint.taobao.com
    回复

    使用道具 举报

    1083

    主题

    2

    好友

    1万

    积分

    翰林

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    开心
    2014-9-23 05:09
  • 签到天数: 113 天

    [LV.6]常住居民II

    发表于 2014-5-27 05:56:05 |显示全部楼层
    谢谢楼主分享!
    回复

    使用道具 举报

    59

    主题

    18

    好友

    2977

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    2016-9-9 09:13
  • 签到天数: 293 天

    [LV.8]以坛为家I

    爱板会员勋章 活跃会员勋章

    发表于 2014-5-27 08:25:48 |显示全部楼层
    顶一个~~~~~~~~~~~
    第五年了,这次一定要坚持到底,不留遗憾!!!
    回复

    使用道具 举报

    3

    主题

    1

    好友

    1833

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    开心
    2014-11-5 20:26
  • 签到天数: 262 天

    [LV.8]以坛为家I

    发表于 2014-5-27 13:00:44 |显示全部楼层
    说的有理  赞一个
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-3 21:50 , Processed in 0.161792 second(s), 16 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部