硬件篇:
(从收到板子的第一天开始记述,整篇写了好几天,无开箱介绍,直接上干货,所以内容看起来略少)
今天刚收到板子,回顾一下当时的申请理由:
申请理由:自从今年的电子设计大赛结束后,我开始自学ARM和MSP430,但是身边只有430的学习板,ARM的学习只能通过看视频和书籍来学习,希望能够申请到一块开发板,做一个DIY,来深刻理解ARM的强大。
开发目标:制作一个HIFI音乐播放器
开发计划:1.挑选音频DAC芯片,围绕其设计解码电路
2.设计功放电路,以集成电路为主
3.以ARM stm32 L053为主控,整合解码算法和控制主程序
4.上机调试
预计功能:能够解码播放FLAC、MP3、WAV等多种常见音乐格式,并能高度还原声音
其实这些不重要,重要的是我能有这样一个机会学习意法半导体的STM32开发板,在期末复习和雅思备考的空闲之余,尽自己的能力做出来,至于完成度能有多少,不敢想,希望大神们能针对我存在的问题给予指导。
我在网上查了一天的资料,去了解音频的原理,了解不同的通信协议,并挑选相对实现难度不大的I2S作为我的播放器的总线协议。最终确定的方案为MCU读取SD卡,传送给解码芯片DAC,然后输出到喇叭或耳机端。主电路拓扑图如下:
选择SD卡是因为我想试一试使用STM32的SDIO,STM32上带SDIO驱动,因此,在STM32上能够很好的利用SDIO驱动与SD卡进行通信。其具体步骤将在软件篇里介绍,下面给出SD卡的引脚图:
在I2S传输时采用74LS04高速反向器对波形整形,去除波形的毛刺,一片74LS04能提供6个非门,刚好够用。
在HIFIDIY、阿莫等论坛逛了大半天,又咨询了众多的diyer,终于选定了TDA1543作为我的16位DAC芯片。TDA1543具有中频悦耳,方便设计的特点,其只有8个引脚,能直接接收I2S信号,下面给出它的引脚定义图: