- 积分
- 1212
- 在线时间
- 2790 小时
- 最后登录
- 2024-6-9
- 阅读权限
- 70
- 精华
- 0
- UID
- 121097
- 帖子
- 1181
- 精华
- 0
- 经验
- 1212 点
- 金钱
- 1159 ¥
- 注册时间
- 2009-7-29
|
本帖最后由 iffi123 于 2024-4-8 16:26 编辑
自学习STM32以来,经过一段时间研究实践,积累了些编程经验,有些手痒,想做一个能提升编程又有趣味性的东西,播放器无疑是个好的目标
不过这次主要不是为了hifi,而是做一台能正常声音表现的播放器,也不想花太多银子,尽量利用手头已有的元件,简化设计,播放器的主要工作还是软件上的处理
先看看看成品外观
整机由1块小电路板,加一个2.4寸IPS彩屏(带电容触摸)组成,分辨率320*240
电路还是比较简单的, 时钟由si5351提供,输出2路,一路给MCU,一路给音频接口芯片,根据采样率切换,MCU选用STM32F402, 84M主频,256K flash, 64K ram, 输出用NAU88C22,自带adc,dac,耳放,功放
显示屏原先使用TN屏+电阻触摸,因为效果差,可视角度小被抛弃,重新购入IPS, 565模式,64K色,SPI接口,触摸屏也换成电容触摸
IPS色彩和可视角度确实好很多
UI界面目前也比较简单,能显示就可以,前景色背景色也没讲究,一个是播放界面,一个是文件选择界面
文件显示支持中文长文件名(显示宽度有限,目前限制20字符),支持多层目录结构,不限层数,文件名显示目前还有截断的bug还没改,虽然当初设计了按键,目前未使用(重定向到触摸按键),实际都用触摸操作
根目录的文件夹,在目录名前添加文件夹图标以示和文件区别
根目录的文件
子目录下文件,子目录默认还有"."(本目录)因为没用被隐藏不显示,保留父目录".."以返回上一级目录
音乐格式方面,能完美支持WAV的16bit/44.1kHz,24bit/96KHz, 24bit/192KHz, 流畅不卡顿,音质还可以,底噪很小,几乎不可闻,频谱显示也对应支持,支持实心显示和包络显示(第一张图),也支持平滑效果,以减少谱线毛刺
实心效果
手机录制的演示视频
https://www.bilibili.com/video/BV1Lt421L7kT
软件方面,完全自己编写(除了FFT使用官方库), 包括所有底层的驱动,为了读取文件,我也自己写了FAT32支持,没使用fatfs第三方库,一个是第三方占资源,比如内存就不是很富余,另外播放文件本身对FAT32要求并不高,读取文件目录这些,自己写可以简化程序,可以说量身定做,需要什么功能就加什么功能
|
评分
-
查看全部评分
|