一、簡介
N9200是一個提供串口的MP3 芯片,完美的集成了MP3、WMV 的硬解碼。同時軟件支持TF 卡驅(qū)動,支持電腦直接更新spi flash 的內(nèi)容,支持FAT16、FAT32 文件系統(tǒng)。通過簡單的UART串口指令或一線串口指令即可完成播放指定的音樂,以及如何播放音樂等功能,無需繁瑣的底層操作,音質(zhì)優(yōu)美,使用方便,穩(wěn)定可靠是此款產(chǎn)品的最大特點。另外該芯片也是深度定制的產(chǎn)品,專為固定語音播放領(lǐng)域開發(fā)的低成本解決方案。
二、特征
◆支持采樣率(KHz):8/11.025/12/16/22.05/24/32/44.1/48。音質(zhì)優(yōu)美,立體聲。
◆24 位DAC 輸出,內(nèi)部采用DSP硬件解碼,非PWM輸出,動態(tài)范圍支持90dB,信噪比支持85dB
◆完全支持FAT16、FAT32 文件系統(tǒng),最大支持32G 的TF 卡,支持32G 的U盤
◆多種控制模式,UART串口模式、一線串口模式、AD按鍵控制模式
◆廣播語插播功能,可以暫停正在播放的背景音樂,支持指定路徑下的歌曲播放,支持跨盤符插播,支持插播提前結(jié)束
◆指定時間播放
◆指定盤符播放,指定曲目播放
◆30級音量可調(diào),5種EQ可調(diào)(NORMAL—POP—ROCK—JAZZ--CLASSIC)
◆指定路徑播放(支持中英文)
◆文件夾切換
◆指定時間段復(fù)讀
◆支持電腦聲卡控制,支持USBmass storage
◆支持觸發(fā)不可以打斷播放
三、應(yīng)用場合
1、 車載導(dǎo)航語音播報
2、 公路運輸稽查、收費站語音提示;
3、 火車站、汽車站安全檢查語音提示;
4、 電力、通信、金融營業(yè)廳語音提示;
5、 車輛進、出通道驗證語音提示;
6、 公安邊防檢查通道語音提示;
7、 多路語音告警或設(shè)備操作引導(dǎo)語音;
8、 電動觀光車安全行駛語音告示;
9、 機電設(shè)備故障自動報警;
10、消防語音報警提示;
11、自動廣播設(shè)備,定時播報
四、電路參數(shù)
|
名稱
|
參數(shù)
|
|
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 電平,波特率可設(shè)
|
|
輸入電壓
|
供電在3.5V-5V 最佳為4.2V
|
|
額定電流
|
20ma
|
|
尺寸
|
標準的DIP16/DIP28封裝
|
|
喇叭功率
|
8歐/3瓦
|
|
工作溫度
|
-40度~80度
|
|
濕度
|
5% ~ 95%
|
五、模塊管腳圖
六、模塊管腳說明
6.1 表一、N9200A-16P MP3模塊管腳說明
|
引腳序號
|
引腳名稱
|
功能描述
|
備注
|
|
1
|
NC
|
無連接
|
|
|
2
|
DACL
|
音頻輸出左聲道
|
驅(qū)動耳機、功放
|
|
3
|
DACR
|
音頻輸出右聲道
|
驅(qū)動耳機、功放
|
|
4
|
LD05V
|
模塊電源輸入
|
供電上限
|
|
5
|
TX
|
UART串行口
|
數(shù)據(jù)輸出
|
|
6
|
RX
|
UART串行口
|
數(shù)據(jù)輸入
|
|
7
|
ONE_LINE
|
一線串口輸入
|
MCU控制
|
|
8
|
BUSY
|
忙信號
|
有音頻輸出低,無音頻輸出高
|
|
9
|
P05
|
AD口
|
|
|
10
|
SPK1
|
喇叭+
|
直接驅(qū)動2W/8R以下喇叭
|
|
11
|
SPK2
|
喇叭-
|
|
|
12
|
VDDIO
|
模塊電源輸入
|
不可以超過5.2V
|
|
13
|
USBDP
|
U盤數(shù)據(jù)口
|
|
|
14
|
USBDM
|
U盤數(shù)據(jù)口
|
|
|
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
|
音頻輸出左聲道
|
驅(qū)動耳機、功放
|
|
9
|
DACR
|
音頻輸出右聲道
|
驅(qū)動耳機、功放
|
|
10
|
LDO5V
|
模塊電源輸入
|
供電上限
|
|
11
|
TX
|
UART串行口
|
數(shù)據(jù)輸出
|
|
12
|
RX
|
UART串行口
|
數(shù)據(jù)輸入
|
|
13
|
ONE_LINE
|
一線串口輸入
|
MCU控制
|
|
14
|
BUSY
|
忙信號
|
有音頻輸出低,無音頻輸出高
|
|
15
|
GND
|
地
|
電源地
|
|
16
|
ADKEY
|
AD口
|
|
|
17
|
USBDM
|
U盤數(shù)據(jù)口
|
|
|
18
|
USBDP
|
U盤數(shù)據(jù)口
|
|
|
19
|
VDDIO
|
模塊電源輸入
|
不可以超過5.2V
|
|
20
|
SPK2
|
喇叭+
|
直接驅(qū)動1W/8R以下喇叭
|
|
21
|
SPK1
|
喇叭-
|
直接驅(qū)動1W/8R以下喇叭
|
|
22
|
P05
|
AD口
|
|
|
23
|
NC
|
無連接
|
|
|
24
|
NC
|
無連接
|
|
|
25
|
NC
|
無連接
|
|
|
26
|
NC
|
無連接
|
|
|
27
|
NC
|
無連接
|
|
|
28
|
NC
|
無連接
|
|
七、控制方式說明
7.1 按鍵控制
模塊我們采用的是AD 按鍵的方式,取代了傳統(tǒng)了矩陣鍵盤的接法,這樣做的好處是充分利用了MCU 越來越強大的AD 功能。設(shè)計簡約而不簡單,模塊默認配置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
|
全部循環(huán)
|
|
0X07
|
選擇曲目7
|
0XD8
|
音量為6
|
OXF7
|
單曲循環(huán)
|
|
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只需要一根線就可以控制了,由頭碼和占空比組碼,先發(fā)低位,頭碼拉低3ms以上,平時保持高??偣?位。時序占空比約為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系列內(nèi)置標準UART異步串行接口。屬于TTL電平接口,可通過MAX232芯片轉(zhuǎn)換成RS232電平。模塊通信采用全雙工串口串口通信,波特率為9600,數(shù)據(jù)位:8 ,停止位1 位,檢驗位無
1.通信數(shù)據(jù)格式:
t 指令碼-校驗碼-數(shù)據(jù)長度(n)-數(shù)據(jù)1-數(shù)據(jù)2-數(shù)據(jù)n-和校驗(SM)
t 指令碼 :用來區(qū)分指令類型
t 驗證碼 :指令碼的反碼,用來驗證指令碼
t 數(shù)據(jù)長度 :指令中的數(shù)據(jù)的字節(jié)數(shù)
t 數(shù)據(jù) :指令中的相關(guān)數(shù)據(jù)
t 和校驗 :為之前所有的字節(jié)之和低8位
t 數(shù)據(jù) :發(fā)送的數(shù)據(jù)或命令高8位數(shù)據(jù)在前,低8位在后
2.容錯要求:
接收方必須在線實時驗證指令碼及其反碼,及和校驗的正確性。每條指令數(shù)據(jù)字節(jié)數(shù)可能不同,因此必須實時接收到字節(jié)數(shù)后確定要接收的后續(xù)數(shù)據(jù)字節(jié)數(shù)。若有錯誤則應(yīng)丟棄所接受指令。若一條指令接收時間超過500ms,則強制丟棄多接受的指令字節(jié),重新同步指令接收。
3.協(xié)議約定:
t 新曲目播放時會發(fā)送曲目序號。這里的序號為全盤統(tǒng)一編號的序號,如果要區(qū)分父目錄和子目錄可以查詢路徑和路徑深度等信息
t 盤符拔出時只會發(fā)送盤符拔出指令,不做換盤符處理,等待操作指令
t 協(xié)議中所有的數(shù)據(jù)都表示HEX
t SM表示之前所有字節(jié)之和低8位
t 協(xié)議中指的文件都是指可以播放的文件數(shù)不包括非播放文件。
t 模式切換過去都處理停止播放狀態(tài),要發(fā)送播放命令才會播放,上電默認為全部循環(huán)。
t 音量默認為最大,可以通過相關(guān)指令來查詢或設(shè)置大小。
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 返回:無
(如果要切換的模式和當前模式相同則不處理,切換過去都處于停止狀態(tài),要發(fā)播放指令才播放)
例如:
03 FC 02 01 00 02 切換到 MUSIC
03 FC 02 01 01 03 切換到 SPIFLASH
5.播放控制:(指令:04)
t 播放狀態(tài) :00 停止 01 播放 02 暫停
t 設(shè)備定義 :00 USB 01 SD 02 FLASH
t 查詢播放狀態(tài)(00) :04 FB 01 00 00 返回:04 FB 02 00 播放狀態(tài)SM
t 播放(01) :04 FB 01 01 01 返回:04 FB 02 00 播放狀態(tài)SM
t 暫停(02) :04 FB 01 02 02 返回:04 FB 02 00 播放狀態(tài)SM
t 停止(03) :04 FB 01 03 03 返回;04 FB 02 00 播放狀態(tài)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 首,曲目數(shù)從1-65535
t 當前盤符指定路徑播放(07):04 FB 長度07 路徑SM 返回:無
例如:
/周華健/難念的經(jīng)MP3
取模數(shù)據(jù)為2FD6DCBBAABDA120202FC4D1C4EEB5C4BEAD4D503304FB16072FD6DCBBAABDA120202FC4D1C4EEB5C4BEAD4D50332A
/周華健/有沒有那么一首歌會讓你想起我.MP3
文件名超過4 個漢字用*代替
/周華健/有沒有*MP3
取模數(shù)據(jù)為: 2FD6DCBBAABDA120202FD3D0C3BBD3D02A4D5033
04FB15072FD6DCBBAABDA120202FD3D0C3BBD3D02A4D5033EC
(詳見路徑格式說明)
t 查詢當前在線設(shè)備數(shù)(08) :04 FB 01 08 08 返回: 04 FB 02 08 數(shù)目SM
t 查詢當前播放設(shè)備(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 查詢當前目錄下總文件數(shù)(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 當前播放時間發(fā)送(01) :05 FA 04 01 時分秒SM
t 發(fā)送播放時間開(02) :05 FA 01 02 02 返回:當前時間
t 發(fā)送播放時間關(guān)(03) :05 FA 01 03 03 返回:無
7.音量控制
:(指令:
06)
t 音量最大為30,音量開機默認為最大
t 查詢音量(00) :06 F9 01 00 00 返回:06 F9 02 00 VOL SM
t 音量設(shè)置(01) :06 F9 02 01 VOL SM 返回:無
例如:
06 F9 02 01 14 16 設(shè)置音量為20 級
t 音量加(02) :06 F9 01 02 02 返回:無
t 音量減(03) :06 F9 01 03 03 返回:無
8.復(fù)讀控制:(指令
:08)
t 指定時間復(fù)讀(00) : 08 F7 05 00 起始分起始秒結(jié)束分結(jié)束秒SM
返回:無
例如:
08F70500020602202E 從2 分06 秒開始到2 分32 秒復(fù)讀
t 結(jié)束復(fù)讀(01) :08 F7 01 01 01 返回:無
執(zhí)行結(jié)束命令后此次復(fù)讀無效,或執(zhí)行其它操作也可以結(jié)束復(fù)讀
9.插播控制:(指令:
09)
t 指定曲目插播(00) :09 F6 04 00 盤符曲目高曲目低SM 返回:無
例如:
09 F6 04 00 01 00 04 08 插播SD 卡的第4 首
t 結(jié)束插播(01) :09 F6 01 01 01 返回:無
10.循環(huán)模式控制:(指令:
0B)
t 查詢循環(huán)模式(00) :0B F4 01 00 00 返回:0B F4 02 00 循環(huán)模式SM
t 設(shè)置循環(huán)模式(01) :0B F4 02 01 循環(huán)模式SM
t 設(shè)置為單曲循環(huán) :0B F4 02 01 01 03
t 全部循環(huán) : 00 按順序播放全盤曲目,播放完后循環(huán)播放
t 單曲循環(huán) : 01 一直循環(huán)播放當前曲目
t 文件夾內(nèi)循環(huán) : 02 按順序循環(huán)播放當前文件夾內(nèi)曲目
t 隨機播放 : 03 隨機播放盤符內(nèi)曲目
t 單曲停止 : 04 播放完當前曲目一次停止
t 順序播放 : 05 按順序播放全盤曲目,播放完后停止
t 文件夾順序播放 : 06 順序播放當前文件夾內(nèi)曲目,播放完停止
t 文件夾隨機播放 : 07 隨機播放當前文件夾內(nèi)曲目
說明:
在SPIFLASH 模式不支持02、03 、06、07 這幾種循環(huán)模式,如果設(shè)置為這幾種會按04 模式來處理
11.錯誤信息:(指令:
AA)
t AA 55 02 FF 00 00 串口接收數(shù)據(jù)錯誤
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.設(shè)備插撥狀態(tài)信息:(指令:
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 個字節(jié),超過8 個字節(jié)取前8 字節(jié),不夠8 字節(jié)的用空格補充,8 個字節(jié)就是四個漢字或8 個字母。
t 文件名也為8 個字節(jié),不夠的可以用?或者* 表示,例如ABC????? 表示開頭的三個字符為abc 的文件, abc* 也表示開頭的3 個字符為abc 的文件。
t 不管盤符里面的文件夾或文件名是否是大寫字母,在編寫程序時,文件夾和文件的名字必須為大寫字母或數(shù)字。
t 一個漢字占用兩個字節(jié),一個空格或字符都是占用一個字節(jié)。
例如:
指定文件夾下歌曲
"/背景 /*???", /*背景文件夾下的所有文件,背景后面4 個空格*/
"/MODE????MP3", /*根目錄下以mode 開頭的MP3 文件*/
/周華健/難念的經(jīng)MP3
路徑數(shù)據(jù)獲取:
t 推薦工具:amo 的編程小工具集合V1.2.6
例如:
" /周華健/難念的經(jīng)MP3",輸入格式要選擇Ascii,在輸入項里輸入對應(yīng)的路徑。
選擇

就可以得到對應(yīng)的數(shù)據(jù)
2FD6DCBBAABDA120202FC4D1C4EEB5C4BEAD4D5033