MP3 Trigger v2:低成本嵌入式音频单元的使用指南

电子说

1.4w人已加入

描述

MP3 Trigger v2:低成本嵌入式音频单元的使用指南

在电子设计领域,音频播放功能是许多项目中不可或缺的一部分。今天要给大家介绍的MP3 Trigger v2,就是一款功能强大、成本低廉的嵌入式音频单元,它能为我们的项目带来便捷的音频播放解决方案。

文件下载:WIG-13720.pdf

一、产品概述

MP3 Trigger v2是一款多功能、低成本、低功耗的嵌入式音频单元。它可以直接从FAT32或FAT16格式的microSD闪存卡中播放MP3曲目,并通过1/8”立体声耳机输出插孔输出音频,支持最高192kbps的立体声播放。

该电路板有18个外部输入引脚,当这些引脚接地时,会触发预先选择的MP3曲目。同时,它还具备一个全双工串行控制端口,可实现实时音量控制以及对多达255首曲目的远程触发。此外,板载的导航开关可用于本地访问和播放闪存卡上的所有MP3曲目。

从2.40版本及以上的固件开始,支持在microSD卡上使用初始化文件,通过该文件可以更改串行波特率,还能将18个触发输入重新配置为其他功能,如随机和顺序触发、导航控制甚至音量控制。另外,还有一个重启锁定选项,可防止在音频正在播放时任何触发启动新曲目。利用这些特性,很多时候无需额外的微控制器就能实现定制应用。

而且,MP3 Trigger v2有一个常驻的永久引导加载程序,无需硬件编程设备,就能直接从microSD卡进行固件升级。

二、产品规格

1. 输入电压范围

支持4.5V至12.0V直流输入,也可通过跳线选择3.3V稳压输入。

2. 电流消耗

空闲时约为45mA,播放时约为85mA。

3. 媒体支持

支持SDSC和SDHC microSD卡。

4. 文件系统

支持FAT32和FAT16文件系统。

5. 音频输出

通过1/8”立体声耳机插孔输出立体声音频。

6. 触发输入

逻辑电平为3.3V - 5.0V,低电平有效输入,内部有上拉电阻。连接器提供独立的接地引脚,允许将开关或跳线直接连接到每个触发输入。

7. 串行接口

全双工,8位,默认波特率为38.4Kbaud,也可通过初始化文件支持其他波特率。

三、基本操作

1. 文件放置

使用PC将所需的MP3文件拖放到FAT32或FAT16格式的microSD闪存卡的根目录中。

2. 注意事项

MP3 Trigger v2不支持热插拔microSD卡。虽然热插拔不会损坏设备,但microSD卡仅在通电时进行初始化。所以,每当更换或更新卡时,安装卡后务必对MP3 Trigger v2进行电源循环操作。

3. 状态指示灯

通电后,板载的绿色状态指示灯会根据安装的媒体状态进行如下指示:

  • 长闪一次:未找到格式化的microSD卡。
  • 长闪一次,接着短闪一次:找到microSD卡,但未找到MP3文件。
  • 持续短闪:MP3解码器存在硬件问题。
  • 短闪三次:找到microSD卡,且至少有一个MP3文件。

当MP3 Trigger通电后短闪三次,就可以使用板载导航开关播放卡上的所有曲目,而无需考虑文件名。导航开关的功能如下:

  • 左:播放目录中的上一首MP3文件。
  • 右:播放目录中的下一首MP3文件。
  • 中:开始/停止当前MP3文件。

四、触发输入的使用

1. 关联方式

MP3 Trigger v2提供18个输入引脚(TRIG01 – TRIG18),可用于触发microSD卡上的特定MP3曲目。通过在文件名开头放置一个3位数字(不足三位前面补0)来将MP3曲目与触发引脚关联,例如,TRIG01对应“001xxxx.MP3”,TRIG02对应“002xxxx.MP3” 。文件名的其余部分可以是任意内容。

2. 触发方式

触发输入为低电平有效,内部上拉。因此,它们可以由另一个微控制器(如Arduino)的数字输出激活,也可以通过简单的接地触点闭合(开关)激活。输入支持5V或3.3V的电压电平。

