基于RTT-LVGL的音乐播放器设计案例

电子说

1.2w人已加入

描述

介绍
此次项目主要是基于瑞萨HMI board 开发板实现音乐播放器功能,主要可以实现sd卡wav 文件扫描,音乐播放,音量调节、上一曲、下一曲音乐播放。

RTT环境搭建
基于官方的RTT video例程搭建,主要实现lcd屏幕的驱动、sd卡文件扫描读取、使用timer驱动mos 管实现扬声器驱动、使用NXP的gui guider 进行gui设计及导出。

硬件框架

PWM驱动

扬声器使用开发板上 的两个PWM口输出进行驱动

PWM驱动

LCD屏幕使用的是正点原子的屏幕

PWM驱动

SD 卡使用四线SDIO模式

PWM驱动

软件实现思路
1.通过nxp gui guider 实现基础ui的设计
2.rtt 上完成驱动的audio 播放框架,sd 枚举 文件扫描功能
3.在界面按钮、图标等实现回调,实现相关控制接口的调用
4.根据文件名称实现数据读取,并实时通过ringbuffer写到audio的输入buf中,声音实时发出, 同时更新界面显示

待完善功能
mp3 文件解析
mp3 头解析成图片显示到界面
支持 mp3 flac wav 等多种格式播放
支持播放的音乐列表点击更新、播放
添加iis 设备驱动,支持pcm5102 等 codec播放
添加歌词显示
简易频谱功能
网络解析,实现在线网络音乐播放
初步效果界面

PWM驱动

心得
1.开发板预留的扬声器口不太常见,实际使用了之前笔记本剩下的扬声器,通过焊接固定到开发板上来
2.声音播放时,发现音量越大,屏幕有相对明显的波纹,建议后续设置时对于mos 供电地和lcd 电源进行隔离,防止进行干扰
3.此开发板外设还是蛮多的,很适合进行多种功能扩展升级,对于RTT 及lvgl 学习提供了基础硬件支持,感觉社区 及RA 能有此次活动,从中学习到了很多东西
4.PWM 驱动方式很新颖,节省了codec 相关开支,通过软件直接设置PWM 波即可实现音乐的播放,类似classD 放大器的工作机理。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分