STM32 的SPI总线问题,求助大侠!!

我有块板子,上面有SPI的flash芯片,还有SPI的vs1003MP3解码芯片,这两个设备的SPI总线均接到了STM32的同一个SPI口上(片选不同),由于板子固定,所... 我有块板子,上面有SPI的flash芯片,还有SPI的vs1003 MP3解码芯片,这两个设备的SPI总线均接到了STM32的同一个SPI口上(片选不同),由于板子固定,所以电路没法改,现在我想在flash中存入一首mp3,然后通过spi将flsh里的mp3文件读出,再通过spi送到vs1003去解码,这样用的是同一个spi口,大侠分析下这样可行么,会不会冲突,速率上,延迟上,会不会有问题呢。。。新手。。求教! 展开
 我来答
git0
推荐于2016-03-14 · TA获得超过734个赞
知道小有建树答主
回答量:72
采纳率:100%
帮助的人:54万
展开全部
VS1003和Flash的SPI接口速度可以达到Mbits/s。时间计算如下
1. 对Flash的操作,512字节在8Mbit/s的速率下,耗时仅仅0.5微秒左右。
2. VS1003内部有512字节的缓冲区,按照128kbps的播放速率,半个缓冲区至少可以播放30微秒。

操作步骤如下:
1. 为了能够及时响应VS1003的数据要求,需要先将数据缓冲到STM32的RAM中,即先从Flash读取一部分MP3数据到RAM中。然后写满VS1003的512字节缓冲,开始播放。
2. VS1003在有缓冲空闲时会产生中断请求,此时缓冲区中至少还能支撑30微秒。
如果此时SPI空闲,操作SPI,直接从RAM将数据写入VS1003
否则,等待SPI操作结束(最多1微秒),然后从RAM中将数据写入VS1003
3. 检查RAM中的MP3数据是否需要从Flash补充,如果需要,从Flash中读取MP3数据到RAM中。
4. 重复2,3直到播放结束。
以上只是比较粗略的过程,需要你自己进一步设计和规划。
百度网友c730f2621
2010-12-02 · TA获得超过220个赞
知道答主
回答量:96
采纳率:0%
帮助的人:84.4万
展开全部
不会冲突的。因为他们的CS端不同,你用哪个就使能哪个设备。不过需要注意的问题是,SPI有很多种工作模式的,你要看一下你用的这两个设备分别用哪种模式的,然后把STM32的SPI配置成相应的模式。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式