Funpack11之LPC55S69实现读取SD卡播放音乐
通过TF卡获取音乐播放的程序,主要使用到FATFS和I2S,实现读取根目录下音乐文件,并通过I2S进行播放
标签
嵌入式系统
测试
USB
te_lingbaoba
更新2021-11-04
1066

一、项目目标

使用LPC55S69 开发板,实现任务一:

读取SD卡(SD卡自备)中的音频文件,使用板卡上的3.5mm音频接口播放音乐。

 

二、使用开发板卡介绍

LPCXpresso开发板- LPC55S69双cortex - m33核处理器

-板载,高速USB, Link2调试探针

-灵活扩展- Arduino®,Mikroe和PMod头文件,各种板载接口组件

32位Arm皮层®m33;TrustZone M33协处理器,

PowerQuad, CASPER, 320kb SRAM;640kb闪存,USB HS,

Flexcomm接口,SDIO, 32位计数器/定时器,

SCTimer/PWM, PLU, 16位1.0 Msamples/sec ADC,

比较器,温度传感器,AES, PUF, SHA, CRC, RN

具有超强的加密功能,具备高速USB以及全速USB接口,内置MPU,DSP等多个专用单元,可快速解决项目中各种需求.

FkBo7TgQ0ga5rjdFYAX64Q9XMY8D

三、实现效果介绍

编写一个通过读取TF内存卡上音乐文件,并实现播放,音乐文件读取采用FATFS文件系统,音乐接口采用I2S,并通过开发板上集成的音频功放芯片转3.5mm接口并通过外置设备播放.

 

四、项目实现过程介绍以及实际代码

项目基于MCUXpresso中的例程修改得到,首先使用MCUXpresso Config Tools创建一个例程。

FsrtW5aLRgD0hZ57B8vGbVCXGu8F

 

咱们打开之后首要就是需要配置好时钟,主时钟来自32M外置晶振,通过PLL到300M后,二分频为150M,提供到System_Clock。

Fv4JTRBlQhl-9860m8S-JbuC2qjg

读取TF卡指定文件代码如下

		if (sdcardWaitCardInsert() != kStatus_Success)
				{
						return -1;
				}

				if (f_mount(&g_fileSystem, driverNumberBuffer, 0U))
				{
						PRINTF("Mount volume failed.\r\n");
						return -1;
				}

		#if (FF_FS_RPATH >= 2U)
				error = f_chdrive((char const *)&driverNumberBuffer[0U]);
				if (error)
				{
						PRINTF("Change drive failed.\r\n");
						return -1;
				}
		#endif


		error = f_open(&g_fileObject, _T("/song.wav"), (FA_READ | FA_OPEN_EXISTING));
    if (error)
    {
        if (error == FR_EXIST)
        {
            PRINTF("File exists.\r\n");
        }
        else
        {
            PRINTF("Open file failed.\r\n");
            return -1;
        }
    }

I2S接口初始化函数

static uint32_t I2S_GetInstance(I2S_Type *base)
{
    uint32_t i;
    for (i = 0; i < (uint32_t)ARRAY_SIZE(s_i2sBaseAddrs); i++)
    {
        if ((uint32_t)base == s_i2sBaseAddrs[i])
        {
            return i;
        }
    }
    assert(false);
    return 0;
}

 

五、实物效果展示图

 

FjxfX3-WQKIsQ3tn7d8FTWa--kcn

串口助手显示,板卡状态已就绪,我们可以打开扬声器进行播放,播放器采用一个外置音响.

Fq8DlNrqOiW_UIgLW9iicdjdx_k7

 

 

六、心得体会

LPC55S69确实强大,能很好的实现多媒体应用,以前开发总是用的keil,开发起来比较麻烦,现在使用了NXP配置工具,虽然有很多不熟悉,但是还是能很快上手,根据例程能很快学以致用,感谢硬禾学堂这次机会,让我学习到了很多.期待后续能有更好的活动.

 

附件下载
music_song_20211103.zip
团队介绍
我是一个电子业余爱好者,就是比较喜欢玩一些有趣的东西.爱折腾,
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号