一、简介
N9200是一个提供串口的MP3 芯片,完美的集成了MP3、WMV 的硬解码。同时软件支持TF 卡驱动,支持电脑直接更新spi flash 的内容,支持FAT16、FAT32 文件系统。通过简单的UART串口指令或一线串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,音质优美,使用方便,稳定可靠是此款产品的最大特点。另外该芯片也是深度定制的产品,专为固定语音播放领域开发的低成本解决方案。
二、特征
◆支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48。音质优美,立体声。
◆24 位DAC 输出,内部采用DSP硬件解码,非PWM输出,动态范围支持90dB,信噪比支持85dB
◆完全支持FAT16、FAT32 文件系统,最大支持32G 的TF 卡,支持32G 的U盘
◆多种控制模式,UART串口模式、一线串口模式、AD按键控制模式
◆广播语插播功能,可以暂停正在播放的背景音乐,支持指定路径下的歌曲播放,支持跨盘符插播,支持插播提前结束
◆指定时间播放
◆指定盘符播放,指定曲目播放
◆30级音量可调,5种EQ可调(NORMAL—POP—ROCK—JAZZ--CLASSIC)
◆指定路径播放(支持中英文)
◆文件夹切换
◆指定时间段复读
◆支持电脑声卡控制,支持USBmass storage
◆支持触发不可以打断播放
三、应用场合
1、 车载导航语音播报
2、 公路运输稽查、收费站语音提示;
3、 火车站、汽车站安全检查语音提示;
4、 电力、通信、金融营业厅语音提示;
5、 车辆进、出通道验证语音提示;
6、 公安边防检查通道语音提示;
7、 多路语音告警或设备操作引导语音;
8、 电动观光车安全行驶语音告示;
9、 机电设备故障自动报警;
10、消防语音报警提示;
11、自动广播设备,定时播报
四、电路参数
名称
|
参数
|
MP3文件格式
|
1、支持所有比特率11172-3和ISO13813-3 layer3音频解码
|
2、采样率支(KHZ):8/11.025/12/16/22.05/24/32/44.1/48
|
3、支持Normal、Jazz、Classic、Pop、Rock 等音效
|
UART 接口
|
标准串口,TTL 电平,波特率可设
|
输入电压
|
供电在3.5V-5V 最佳为4.2V
|
额定电流
|
20ma
|
尺寸
|
标准的DIP16/DIP28封装
|
喇叭功率
|
8欧/3瓦
|
工作温度
|
-40度~80度
|
湿度
|
5% ~ 95%
|
五、模块管脚图
六、模块管脚说明
6.1 表一、N9200A-16P MP3模块管脚说明
引脚序号
|
引脚名称
|
功能描述
|
备注
|
1
|
NC
|
无连接
|
|
2
|
DACL
|
音频输出左声道
|
驱动耳机、功放
|
3
|
DACR
|
音频输出右声道
|
驱动耳机、功放
|
4
|
LD05V
|
模块电源输入
|
供电上限
|
5
|
TX
|
UART串行口
|
数据输出
|
6
|
RX
|
UART串行口
|
数据输入
|
7
|
ONE_LINE
|
一线串口输入
|
MCU控制
|
8
|
BUSY
|
忙信号
|
有音频输出低,无音频输出高
|
9
|
P05
|
AD口
|
|
10
|
SPK1
|
喇叭+
|
直接驱动2W/8R以下喇叭
|
11
|
SPK2
|
喇叭-
|
|
12
|
VDDIO
|
模块电源输入
|
不可以超过5.2V
|
13
|
USBDP
|
U盘数据口
|
|
14
|
USBDM
|
U盘数据口
|
|
15
|
ADKEY
|
AD按键
|
|
16
|
GND
|
地
|
电源地
|
6.2 表二、N9200B-28P MP3模块管脚图
引脚序号
|
引脚名称
|
功能描述
|
备注
|
1
|
NC
|
无连接
|
|
2
|
NC
|
无连接
|
|
3
|
NC
|
无连接
|
|
4
|
NC
|
无连接
|
|
5
|
NC
|
无连接
|
|
6
|
NC
|
无连接
|
|
7
|
NC
|
无连接
|
|
8
|
DACL
|
音频输出左声道
|
驱动耳机、功放
|
9
|
DACR
|
音频输出右声道
|
驱动耳机、功放
|
10
|
LDO5V
|
模块电源输入
|
供电上限
|
11
|
TX
|
UART串行口
|
数据输出
|
12
|
RX
|
UART串行口
|
数据输入
|
13
|
ONE_LINE
|
一线串口输入
|
MCU控制
|
14
|
BUSY
|
忙信号
|
有音频输出低,无音频输出高
|
15
|
GND
|
地
|
电源地
|
16
|
ADKEY
|
AD口
|
|
17
|
USBDM
|
U盘数据口
|
|
18
|
USBDP
|
U盘数据口
|
|
19
|
VDDIO
|
模块电源输入
|
不可以超过5.2V
|
20
|
SPK2
|
喇叭+
|
直接驱动1W/8R以下喇叭
|
21
|
SPK1
|
喇叭-
|
直接驱动1W/8R以下喇叭
|
22
|
P05
|
AD口
|
|
23
|
NC
|
无连接
|
|
24
|
NC
|
无连接
|
|
25
|
NC
|
无连接
|
|
26
|
NC
|
无连接
|
|
27
|
NC
|
无连接
|
|
28
|
NC
|
无连接
|
|
七、控制方式说明
7.1 按键控制
模块我们采用的是AD 按键的方式,取代了传统了矩阵键盘的接法,这样做的好处是充分利用了MCU 越来越强大的AD 功能。设计简约而不简单,模块默认配置2 个AD 口,10个按键的阻值分配,如果使用在强电磁干扰或者强感性、容性负载的场合,请参考我们的“注意事项”。
(1)、ADKEY参考原理图
7.2 一线串口控制
九芯MP3一线串口指令表
|
曲目指令
|
音量指令
|
播放功能
|
指令
|
功能
|
指令
|
功能
|
指令
|
功能
|
0X01
|
选择曲目1
|
0XD2
|
音量为0
|
OXF1
|
切换到U盘
|
0X02
|
选择曲目2
|
0XD3
|
音量为1
|
OXF2
|
切换到SD
|
0X03
|
选择曲目3
|
0XD4
|
音量为2
|
OXF3
|
切换到MP3模式
|
0X04
|
选择曲目4
|
0XD5
|
音量为3
|
OXF4
|
切换到flash模式
|
0X05
|
选择曲目5
|
0XD6
|
音量为4
|
OXF5
|
下一个EQ
|
0X06
|
选择曲目6
|
0XD7
|
音量为5
|
OXF6
|
全部循环
|
0X07
|
选择曲目7
|
0XD8
|
音量为6
|
OXF7
|
单曲循环
|
0X08
|
选择曲目8
|
0XD9
|
音量为7
|
OXF8
|
上一曲
|
0X09
|
选择曲目9
|
0XDA
|
音量为8
|
OXF9
|
下一曲
|
0X0A
|
选择曲目10
|
0XDB
|
音量为9
|
OXFA
|
播放
|
0X0B
|
选择曲目11
|
0XDC
|
音量为10
|
OXFB
|
暂停
|
0X0C
|
选择曲目12
|
0XDD
|
音量为11
|
OXFC
|
停止
|
0X0D
|
选择曲目13
|
0XDE
|
音量为12
|
OXFD
|
上一文件夹
|
0X0E
|
选择曲目14
|
0XDF
|
音量为13
|
OXFE
|
下一文件夹
|
0X0F
|
选择曲目15
|
0XE0
|
音量为14
|
|
|
0X10
|
选择曲目16
|
0XE1
|
音量为15
|
|
|
0X11
|
选择曲目17
|
0XE2
|
音量为16
|
|
|
0X12
|
选择曲目18
|
0XE3
|
音量为17
|
|
|
0X13
|
选择曲目19
|
0XE4
|
音量为18
|
|
|
0X14
|
选择曲目20
|
0XE5
|
音量为19
|
|
|
0X15
|
选择曲目21
|
0XE6
|
音量为20
|
|
|
0X16
|
选择曲目22
|
0XE7
|
音量为21
|
|
|
0X17
|
选择曲目23
|
0XE8
|
音量为22
|
|
|
0X18
|
选择曲目24
|
0XE9
|
音量为23
|
|
|
0X19
|
选择曲目25
|
0XEA
|
音量为24
|
|
|
0X1A
|
选择曲目26
|
0XEB
|
音量为25
|
|
|
0X1B
|
选择曲目27
|
0XEC
|
音量为26
|
|
|
0X1C
|
选择曲目28
|
0XED
|
音量为27
|
|
|
0X1D
|
选择曲目29
|
0XEE
|
音量为28
|
|
|
0X1E
|
选择曲目30
|
0XEF
|
音量为29
|
|
|
0X1F
|
选择曲目31
|
0XF0
|
音量为30
|
|
|
0X20
|
选择曲目32
|
|
|
|
|
7.2.1一线串口时序
一线串口MCU只需要一根线就可以控制了,由头码和占空比组码,先发低位,头码拉低3ms以上,平时保持高。总共8位。时序占空比约为1:3.时序范围介于300us:900us到
1000us:3000us之间。误差容许10%。
7.2.2程序范例(MCU:PIC16F57 晶振:4MHz)
sda=0;
wait(300); /*>3ms */
for(i=0;i<8;i++)
{
sda=1;
if(addr & 1)
{
wait(15); /* >1200us */
sda=0;
wait(5); /* >400us */
}
else
{
wait(5);
sda=0;
wait(15);
}
addr>>=1;
}
sda=1;
3、控制
N9200系列内置标准UART异步串行接口。属于TTL电平接口,可通过MAX232芯片转换成RS232电平。模块通信采用全双工串口串口通信,波特率为9600,数据位:8 ,停止位1 位,检验位无
1.通信数据格式:
t 指令码-校验码-数据长度(n)-数据1-数据2-数据n-和校验(SM)
t 指令码 :用来区分指令类型
t 验证码 :指令码的反码,用来验证指令码
t 数据长度 :指令中的数据的字节数
t 数据 :指令中的相关数据
t 和校验 :为之前所有的字节之和低8位
t 数据 :发送的数据或命令高8位数据在前,低8位在后
2.容错要求:
接收方必须在线实时验证指令码及其反码,及和校验的正确性。每条指令数据字节数可能不同,因此必须实时接收到字节数后确定要接收的后续数据字节数。若有错误则应丢弃所接受指令。若一条指令接收时间超过500ms,则强制丢弃多接受的指令字节,重新同步指令接收。
3.协议约定:
t 新曲目播放时会发送曲目序号。这里的序号为全盘统一编号的序号,如果要区分父目录和子目录可以查询路径和路径深度等信息
t 盘符拔出时只会发送盘符拔出指令,不做换盘符处理,等待操作指令
t 协议中所有的数据都表示HEX
t SM表示之前所有字节之和低8位
t 协议中指的文件都是指可以播放的文件数不包括非播放文件。
t 模式切换过去都处理停止播放状态,要发送播放命令才会播放,上电默认为全部循环。
t 音量默认为最大,可以通过相关指令来查询或设置大小。
4.模式控制:(指令:03)
t MODE说明 :MUSIC:00 SPIFLASH:01
t 查询当前模式(00):03 FC 01 00 00 返回:03 FC 02 00 MODE SM
t 切换模式(01) :03 FC 02 01 MODE SM 返回:无
(如果要切换的模式和当前模式相同则不处理,切换过去都处于停止状态,要发播放指令才播放)
例如:
03 FC 02 01 00 02 切换到 MUSIC
03 FC 02 01 01 03 切换到 SPIFLASH
5.播放控制:(指令:04)
t 播放状态 :00 停止 01 播放 02 暂停
t 设备定义 :00 USB 01 SD 02 FLASH
t 查询播放状态(00) :04 FB 01 00 00 返回:04 FB 02 00 播放状态SM
t 播放(01) :04 FB 01 01 01 返回:04 FB 02 00 播放状态SM
t 暂停(02) :04 FB 01 02 02 返回:04 FB 02 00 播放状态SM
t 停止(03) :04 FB 01 03 03 返回;04 FB 02 00 播放状态SM
t 上一曲(04) :04 FB 01 04 04 返回:无
t 下一曲(05) :04 FB 01 05 05 返回:无
t 指定曲目(06) :04 FB 03 06 曲目高曲目低SM 返回:无
例如:
04 FB 03 06 00 08 10 指定播放当前盘符第8 首,曲目数从1-65535
t 当前盘符指定路径播放(07):04 FB 长度07 路径SM 返回:无
例如:
/周华健/难念的经MP3
取模数据为2FD6DCBBAABDA120202FC4D1C4EEB5C4BEAD4D503304FB16072FD6DCBBAABDA120202FC4D1C4EEB5C4BEAD4D50332A
/周华健/有没有那么一首歌会让你想起我.MP3
文件名超过4 个汉字用*代替
/周华健/有没有*MP3
取模数据为: 2FD6DCBBAABDA120202FD3D0C3BBD3D02A4D5033
04FB15072FD6DCBBAABDA120202FD3D0C3BBD3D02A4D5033EC
(详见路径格式说明)
t 查询当前在线设备数(08) :04 FB 01 08 08 返回: 04 FB 02 08 数目SM
t 查询当前播放设备(09) :04 FB 01 09 09 返回: 04 FB 02 09 盘符SM
t 切换到U盘(0A) :04 FB 01 0A 0A 返回: 无
t 切换到SD(0B) :04 FB 01 0B 0B 返回: 无
t 查询总曲目(0D) :04 FB 01 0D 0D 返回:04 FB 03 0D 总曲目高 总曲目低SM
t 查询当前曲目(0E) :04 FB 01 0E 0E 返回:04 FB 03 0E 曲目高曲目低SM
t 当前曲目指定时间播放(0F) :04 FB 03 0F 分秒SM 返回:无
例如:
04 FB 03 0F 02 14 27 指定当前曲目从02:20 处开始播放分:0-60,秒0-60 指定的时间不要超过总的播放时间
t 指定曲目指定时间播放(10):04 FB 05 10 曲目高曲目低分秒SM 返回:无
例如:
04 FB 05 10 00 03 02 14 2D 指定第3 首歌曲从02:20 处开始播放
t 指定盘符指定曲目指定时间播放(11):04 FB 06 11 盘符曲目高曲目低分秒SM 返回:无
例如:
04 FB 06 11 00 00 06 02 14 32 U盘的第6 首从02:20 处开始播放
04 FB 06 11 01 00 04 02 14 31 SD的第4 首从02:20 处开始播放
t 上一文件夹(12) :04 FB 01 12 12 返回:在播放时返回曲目序号
t 下一文件夹(13) :04 FB 01 13 13 返回:在播放时返回曲目序号
t 查询当前目录下总文件数(18) :04 FB 01 18 18 返回:04 FB 03 18 曲目高曲目低SM
6.播放时间控制
:(指令:
05)
t 总播放时间查询(00) :05 FA 01 00 00 返回:05 FA 04 00 时分秒SM
t 当前播放时间发送(01) :05 FA 04 01 时分秒SM
t 发送播放时间开(02) :05 FA 01 02 02 返回:当前时间
t 发送播放时间关(03) :05 FA 01 03 03 返回:无
7.音量控制
:(指令:
06)
t 音量最大为30,音量开机默认为最大
t 查询音量(00) :06 F9 01 00 00 返回:06 F9 02 00 VOL SM
t 音量设置(01) :06 F9 02 01 VOL SM 返回:无
例如:
06 F9 02 01 14 16 设置音量为20 级
t 音量加(02) :06 F9 01 02 02 返回:无
t 音量减(03) :06 F9 01 03 03 返回:无
8.复读控制:(指令
:08)
t 指定时间复读(00) : 08 F7 05 00 起始分起始秒结束分结束秒SM
返回:无
例如:
08F70500020602202E 从2 分06 秒开始到2 分32 秒复读
t 结束复读(01) :08 F7 01 01 01 返回:无
执行结束命令后此次复读无效,或执行其它操作也可以结束复读
9.插播控制:(指令:
09)
t 指定曲目插播(00) :09 F6 04 00 盘符曲目高曲目低SM 返回:无
例如:
09 F6 04 00 01 00 04 08 插播SD 卡的第4 首
t 结束插播(01) :09 F6 01 01 01 返回:无
10.循环模式控制:(指令:
0B)
t 查询循环模式(00) :0B F4 01 00 00 返回:0B F4 02 00 循环模式SM
t 设置循环模式(01) :0B F4 02 01 循环模式SM
t 设置为单曲循环 :0B F4 02 01 01 03
t 全部循环 : 00 按顺序播放全盘曲目,播放完后循环播放
t 单曲循环 : 01 一直循环播放当前曲目
t 文件夹内循环 : 02 按顺序循环播放当前文件夹内曲目
t 随机播放 : 03 随机播放盘符内曲目
t 单曲停止 : 04 播放完当前曲目一次停止
t 顺序播放 : 05 按顺序播放全盘曲目,播放完后停止
t 文件夹顺序播放 : 06 顺序播放当前文件夹内曲目,播放完停止
t 文件夹随机播放 : 07 随机播放当前文件夹内曲目
说明:
在SPIFLASH 模式不支持02、03 、06、07 这几种循环模式,如果设置为这几种会按04 模式来处理
11.错误信息:(指令:
AA)
t AA 55 02 FF 00 00 串口接收数据错误
t AA 55 02 FF 01 01 串口正忙
t AA 55 02 FF 02 02 批定的盘符找不到
t AA 55 02 FF 03 03 没有可以播放盘符。
t AA 55 02 FF 04 04 文件播放错误,如文件找不到等
12.设备插拨状态信息:(指令:
BB)
t BB 44 01 00 00 U 盘插入
t BB 44 01 01 01 U 盘拨出
t BB 44 01 02 02 SD 卡插入
t BB 44 01 03 03 SD 卡拨出
t BB 44 01 04 04 进入PC 模式
t BB 44 01 05 05 退出PC 模式
路径格式说明
路径要求:
t 文件夹名字为8 个字节,超过8 个字节取前8 字节,不够8 字节的用空格补充,8 个字节就是四个汉字或8 个字母。
t 文件名也为8 个字节,不够的可以用?或者* 表示,例如ABC????? 表示开头的三个字符为abc 的文件, abc* 也表示开头的3 个字符为abc 的文件。
t 不管盘符里面的文件夹或文件名是否是大写字母,在编写程序时,文件夹和文件的名字必须为大写字母或数字。
t 一个汉字占用两个字节,一个空格或字符都是占用一个字节。
例如:
指定文件夹下歌曲
"/背景 /*???", /*背景文件夹下的所有文件,背景后面4 个空格*/
"/MODE????MP3", /*根目录下以mode 开头的MP3 文件*/
/周华健/难念的经MP3
路径数据获取:
t 推荐工具:amo 的编程小工具集合V1.2.6
例如:
" /周华健/难念的经MP3",输入格式要选择Ascii,在输入项里输入对应的路径。
选择
就可以得到对应的数据
2FD6DCBBAABDA120202FC4D1C4EEB5C4BEAD4D5033