- 积分
- 518
- 在线时间
- 729 小时
- 最后登录
- 2019-8-28
- 阅读权限
- 50
- 精华
- 0
- UID
- 712589
- 帖子
- 505
- 精华
- 0
- 经验
- 518 点
- 金钱
- 495 ¥
- 注册时间
- 2014-6-12
|
楼主 |
发表于 2015-5-20 14:48
|
显示全部楼层
整体结构之后,该说说主控了。
主控采用 STM32F407,连接以下部件:
1、晶振,由一个 11.0592MHz 晶振提供时钟。单晶振可支持不同采样率完美匹配的说明之前已经提到过了。
2、数据来源:TF卡,直接采用 STM32F407 的 SDIO 接口连接。关于 TF 卡如何与 F407 连接,只需要注意几个上拉电阻就可以了。STM32F407 的 SDIO 可以采用 4 bit 模式与 TF 卡通信,我自己实测的速度 > 5Mbytes/s。这个速度足够任何格式、任何采样率和采用宽度的 2 声道文件播放了。
3、CS4398,这个 DAC 接线也比较简单,I2S 和 DSD 共用 4398 的几个管脚,F407 采用软控方式,实时切换不同采样率、不同音乐格式的 4398 寄存器参数。另外,4398 需要的 MCLK 信号由 F407 的 I2S 功能使能 MCLK 实现。
4、交互,由 STM32F030 和 F407 通过 SPI 协同实现。歌曲信息、播放进度等由 F407 采用主模式实时传送过 F030,同时 F030 通过从模式把按键、遥控器控制信号实时回传给 F407,实现切歌、静音、暂停、音量控制等功能。由于 SPI 是双工的,因此 F407 和 F030 之间的信息是同时双向传送的。
5、字库维护,由 F407 接收 F030 的指令,从 TF 卡的文件中读出字库,写到 W25Q32 FLASH 中。这个功能是为了防止字库被意外地擦除而设置的。
6、固件升级,F407 的固件采用 TF 卡自动升级的方式,每次加电时,F407 的 bootloader 发现有需要升级的固件文件,就自动进行主控 MPU 的固件升级。 |
|