爱板网论坛

查看: 525|回复: 1

[资料] 爱玩板卡+基于stm32F030F4P6单芯片超低成本数字音频播放器

[复制链接]

主题

好友

1104

积分

进士

  • TA的每日心情
    无聊
    2018-1-4 11:10
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2017-6-28 21:41:07 |显示全部楼层
    本帖最后由 sumengqi 于 2017-6-29 13:16 编辑

    方案分享:早些日子实现了用stm32软件编码spdif协议的数字音频数据,然后通过SPI总线实验SPDIF信号的发送。近来突发奇想,可以使用目前性价比最高,价格最低的一款M0内核CPU实现珠子音频播放器,也就是数字转盘。
    功能:读取TF、SD卡中的WAV音频文件,在单片机的指定引脚输出标准SPDIF信号。
    具体实现原理如下:
    首先使用几个普通IO口模拟SPI总线,来实现对SD卡/TF卡物理扇区的读取,然后移植FATFS文件系统实现FAT32文件的读取。到此为止就可以正常读取WAV文件了。接下来要做的就是将WAV文件读取至缓冲区中,然后将缓冲区中的原始wav数据通过软件编码为spdif数据,编码后的数据是原始数据数据量的两倍,所以需要另外开辟一块内存空间。为了不使播放断流,使用DMA功能来将编码后的数据传送至spi总线,SCK时钟必须是音频时钟以保证播放速度,可以使用音频晶振作为系统的主时钟。但是为了降低系统PLL对输出spdif信号音质的影响,建议使用SPI的从模式,这样可以从SCK接口输入一个高质量的音频时钟来保证spdif信号时钟的稳定度。因为stm32f030f4p6只有16KB的flash和4KB的ram,所以使得编码一帧spdif数据变得困难,这里采用了边读取边编码边DMA发送的策略,每次处理很小的数据量,使得在仅仅4KB的ram下实现读取WAV文件并输出SPDIF信号的任务。
    回复

    使用道具 举报

    主题

    好友

    37

    积分

    白丁

  • TA的每日心情
    开心
    2017-10-12 23:32
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-7-31 22:05:19 |显示全部楼层
    等下文!!!!!!!!!!!!!!
    回复

    使用道具 举报

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

    关闭

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

    手机版|爱板网

    GMT+8, 2018-7-21 02:35 , Processed in 0.069329 second(s), 13 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部