中科蓝讯 AB5301A 外挂 FLASH MUSIC 功能示例
中科蓝讯 AB5301A 外挂 FLASH MUSIC 功能示例今天给大家分享一下中科蓝讯 AB5301A 外挂 Flash 的调试过程,使 AB5301A 读取 Flash 播放音乐。本文从平台准备开始介绍,再介绍 AB5301ASPI1 的配置,最后验证功能。希望对大家进行调试外挂 Flash MUSIC 功能模式时有所帮助。
一、平台准备 ① 使用的 SDK 版本为:SDK_AB530X_V06X_S7148_20220224; ② 使用的 Flash 芯片型号为:W25Q128JV。还需把音频 bin 文件烧录进 Flash 芯片,转化音频为 bin 文件用到的软件是 ABTools;烧录 bin文件用到的软件是 Minpro100B;操作流程在此不做赘述。 ③ 使用的硬件样机是 AB5301A 开发板,原理图连接如下: 注意,上图中的 R4 开发板默认是不焊接的,此处要手动焊接好;开发板上 MISO、MOSI、CLK、CS 脚是没有连接到 GPIO 的,可以通过杜邦线,从 J26、J27 引到使用的 GPIO;本示例使用的是 SPI1,引脚分配为,CS:PA4PA5:MISOPA6:CLKPA7:MOSI。
二、SPI1 初始化 1、寄存器介绍 ① FUNCMCON1 端口功能映射寄存器;根据本示例所使用的引脚,应把各引脚映射到 G2,如此蓝牙芯片就可以知道是把 PA5、PA6、PA7 配置为 SPI1,因此在选择 SPI 引脚时应注意各引脚需为同一组,如此处使用的三个引脚皆是 G2 组。实现映射配置的是 FUNCMCON1 的 12:15 位。 ② SPI1CON SPI1 控制寄存器;该寄存器包含了 SPI1 使能,主从模式选择,时钟极性,时钟相位,中断使能等的配置,更具体配置可参考 ab53xx_usermanual。 ③ SPI1BAUD SPI1 波特率设置寄存器;Baud Rate = Fsys clock / (SPI_BAUD+1)。 ④ SPI1CPND SPI1 清除挂起寄存器;对该寄存器第 16 位写 1,清除 SPI1 挂起标记。 ⑤ SPI1BUF SPI1 接收/发送数据寄存器。
2、SPI1 初始化函数 spi1_init() 函数最后由 exspiflash_init() 函数调用,放到 bsp_sys_init() 系统初始化函数中如下位置进行初始化:
三、SDK 准备 在上一步中,我们已经把 AB5301A 的SPI1 配置好,SDK 默认已经把 SPI 通信需要用到的读 ID 函数,发送 1 字节函数,接收 1 字节函数写好,详细可以参见 bsp_spiflash1.c 文件,所以接下来做的就是把 SDK MUSIC 功能模式相关的宏做修改。 1、打开 MUSIC 功能
2、修改默认打印口
如果打印口默认是 PA7,应修改为 PB3,因为本示例中的 SPI1 引脚用到了 PA7。
3、外接 SPIFLASH 配置
EX_SPIFLASH_SUPPORT 选择 Flash 支持音乐输出功能;SPIFLASH_ID 配置 Flash 的 ID,ID 可以通过 Flash 的数据手册获得。 设置 SPIFALSH_MUSIC_PLAY_REC 为 0,关闭 FUNC_EXSPIFLASH_MUSIC 模式下播放录音示例:
四、功能验证
接通电源,再通过 X-Link 连接AB5301A 的 PB3 引脚,开发板切换到 MUSIC 功能模式,则打开 Downloader 上位机后会有如上打印,现 flash id 正确读取,且读取到 Flash total num 总曲目为 3。默认情况下音乐会自动播放,接上耳机或者功放喇叭即可听到音乐。 中科蓝讯 AB5301A 的 MUSIC 功能模式介绍到这里,希望可以在大家进行 外挂 Flash 调试时帮助到大家。如有错误欢迎大家批评指正。如果大家还有什么其他的问题或者功能想要询问,亦可以在评论区中提出,可以共同探讨,一起进步。
参考文档:1、ab53xx_usermanual2、ab53xx 开发板原理图3、ab5301a_datasheet.pdf4、W25Q128JVSIQ 数据手册
页:
[1]