急,STMF337能否实现的SDADC1+DMA1+USB实时采样传输功能

2019-12-10 18:21发布

各位大牛:

        小弟,刚接手用stm337的SDADC实现三路实时采样USB传输的项目,先已经基本实现一路,但问题时,采出的波形部分丢失。

        我的思路如下: 用SDADC1的通道注入模式,循环采集,DMA搬数,循环模式,DMA的深度为512,当DMA全部传输产生中断,然后我
                        就去搬移,然后USB发送。

        我测试如下: 我用信号源给500HZ正玄信号输入,USB接收来的数用上位机绘出。

        遇到好几个问题如下:

        1.DMA每次产生全部传输完中断后,我就从buf1搬到buf2,但是bug下单步发现,搬到同时,buf1的数据含在变化,即就是SDADC1还在采集,       

        那么这样,我就会覆盖数据,buf2中也不是实时数据,我改怎么弄?

        2.我试图加大DMA的深度,buf1大小到4k short型,但仍然还是覆盖?为什么


        2.我试图用定时器控制注入速率,即采样率,降低采样率。但还是丢,为什么?

        3.还是一种想法,当进入DMA中断后,切换下次搬移目的地址,搬移另一个buf,但是怎么实现?这种思路是否正确?

        4.各位大牛,有什么高招?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。