3. 引脚布局

触发输入位于双排连接器的偶数引脚,所有相对的奇数引脚为接地引脚,这使得可以轻松地将单个开关或触点闭合直接连接到MP3 Trigger v2板。

4. 自动序列和循环

安装36针双排接头后,可以在触发输入上安装分流跳线,从而在通电时自动对曲目进行序列和循环播放。当触发的曲目播放结束时,MP3 Trigger v2会检查是否有其他触发输入处于激活状态,如果有,则会自动启动另一首曲目。如果只有相同的触发输入处于激活状态,则该曲目会重新开始(循环)。如果其他触发输入处于激活状态,MP3 Trigger v2将始终启动编号更高的触发曲目,在18之后会回到1。从2.40版本的固件开始,在单个顺序触发上安装分流跳线也能实现相同的功能。

5. 功能重编程

使用本文后面描述的初始化文件,可以将触发引脚重新编程为启动顺序或随机曲目。例如,如果将一个触发引脚重新编程为随机触发,并且该触发引脚被短路闭合,那么MP3 Trigger v2通电后将以(伪)随机顺序连续播放曲目。

五、安静模式

MP3 Trigger v2可以通过串行控制端口进入安静模式。在这种模式下,触发输入不会启动曲目,而是在激活时发送串行消息。这使得触发输入与特定曲目解耦,从而使PC或微控制器可以监控触发输入,然后通过串行控制端口启动任何曲目或曲目序列。安静模式默认关闭,并且在电源循环后不会保留。

六、串行控制协议

1. 接口特性

MP3 Trigger v2配备了一个全双工3.3 - 5V串行TTL接口,可用于控制microSD卡上的所有MP3曲目(最多256首)以及音量,并监控输入触发活动。可以使用FTDI Basic(DEV - 09115),也可以连接到任何使用以下格式的串行接口:8位、1个起始位、1个停止位、无校验位、无流控制。串行端口的波特率默认为38.4kbps,但可以使用初始化文件进行更改。

2. 命令格式

所有发送到MP3 Trigger v2的命令长度为1或2字节。

  • 1字节命令为大写ASCII字符。
  • 2字节命令以ASCII字符开头。以大写字符开头的命令使用ASCII值(‘0’ – ‘9’)作为第二个字节,这些命令可以在键盘上输入;以小写字符开头的命令需要一个二进制值(0 – 255)作为第二个字节。

    3. 命令总结

    命令 字节数 命令字节 数据字节 注释
    导航 – 开始/停止 1 ‘O’ 此命令与按下板载导航开关的中心位置功能相同。如果当前曲目正在播放,则停止;如果当前曲目已停止,则从开头重新启动
    导航 – 前进 1 ‘F’ 此命令与按下板载导航开关的右位置功能相同。将启动目录中的下一首MP3曲目
    导航 – 后退 1 ‘R’ 此命令与按下板载导航开关的左位置功能相同。将启动目录中的上一首MP3曲目
    触发(ASCII) 2 ‘T’ N = ASCII ‘1’ through ‘9’ 如果存在,将启动文件名以“00Nxxxx.MP3”开头的曲目,其中N是数据字节,xxxx可以是任意长度的有效文件名
    触发(二进制) 2 ‘t’ n = 1 如果存在,将启动文件名以“NNNxxxx.MP3”开头的曲目,其中NNN是数据字节n的ASCII等效值,前面补0,xxxx可以是任意长度的有效文件名
    播放(二进制) 2 ‘p’ n = 0 如果存在,将播放目录中的第n首曲目。可以使用状态请求命令获取目录中可用曲目的总数
    设置音量(二进制) 2 ‘v’ n = 0 将VS1053音量设置为值n。根据VS1053数据手册,最大音量为0x00,高于0x40的值太低而听不到
    状态请求(ASCII) 2 ‘S’ N = ASCII ‘0’ through ‘1’ N = ‘0’时,返回当前播放状态;N = ‘1’时,返回安装的microSD卡上的曲目总数,以ASCII格式返回。两个响应都将以‘=’字符开头
    安静模式(ASCII) 2 ‘Q’ N = ASCII ‘0’ or ‘1’ N = ‘1’时,开启安静模式;N = ‘0’时,关闭安静模式

七、初始化文件

1. 文件说明

初始化文件是可选的。如果不存在,将使用默认参数:38.4Kbaud,所有触发将启动其对应的曲目,且重启锁定功能禁用。如果存在,必须将其命名为MP3TRIGR.INI并放在根目录中。解析器仅检查文件的前512字节以查找命令,并且将第一个‘’字符视为文件结束。命令部分不允许有注释,但第一个‘’之后的注释长度没有限制。

2. 支持的命令

  • BAUD N:N可以是2400、9600、19200、31250或38400。

  • VOLM N:N的范围是0到255,默认全音量为0,有效范围是0到64,高于64的值听不到。

  • RAND N:N的范围是1到255,随机触发功能默认从闪存卡上的所有MP3文件中播放随机曲目,#RAND函数将排除目录中的前N首曲目。

  • TRIG N, F, L:N是触发编号(1 - 18),F是触发功能类型,L是重启锁定启用。F的取值及含义如下:

    • F = 0:正常操作
    • F = 1:下一首(与前进导航开关相同)
    • F = 2:随机
    • F = 3:上一首(与后退导航开关相同)
    • F = 4:开始(重新启动当前曲目)
    • F = 5:停止
    • F = 6:音量增大
    • F = 7:音量减小

L的取值及含义如下:

  • L = 0:重启锁定禁用(默认)
  • L = 1:重启锁定启用

八、引导加载程序

1. 功能特点

MP3 Trigger v2有一个常驻的引导加载程序,允许直接从microSD卡更新固件,无需硬件编程器。由于该引导加载程序位于PSoC闪存内存的受保护扇区,因此不会覆盖自身。在通电时始终可以运行引导加载程序,从而可以从错误的固件加载中恢复。

2. 重要注意事项

使用硬件编程器(如Cypress MiniProg)对MP3 Trigger v2进行除引导加载程序映像之外的编程将擦除引导加载程序,切勿这样做!

3. 使用方法

要更新MP3 Trigger v2固件,将新的固件十六进制文件复制到FAT16或FAT32格式的micro - SD卡,并将文件重命名为“MP3TRIGR.HEX”。无论它是否是microSD卡上的唯一文件,只要文件名正确,引导加载程序就能找到它。在断电状态下将microSD卡插入MP3 Trigger v2,按住中心导航开关的同时打开电源。等待状态指示灯常亮,然后对MP3 Trigger v2进行电源循环以运行新固件。

引导加载程序的详细工作原理如下:

  • 每次电路板通电时都会进入引导加载程序。它首先检查中心导航开关是否被按住。如果没有按住,它会立即跳转到固件的起始位置。如果之前加载了错误的固件,电路板可能会停止工作或按照错误代码的指示运行,可能除了电源指示灯外没有其他活动,这在没有加载有效固件时是正常的。
  • 如果在通电时按住中心导航开关,引导加载程序会在microSD卡目录中搜索名为“MP3TRIGR.HEX”的文件。如果未安装卡或卡上不存在该文件,状态指示灯将永远快速闪烁。如果找到并能够打开该文件,它将开始用固件文件的内容对PSoC闪存进行编程。每编程一个十六进制记录,状态指示灯将亮起。如果成功编程整个文件,完成后状态指示灯将常亮。此时可以对MP3 Trigger v2进行电源循环以运行新固件(再次按住导航开关将重新进入引导加载程序)。
  • 如果出现闪存内存编程错误(例如在完成之前拔出microSD卡),状态指示灯将以约1Hz的频率短暂闪烁,表明编程周期失败。需要再次按住导航开关进行电源循环以重新进入引导加载程序。

MP3 Trigger v2为电子工程师提供了一个便捷、灵活的音频播放解决方案。通过合理利用其各种功能和特性,我们可以轻松实现各种音频播放项目。大家在使用过程中遇到过哪些有趣的问题或有什么独特的应用呢?欢迎在评论区分享交流。

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

全部0条评论

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

×
20
完善资料,
赚取积分