OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6400|回复: 8

如何实现USB和DAC互不干扰

[复制链接]

60

主题

153

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2013-12-23
在线时间
32 小时
发表于 2014-1-20 14:18:28 | 显示全部楼层 |阅读模式
我的工程中有这样两个模块利用DAC+DMA播放SD卡中的音频文件,USB线插在PC机上可以实现对开发板上SD卡的读写,现在这两个模块都实现了且单独工作完全没有问题,但是在播放DAC的同时如果我要在PC上打开SD卡的话播放出来的声音就会变成哒哒哒的杂音,我自己分析是认为放音模块和USB模块都要去SD卡中读写数据同时读写的话就会出现干扰,对SD卡的读写都是采用SPI2来实现(SPI1留做他用),请教如何才能达到在电脑和DAC上都可以任意操作而不相互影响呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2014-1-20 14:24:33 | 显示全部楼层
这个我也烦恼。。。 你在播放音频时PC上打开SD 数据会丢失吗?我的就会丢失 C上看不到文件
回复 支持 反对

使用道具 举报

60

主题

153

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2013-12-23
在线时间
32 小时
 楼主| 发表于 2014-1-20 14:49:25 | 显示全部楼层
我的不会丢失,所有的文件都能看到,而且音频文件也可以在PC上正常播放,就是DAC的输出会出问题,你有没有想到什么解决方法呢?
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2014-1-20 15:01:15 | 显示全部楼层
回复【3楼】csf4824521:
---------------------------------
可能就是你自己分析的那样 或许SPI的速度也不够快不足以支持你同时操作吧 而且USB读写采用的是中断的方式你在PC上读写 你的音频数据应该是停止的   你是USB是用ST提供的例程改的吗?我的怎么会导致数据丢失错乱呢?
回复 支持 反对

使用道具 举报

60

主题

153

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2013-12-23
在线时间
32 小时
 楼主| 发表于 2014-1-20 15:42:11 | 显示全部楼层
不是的我是根据原子的USB实验改的,里面的注释比较多,比较容易让人理解,我的USB和DAC都是采用中断方式,USB的中断优先级最高USB_LP_CAN1_RX0_IRQn是1,0。USBWakeUp_IRQn是0,0。而DMA的优先级是3,3。不知道这样设置对不对,能把他们设置成同一个优先级吗?
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2014-1-20 16:24:23 | 显示全部楼层
回复【5楼】csf4824521:
---------------------------------
你可以尝试一下
回复 支持 反对

使用道具 举报

60

主题

153

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2013-12-23
在线时间
32 小时
 楼主| 发表于 2014-1-20 17:04:47 | 显示全部楼层
我想到了一个用互斥临界区的方法从而不让他们同时读取SD卡,写代码的时候发现FATFS好像已经有这样的宏定义
#define ENTER_FF(fs) { if (!lock_fs(fs)) return FR_TIMEOUT; }
#define LEAVE_FF(fs, res) { unlock_fs(fs, res); return res; }
在网上查了一下,好像真的可以实现同步,但却不知道具体应该如何使用,不知道wgh1990兄有没有这方面的经验,为我指点一下迷津,谢谢了!
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2014-1-20 20:12:09 | 显示全部楼层
回复【7楼】csf4824521:
---------------------------------
没搞过 目前我还做不到
回复 支持 反对

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2011-7-17
在线时间
4 小时
发表于 2014-2-23 12:22:23 | 显示全部楼层
谢谢分享,继续完善。顶起!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 05:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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