电子说
介绍
此次项目主要是基于瑞萨HMI board 开发板实现音乐播放器功能,主要可以实现sd卡wav 文件扫描,音乐播放,音量调节、上一曲、下一曲音乐播放。
RTT环境搭建
基于官方的RTT video例程搭建,主要实现lcd屏幕的驱动、sd卡文件扫描读取、使用timer驱动mos 管实现扬声器驱动、使用NXP的gui guider 进行gui设计及导出。
硬件框架
扬声器使用开发板上 的两个PWM口输出进行驱动
LCD屏幕使用的是正点原子的屏幕
SD 卡使用四线SDIO模式
软件实现思路
1.通过nxp gui guider 实现基础ui的设计
2.rtt 上完成驱动的audio 播放框架,sd 枚举 文件扫描功能
3.在界面按钮、图标等实现回调,实现相关控制接口的调用
4.根据文件名称实现数据读取,并实时通过ringbuffer写到audio的输入buf中,声音实时发出, 同时更新界面显示
待完善功能
mp3 文件解析
mp3 头解析成图片显示到界面
支持 mp3 flac wav 等多种格式播放
支持播放的音乐列表点击更新、播放
添加iis 设备驱动,支持pcm5102 等 codec播放
添加歌词显示
简易频谱功能
网络解析,实现在线网络音乐播放
初步效果界面
心得
1.开发板预留的扬声器口不太常见,实际使用了之前笔记本剩下的扬声器,通过焊接固定到开发板上来
2.声音播放时,发现音量越大,屏幕有相对明显的波纹,建议后续设置时对于mos 供电地和lcd 电源进行隔离,防止进行干扰
3.此开发板外设还是蛮多的,很适合进行多种功能扩展升级,对于RTT 及lvgl 学习提供了基础硬件支持,感觉社区 及RA 能有此次活动,从中学习到了很多东西
4.PWM 驱动方式很新颖,节省了codec 相关开支,通过软件直接设置PWM 波即可实现音乐的播放,类似classD 放大器的工作机理。
全部0条评论
快来发表一下你的评论吧 !