《播放模块的说明.pdf》由会员分享,可在线阅读,更多相关《播放模块的说明.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MP3 播放模块的说明 1MP3 播放模块的使用说明 版本:1 http:/ 1、外观 下面是 MP3 播放模块的正面外观,尺寸约长 96mmx 宽 50mmx 高 15mm。2、接口电路图 晶体 X2 P1 端口 USB 耳机输出接口 模块的单片机 CH375 芯片 USB-HOST 和 USB-DEVICE MP3 解码芯片 P2 对外接口 RS232 电平异步串口 U3 RS232 电平转换芯片 跳线 J2+J3 配 置 跳 线 P6 对外接口 TTL 电平串口 及5V电源接口P9 外部 电源接口 D4 可选器件 7805 用于降压到 5V MP3 播放模块的说明 2 3、接口定义 模块
2、具有五个外部接口:P1 是 USB 插座,可以直接插入 U 盘或者通过 USB 延长线连接 U 盘,当进行程序升级或者重新配置时应该通过 USB 对连线连接计算机的 USB 端口。P2 是 DB9 插针,P6 是 4脚单排针,P2 和 P6 都可以用于连接单片机系统。P8、P9 是电源输入端口。模块的实际工作电压为 5V,如果外部输入的电源电压为 5V,那么可以去掉稳压芯片 D4,电源直接从 P6 的 GND、VCC 引脚引入。如果外部输入的电源电压大于 5V,那么必须使用稳压芯片 D4 降压,可以接受的外部电源的输入电压为 7.5V 到 20V 之间。外部输入的电源电流不宜小于 200mA,
3、并且应该接有电源退耦电容,容量不小于 200uF。端口 P2 是 RS232 电平异步串口,用于连接单片机系统,P2 的引脚定义:第 5 脚为信号地及电源地,第 2 脚为串行输入 RXD,第 3 脚为串行输出 TXD,其余引脚无定义。与计算机的串口相连接时,应该使用两头都为 DB9 插孔的交叉串口线。跳线 J2 和 J3 用于设定端口 P2 的第 2 脚与第 3 脚是否交换,默认情况下跳线的 1 脚与 2 脚短路;如果跳线是 2 脚与 3 脚短路,那么端口 P2 的引脚重新定义为第 2 脚为串口输出 TXD,第 3 脚为串行输入 RXD。P6 的异步串口是 TTL 电平,如果去掉 RS232
4、电平转换芯片 U3,那么可以直接连接 P6 的 RXD 和TXD。一般情况下,RS232 电平比 TTL 电平更适宜较远距离的传输,但是在 RS232 电平的情况下,串口通讯波特率不宜大于 115200bps,而在使用 TTL 电平并且连线较短的情况下,串口通讯波特率可以高于 115200bps。4、接口协议 模块使用三线制串口通讯协议。单片机系统与模块之间需要连接 RXD 和 TXD 两根信号线及公共地线,单片机系统通过串口发送两个同步码字节(57H、ABH)作为执行命令包的启动信号,实现与模块的命令同步。在通过串口输入两个同步码字节时,模块会检查串口数据输入超时,如果连续两个数据字节之间的
5、间隔大于串口输入超时时间,则模块将放弃该同步码及命令包。模块的串口是 1 位起始位、8 位数据位、1 位停止位的异步串口,默认通讯波特率是 9600bps(与晶体 X2 的频率有关),可以通过模块配置软件修改。基本操作步骤是,单片机系统将命令包,包括命令码、后续参数长度(因为各命令码所需要的参数不等长)和参数发给模块,并通知其启动操作,模块执行完成后向单片机返回状态包,包括操作状态码及可选的操作结果。因为接口操作看起来比较复杂,所以实际过程可以参考随模块一起提供的示例程序,直接用其中的 ExecCommand 子程序就可以了,不必理解下面的接口步骤说明。串口方式的操作步骤是(请参考示例程序中的
6、 ExecCommand 子程序):基本概念:串口通过双向异步串口交换数据,为了防止将命令当成数据,或者将数据当成命令,在单片机系统与模块之间应该采取同步措施,方法是单片机通过串口发送两个同步码字节(57H ABH)作为启动信号,用于通知模块“命令码开始发送”。单片机系统按以下顺序从串口向模块输出:两个同步码字节(用于通知模块“命令码开始发送”)、命令码、后续的参数的长度、以及可选的参数。有些命令不需要任何参数,那么参数的长度就应该是 0。模块接收到两个同步码字节后,从串口依次接收命令码及可选的参数,然后分析命令码并执行。如果同个同步码字节间隔超过 20mS 则该命令包被丢弃。模块执行完成,通
7、过串口输出操作状态码,通知单片机系统命令操作完成。在状态码输出完成后,如果状态码为操作成功 0 x00,那么模块还从串口依次输出后续的结果数据的长度、以及可选的结果数据。有些命令执行后没有结果数据返回,那么结果数据的长度就会是 0。单片机系统从串口收到状态码后,如果是操作成功,还可以从串口获得可选的结果数据。到此,一个命令包的执行过程结束。单片机系统根据需要可以转到步骤发出下一个操作命令。MP3 播放模块的说明 3 5、操作命令 命令简称 代码 命令用途和概述 CMD_RootMp3Inf 0 xE0 枚举所有音频文件数量 CMD_Decode 0 xE1 播放当前文件 CMD_Pause 0
8、 xE2 暂停播放 CMD_Stop 0 xE3 停止播放 CMD_VolumeH 0 xE4 增大音量 CMD_VolumeL 0 xE5 减小音量 CMD_EnumUpMp3 0 xE6 上一曲 CMD_EnumDownMp3 0 xE7 下一曲 CMD_EnumCurrent 0 xE8 获取当前文件名 CMD_AutoDec 0 xEF 自动播放 CMD_FileOpen 0 x64 打开文件 以下命令请参考 U 盘文件读写模块的说明 CMD_QueryStatus 0 x60 查询当前模块的状态 CMD_DiskQuery 0 x61 查询磁盘信息 CMD_FileEnumer 0
9、x63 枚举文件,返回文件名 CMD_FileCreate 0 x65 新建文件并打开,若文件已经存在则先删除后再新建 CMD_FileErase 0 x66 删除文件并关闭 CMD_FileClose 0 x67 关闭当前文件 CMD_FileQuery 0 x68 查询当前文件的信息 CMD_FileModify 0 x69 查询或者修改当前文件的信息 CMD_DiskReady 0 x71 查询磁盘是否准备好 CMD_DiskSize 0 x72 查询磁盘容量 CMD_ByteLocate 0 x7A 以字节为单位移动当前文件指针 CMD_ByteRead 0 x7B 以字节为单位从当前
10、文件读取数据块 CMD_ByteWrite 0 x7C 以字节为单位向当前文件写入数据块 CMD_GetVer 0 x0A 获取当前模块的版本号 CMD_ResetInit 0 x0B 复位并重新初始化 CH375 以及模块 CMD_GetStringSN 0 xA0 获取产品序列号字符串 以下是命令与模块通信的详细说明#define CMD_RootMp3Inf 0 xE0:枚举所有音频文件数量 输入参数:0 xE0 0 x00 模块返回值 1:0 x00+0 x02+后续数据(2B),后续数据高字节在前,表示音频文件的数量。模块返回值 2:0 xF0,表示模块正忙。模块返回值 3:0 x8
11、2,表示没有 U 盘。注:目前目录深度只支持一级子目录。#define CMD_Decode 0 xE1:播放当前文件 输入参数:0 xE1 0 x00 模块返回值 1:0 x00+0 x00,表示命令成功执行。模块返回值 2:0 xF0,表示模块正忙。模块返回值 3:0 xF1,表示没有音频文件。模块返回值 4:0 xF2,表示当前音频文件播放完毕。MP3 播放模块的说明 4模块返回值 5:0 x82,表示没有 U 盘。注:该命令成功后,首先返回模块返回值 1,播放完毕返回模块返回值 4。#define CMD_Pause 0 xE2:暂停播放 输入参数:0 xE2 0 x00 模块返回值:
12、0 x00+0 x00,表示命令成功执行。注:自动播放模式期间,模块不响应该命令,无返回值。#define CMD_Stop 0 xE3:停止播放 输入参数:0 xE3 0 x00 模块返回值:0 x00+0 x00,表示命令成功执行。#define CMD_VolumeH 0 xE4:增大音量 输入参数:0 xE4 0 x00 模块返回值:0 x00+0 x01+后续数据(1B),后续数据表示当前音量。#define CMD_VolumeL 0 xE5:减小音量 输入参数:0 xE5 0 x00 模块返回值:0 x00+0 x01+后续数据(1B),后续数据表示当前音量。#define CM
13、D_EnumUpMp3 0 xE6:上一曲 输入参数:0 xE6 0 x00 模块返回值 1:0 x00+后续数据长度(1B)+后续数据 后续数据格式:音频文件路径+结束符(0 x00)+音频类型(1B)。模块返回值 2:0 xF1,表示没有音频文件。模块返回值 3:0 x82,表示没有 U 盘。注:(1)音频类型:0 x01:MP3,00 x02:WMA,0 x03:WAV,0 x04:MID(2)指定播放模式期间,模块不响应该命令,无返回值。#define CMD_EnumDownMp3 0 xE7:下一曲 输入参数:0 xE7 0 x00 模块返回值 1:0 x00+后续数据长度(1B)
14、+后续数据 后续数据格式:音频文件路径+结束符(0 x00)+音频类型(1B)。模块返回值 2:0 xF1,表示没有音频文件。模块返回值 3:0 x82,表示没有 U 盘。注:(1)音频类型:0 x01:MP3,00 x02:WMA,0 x03:WAV,0 x04:MID(2)指定播放模式期间,模块不响应该命令,无返回值。#define CMD_EnumCurrent 0 xE8:获取当前文件名 输入参数:0 xE8 0 x00 模块返回值 1:0 x00+后续数据长度(1B)+后续数据 后续数据格式:音频文件路径+结束符(0 x00)+音频类型(1B)。模块返回值 2:0 xF0,表示模块正
15、忙。模块返回值 3:0 xF1,表示没有音频文件。模块返回值 4:0 x82,表示没有 U 盘。注:音频类型:0 x01:MP3,00 x02:WMA,0 x03:WAV,0 x04:MID#define CMD_AutoDec 0 xEF:自动播放 输入参数:0 xEF 0 x00 模块返回值 1:0 x00+后续数据长度(1B)+后续数据 MP3 播放模块的说明 5后续数据格式:音频文件路径+结束符(0 x00)+音频类型(1B)+选择模式(1B)模块返回值 2:0 xF0,表示模块正忙。模块返回值 3:0 xF1,表示没有音频文件。模块返回值 4:0 xF2,表示当前音频文件播放完毕。模
16、块返回值 5:0 x82,表示没有 U 盘。注:(1)音频类型:0 x01:MP3,00 x02:WMA,0 x03:WAV,0 x04:MID(2)选择模式:0 x00 表示自动下翻,0 x01 表示自动上翻,默认为自动下翻。(3)该命令执行后,自动搜索音频文件,如果找不到音频文件,则返回模块返回值 3,否则返回模块返回值 1,并播放该文件,当播放结束时返回模块返回值 4,自动切换为下一曲并返回模块返回值 1。#define CMD_FileOpen 0 x64:打开文件 输入参数:0 x64 文件路径长度 文件路径 模块返回值 1:0 x00+0 x01+音频类型(1B),表示找到文件。模
17、块返回值 2:0 x42,表示没有找到文件。模块返回值 3:0 xB3,表示没有找到目录。模块返回值 4:0 xF3,表示文件路径太长,无法打开。模块返回值 5:0 x82,表示没有 U 盘。注:音频类型:0 x00:非音频文件,0 x01:MP3,00 x02:WMA,0 x03:WAV,0 x04:MID 6、播放模式 6.1 自动播放 模块先发出两声一高一低的测试音,然后自动搜索 U 盘中音频文件,找到后自动播放该文件,播放完毕,自动枚举下一首,继续播放。操作步骤:发送命令 0 x57 0 xAB 0 xEF 0 x00。该模式下支持的操作:上一曲、下一曲、增大音量、减小音量、停止。6.
18、2 指定播放 用户可以指定播放某个目录下的音频文件,模块搜索到以后播放该文件,可参考示例程序。操作步骤:发送打开文件命令:0 x57 0 xAB 0 x64 文件路径长度 文件路径 发送播放命令:0 x57 0 xAB 0 xE1 0 x00 该模式下支持的操作:增大音量、减小音量、暂停、停止。注:文件最大路径长度为 64(最大路径长度,含所有斜杠分隔符和小数点间隔符以及路径结束符00H)。6.3 枚举播放 模块复位后,当前文件为 U 盘中的第一个音频文件,如需改变,可发送上一曲(或下一曲)命令进行切换,然后发送播放命令,播放当前文件,可参考示例程序。操作步骤:发送播放命令:0 x57 0 x
19、AB 0 xE1 0 x00 播放中或播放完毕,可以发送选择命令:0 x57 0 xAB 0 xE7(0 xE6)0 x00 转至继续。该模式下支持的操作:上一曲、下一曲、增大音量、减小音量、暂停、停止。7、功能演示 MP3 播放模块的说明 67.1 脱机自运行演示 模块内置了简单的自动演示功能,方法是:在模块处于正常工作状态时(此时跳线 J1 是断开的),将跳线 J1 插上,模块开始自动演示,演示期间不支持任何操作,只有断开电源或者复位后,模块才能恢复正常工作状态。演示内容:模块先发出两声一高一低的测试音,然后自动搜索 U 盘中的音频文件并循环播放。7.2 串口联机演示 配套的“模块调试”工具可以用于在计算机端通过串口控制和操作模块以及演示模块功能,只需要用 3 线串口交叉线连接模块的串口与计算机串口并提供电源给模块即可。操作步骤是:执行该工具程序,选择串口并打开,选择手工输入命令码进行操作。例:枚举播放 输入:0 x57 0 xAB 0 xE1 0 x00,播放当前文件。输入:0 x57 0 xAB 0 xE7(0 xE6)0 x00,选择下一首,再转至继续。
限制150内