电子说
在电子设计领域,音频播放功能是许多项目中不可或缺的一部分。今天要给大家介绍的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卡进行固件升级。
支持4.5V至12.0V直流输入,也可通过跳线选择3.3V稳压输入。
空闲时约为45mA,播放时约为85mA。
支持SDSC和SDHC microSD卡。
支持FAT32和FAT16文件系统。
通过1/8”立体声耳机插孔输出立体声音频。
逻辑电平为3.3V - 5.0V,低电平有效输入,内部有上拉电阻。连接器提供独立的接地引脚,允许将开关或跳线直接连接到每个触发输入。
全双工,8位,默认波特率为38.4Kbaud,也可通过初始化文件支持其他波特率。
使用PC将所需的MP3文件拖放到FAT32或FAT16格式的microSD闪存卡的根目录中。
MP3 Trigger v2不支持热插拔microSD卡。虽然热插拔不会损坏设备,但microSD卡仅在通电时进行初始化。所以,每当更换或更新卡时,安装卡后务必对MP3 Trigger v2进行电源循环操作。
通电后,板载的绿色状态指示灯会根据安装的媒体状态进行如下指示:
当MP3 Trigger通电后短闪三次,就可以使用板载导航开关播放卡上的所有曲目,而无需考虑文件名。导航开关的功能如下:
MP3 Trigger v2提供18个输入引脚(TRIG01 – TRIG18),可用于触发microSD卡上的特定MP3曲目。通过在文件名开头放置一个3位数字(不足三位前面补0)来将MP3曲目与触发引脚关联,例如,TRIG01对应“001xxxx.MP3”,TRIG02对应“002xxxx.MP3” 。文件名的其余部分可以是任意内容。
触发输入为低电平有效,内部上拉。因此,它们可以由另一个微控制器(如Arduino)的数字输出激活,也可以通过简单的接地触点闭合(开关)激活。输入支持5V或3.3V的电压电平。
触发输入位于双排连接器的偶数引脚,所有相对的奇数引脚为接地引脚,这使得可以轻松地将单个开关或触点闭合直接连接到MP3 Trigger v2板。
安装36针双排接头后,可以在触发输入上安装分流跳线,从而在通电时自动对曲目进行序列和循环播放。当触发的曲目播放结束时,MP3 Trigger v2会检查是否有其他触发输入处于激活状态,如果有,则会自动启动另一首曲目。如果只有相同的触发输入处于激活状态,则该曲目会重新开始(循环)。如果其他触发输入处于激活状态,MP3 Trigger v2将始终启动编号更高的触发曲目,在18之后会回到1。从2.40版本的固件开始,在单个顺序触发上安装分流跳线也能实现相同的功能。
使用本文后面描述的初始化文件,可以将触发引脚重新编程为启动顺序或随机曲目。例如,如果将一个触发引脚重新编程为随机触发,并且该触发引脚被短路闭合,那么MP3 Trigger v2通电后将以(伪)随机顺序连续播放曲目。
MP3 Trigger v2可以通过串行控制端口进入安静模式。在这种模式下,触发输入不会启动曲目,而是在激活时发送串行消息。这使得触发输入与特定曲目解耦,从而使PC或微控制器可以监控触发输入,然后通过串行控制端口启动任何曲目或曲目序列。安静模式默认关闭,并且在电源循环后不会保留。
MP3 Trigger v2配备了一个全双工3.3 - 5V串行TTL接口,可用于控制microSD卡上的所有MP3曲目(最多256首)以及音量,并监控输入触发活动。可以使用FTDI Basic(DEV - 09115),也可以连接到任何使用以下格式的串行接口:8位、1个起始位、1个停止位、无校验位、无流控制。串行端口的波特率默认为38.4kbps,但可以使用初始化文件进行更改。
所有发送到MP3 Trigger v2的命令长度为1或2字节。
| 命令 | 字节数 | 命令字节 | 数据字节 | 注释 |
|---|---|---|---|---|
| 导航 – 开始/停止 | 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’时,关闭安静模式 |
初始化文件是可选的。如果不存在,将使用默认参数:38.4Kbaud,所有触发将启动其对应的曲目,且重启锁定功能禁用。如果存在,必须将其命名为MP3TRIGR.INI并放在根目录中。解析器仅检查文件的前512字节以查找命令,并且将第一个‘’字符视为文件结束。命令部分不允许有注释,但第一个‘’之后的注释长度没有限制。
L的取值及含义如下:
MP3 Trigger v2有一个常驻的引导加载程序,允许直接从microSD卡更新固件,无需硬件编程器。由于该引导加载程序位于PSoC闪存内存的受保护扇区,因此不会覆盖自身。在通电时始终可以运行引导加载程序,从而可以从错误的固件加载中恢复。
使用硬件编程器(如Cypress MiniProg)对MP3 Trigger v2进行除引导加载程序映像之外的编程将擦除引导加载程序,切勿这样做!
要更新MP3 Trigger v2固件,将新的固件十六进制文件复制到FAT16或FAT32格式的micro - SD卡,并将文件重命名为“MP3TRIGR.HEX”。无论它是否是microSD卡上的唯一文件,只要文件名正确,引导加载程序就能找到它。在断电状态下将microSD卡插入MP3 Trigger v2,按住中心导航开关的同时打开电源。等待状态指示灯常亮,然后对MP3 Trigger v2进行电源循环以运行新固件。
引导加载程序的详细工作原理如下:
MP3 Trigger v2为电子工程师提供了一个便捷、灵活的音频播放解决方案。通过合理利用其各种功能和特性,我们可以轻松实现各种音频播放项目。大家在使用过程中遇到过哪些有趣的问题或有什么独特的应用呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !