11、自動廣播設(shè)備,定時播報
模塊選用的是SOC方案,集成了一個16位的MCU,以及一個專門針對音頻解碼的aDSP,采用硬解碼的方式,更加保廣告法證了系統(tǒng)的穩(wěn)定性和音質(zhì)。小巧的封裝尺寸更加滿足嵌入其它產(chǎn)品的需求
2.1 硬件參數(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等音效 |
|
USB接口 |
2.0標(biāo)準(zhǔn) |
UART接口 |
標(biāo)準(zhǔn)串口,TTL電平,波特率可設(shè) |
輸入電壓 |
5.0V-10V(好輸入9V) |
額定電流 |
20ma[不帶U盤] |
尺寸 |
23(長)*20(寬)[單位:mm] |
工作溫度 |
0度~70度 |
濕度 |
5% ~ 95% |
2.2 管腳說明
引腳序號 |
引腳名稱 |
功能描述 |
備注 |
1 |
GND |
第 |
系統(tǒng)地 |
2 |
RX |
UART串行數(shù)據(jù)輸入 |
|
3 |
TX |
UART串行數(shù)據(jù)輸出 |
|
4 |
DACLout |
DAC輸出左聲道 |
|
5 |
DACRout |
DAC輸出右聲道 |
|
6 |
GPIO1 |
通用輸入輸出口 |
預(yù)留 |
7 |
ADKEY |
AD按鍵 |
24K上拉 |
8 |
USBDP |
USB信號 |
|
9 |
USBDM |
USB信號 |
|
10 |
VPOWER |
供電端 |
不可以超過5.2V |
起始位0x7E | |||
每條命令反饋均以$開頭,即0x7E |
|||
VER |
版本 |
版本信息 |
|
Len |
len后字節(jié)個數(shù) |
校驗和不計算在內(nèi) |
|
CMD |
命令字 |
表示具體的操作,比如播放/暫停等等 |
|
Feedback |
命令反饋 |
是否需要反饋信息,1反饋,0不反饋 |
|
para1 |
參數(shù)1 |
查詢的數(shù)據(jù)高字節(jié)(比如歌曲序號) |
|
para2 |
參數(shù)2 |
查詢的數(shù)據(jù)低字節(jié) |
|
checksum |
校驗和 |
累加和校驗[不計起始位$] |
|
$O |
結(jié)束位 |
結(jié)束位0xEF |
|
|
|
|
舉個例子,如果我們指定播放NORFLASH,就需要發(fā)送:7E 10 06 09 00 00 04 FF dd EF
數(shù)據(jù)長度為6 ,這6個字節(jié)分別是[10 06 09 00 00 04] 。不計算起始、結(jié)束、和校驗。
3.2 通訊指令
1、直接發(fā)送的指令,不需要返回參數(shù)
CMD詳解(指令) |
對應(yīng)的功能 |
參數(shù)(16位) |
0x01 |
下一曲 |
|
0x02 |
上一曲 |
|
0x03 |
指定曲目(NUM) |
0-2999 |
0x04 |
音量+ |
|
0x05 |
音量- |
|
0x06 |
指定音量 |
0-30 |
0x07 |
指定EQ(0/1/2/3/4/5) |
Normal/Pop/Rock/Jazz/Classic/Base |
0x08 |
指定播放模式(0/1/2/3) |
循環(huán)/文件夾循環(huán)/單曲循環(huán)/隨機 |
0x09 |
指定設(shè)備(0/1/2/3/4) |
U/TF/AUX/SLEEP/FLASH |
0x0A |
進(jìn)入睡眠 -- 低功耗 |
|
0x0B |
正常工作 |
|
0x0C |
模塊復(fù)位 |
|
0x0D |
播放 |
|
0x0E |
暫停 |
|
0x0F |
指定文件夾播放 |
1-10(需要自己設(shè)定) |
2、查詢系統(tǒng)的參數(shù)
CMD命令詳解(查詢) |
對應(yīng)的功能 |
參數(shù)(16位) |
0x3C |
STAY |
|
0x3D |
STAY |
|
0x3E |
STAY |
|
0x3F |
發(fā)送初始化參數(shù) |
0 - 0x0F(低四位每位代表一種設(shè)備) |
0x40 |
返回錯誤,請求重發(fā) |
|
0x41 |
應(yīng)答 |
|
0x42 |
查詢當(dāng)前狀態(tài) |
|
0x43 |
查詢當(dāng)前音量 |
|
0x44 |
查詢當(dāng)前EQ |
|
0x45 |
查詢當(dāng)前播放模式 |
|
0x46 |
查詢當(dāng)前軟件版本 |
|
0x47 |
查詢TF卡的總文件數(shù) |
|
0x48 |
查詢UDISK的總文件數(shù) |
|
0x49 |
查詢FLASH的總文件數(shù) |
|
0x4A |
保留 |
|
0x4B |
查詢TF卡的當(dāng)前曲目 |
|
0x4C |
查詢UDISK的當(dāng)前曲目 |
|
0x4D |
查詢FLASH的當(dāng)前曲目 |
|
3.3 模塊返回的數(shù)據(jù)
模塊在關(guān)鍵地方均會有數(shù)據(jù)返回。供用戶掌控模塊的工作狀態(tài)
模塊上電初始化成功的數(shù)據(jù)
模塊播放完當(dāng)前曲目的數(shù)據(jù)
模塊成功接收到指令返回的ACK(應(yīng)答)
模塊接收一幀數(shù)據(jù)出錯[包括數(shù)據(jù)沒收完整、校驗出錯兩種情況]
模塊在繁忙時,有數(shù)據(jù)過來,模塊會返回忙的指令
U盤、TF卡插入拔出,均有數(shù)據(jù)返回
3.3.1 模塊上電返回的數(shù)據(jù)
(1)、模塊上電,需要一定的時間初始化,這個時間是需要根據(jù)U盤、TF卡、flash等設(shè)備的文件多少決定的,一般情況在1.5 ~ 3S這個時間。如果超過這個時間模塊的初始化數(shù)據(jù)還沒有發(fā)送出來,說明模塊初始化出錯,請復(fù)位模塊的電源,另外檢測硬件的連接
(2)、模塊初始化數(shù)據(jù)包括在線設(shè)備,譬如發(fā)送7E 10 06 3F 00 00 01 xx xx EF
DL = 0x01 說明上電過程中,只有U盤在線。其它的數(shù)據(jù)請參照下表,各設(shè)備之間是或的關(guān)系
U盤 -- 在線 |
7E 10 06 3F 00 00 01 xx xx EF |
各設(shè)備之間是或的關(guān)系 |
TF -- 在線 |
7E 10 06 3F 00 00 02 xx xx EF |
|
PC -- 在線 |
7E 10 06 3F 00 00 04 xx xx EF |
|
FLASH -- 在線 |
7E 10 06 3F 00 00 08 xx xx EF |
|
U盤、TF -- 在線 |
7E 10 06 3F 00 00 03 xx xx EF |
|
、MCU必須等待模塊初始化指令發(fā)出之后才能發(fā)送相應(yīng)的控制指令,否則發(fā)送的指令模塊將不予處理。同時還會影響模塊的正常初始化。
3.3.2 曲目播放完畢返回的數(shù)據(jù)
U盤播放完第1曲 |
7E 10 06 3C 00 00 01 xx xx EF |
U盤播放第1曲完畢 |
U盤播放完第2曲 |
7E 10 06 3C 00 00 02 xx xx EF |
U盤播放第2曲完畢 |
TF卡播放完第1曲 |
7E 10 06 3D 00 00 01 xx xx EF |
TF卡播放第1曲完畢 |
TF卡播放完第2曲 |
7E 10 06 3D 00 00 02 xx xx EF |
TF卡播放第2曲完畢 |
FLASH播放完第1曲 |
7E 10 06 3E 00 00 01 xx xx EF |
FLASH播放第1曲完畢 |
FLASH播放完第2曲 |
7E 10 06 3E 00 00 02 xx xx EF |
FLASH播放第2曲完畢 |
爭很多的觸發(fā)型的播放需求,我們模塊更正為播放一曲之后自動進(jìn)入暫停狀態(tài)。如果用戶需要此類應(yīng)用。只需要指定曲目播放即可。這樣,曲目播放完畢會自動暫停,等待指令
另外我們專門開辟一個IO作為解碼和暫停的狀態(tài)指示。請參見第6腳,GPIO1
、播放狀態(tài)輸出高電平
、播放暫停狀態(tài),輸出低電平。模塊睡眠狀態(tài)。也是低電平
爭對連續(xù)播放應(yīng)用,可以這樣實現(xiàn)。假如U盤播放第1首歌完畢之后,會返回
7E 10 06 3C 00 00 01 xx xx EF
3C ---- 表示的是U盤命令
00 01 ---- 表示播放完畢的曲目。
如果外部的MCU收到這條指令。請先等待100ms。再發(fā)送播放指令[7E 10 06 0D 00 00 00 FF DD EF]。因為模塊內(nèi)部會先初始化下一個曲目的信息。這樣的話,就可以做到模塊連續(xù)的播放。
假如當(dāng)前播放第1曲,播放完畢之后,曲目指針會自動指向第二首,如果發(fā)送”播放下一曲”的指令話,模塊會播放第三首,請用戶知曉。另外如果模塊播放完后一曲之后,播放指針會自動跳轉(zhuǎn)至第1首,暫停。
5、指定設(shè)備之后,模塊的播放指針會指向設(shè)備根目錄的第1首曲目,并且進(jìn)入暫停狀態(tài)。等侯用戶選曲的指令。
3.3.3 模塊應(yīng)答返回的數(shù)據(jù)
FLASH播放完第1曲 |
7E 10 06 3E 00 00 01 xx xx EF |
FLASH播放第1曲完畢 |
(1)、為了加強數(shù)據(jù)通信之間的穩(wěn)定性,我們增加了應(yīng)答處理,ACKB字節(jié)就是設(shè)置是否需要回復(fù)應(yīng)答。這樣做的好處是保廣告法證每次通信都有握手信號,收到應(yīng)答就表示MCU發(fā)送的數(shù)據(jù),模塊已經(jīng)成功收到,馬上處理。
(2)、對于一般的應(yīng)用,客戶可以自由選擇,不加這個應(yīng)答處理也是可以的。
3.3.4 模塊錯誤返回的數(shù)據(jù)
模塊處于忙狀態(tài) |
7E 10 06 40 00 00 00 xx xx EF |
|
一幀數(shù)據(jù)未接收完畢 |
7E 10 06 40 00 00 01 xx xx EF |
|
校驗出錯 |
7E 10 06 40 00 00 02 xx xx EF |
|
(1)、為了加強數(shù)據(jù)通信之間的穩(wěn)定性,我們增加了數(shù)據(jù)錯誤處理機制。模塊收到不符合格式的數(shù)據(jù),均會有信息反饋出來
(2)、在環(huán)境比較惡劣的情況下,強烈建議客戶處理此命令。如果應(yīng)用環(huán)境一般,可以不用處理。
(3)、模塊返回忙,基本上是模塊上電初始化的時候才會返回,因模塊需要初始化文件系統(tǒng)
3.3.5 設(shè)備插入拔出消息
U盤插入 |
7E 10 06 3A 00 00 01 xx xx EF |
|
TF插入 |
7E 10 06 3A 00 00 02 xx xx EF |
|
PC插入 |
7E 10 06 3A 00 00 04 xx xx EF |
使用此指令,請聯(lián)系技術(shù)支持 |
U盤拔出 |
7E 10 06 3B 00 00 01 xx xx EF |
|
TF拔出 |
7E 10 06 3B 00 00 02 xx xx EF |
|
PC拔出 |
7E 10 06 3B 00 00 04 xx xx EF |
使用此指令,請聯(lián)系技術(shù)支持 |
(1)、為了模塊的靈活性,我們特別增加了,設(shè)備插入、拔出的指令反饋。方便用戶知道模塊的工作狀態(tài)。
(2)、設(shè)備插入的時候,我們默認(rèn)播放設(shè)備的根目錄下面的第1首曲目。作為試聽,如果用戶不需要此功能的話,可以在接收到設(shè)備插入的串口消息之后,等待100ms。發(fā)送播放暫停的指令即可。
3.4 串口指令詳解
以下我們對關(guān)鍵的地方進(jìn)行詳細(xì)的說明:
指定曲目播放[必須要先指定設(shè)備之后才能指定曲目]
指定播放的音量
指定播放的設(shè)備
指定文件夾播放[要根據(jù)使用者來定制此功能]
FLASH中存儲的固定測試語音
3.4.1 指定歌曲播放指令
我們給出的指令是支持指定曲目播放的,歌曲的選擇范圍為0~2999.其實是可以支持更多的,因為涉及到文件系統(tǒng)的原因,支持過多的歌曲,會導(dǎo)致系統(tǒng)操作緩慢,一般的應(yīng)用也不需要支持這么多的文件。如果客戶有非常規(guī)的應(yīng)用,請事前和我們溝通。
(1)、例如選擇第1首歌播放,串口的發(fā)送部分7E 10 06 03 00 00 01 FF E6 EF
7E --- 起始命令
10 --- 版本信息
06 --- 數(shù)據(jù)長度(不包含校驗)
03 --- 代表產(chǎn)品編號
00 --- 是否需要應(yīng)答[0x01:需要應(yīng)答,0x00:不需要返回應(yīng)答]
00 --- 曲目的高字節(jié)[DH]
01 --- 曲目的低字節(jié)[DL],這里代表的是第1首歌播放
FF --- 校驗的高字節(jié)
E6 --- 校驗的低字節(jié)
EF --- 結(jié)束命令
(2)、對于選曲,如果選擇第100首,首先將100轉(zhuǎn)化為16進(jìn)制,默認(rèn)為雙字節(jié),就為0x0064。
DH = 0x00 ; DL = 0x64
(3)、如果選擇第1000首進(jìn)行播放,首先將1000轉(zhuǎn)化為16進(jìn)制,默認(rèn)為雙字節(jié),就為0x03E8
DH = 0x03 ; DL = 0xE8
(4)、其它的操作依次類推即可,因為在嵌入式領(lǐng)域采用16進(jìn)制是為方便的一種操作。
3.4.2 指定音量播放指令
(1)、我們系統(tǒng)上電默認(rèn)的音量為30級,如果要設(shè)置音量的話,直接發(fā)送相應(yīng)的指令即可
(2)、例如指定音量為15級,串口發(fā)送的指令:7E 10 06 06 00 00 0F FF D5 EF
(3)、DH = 0x00 ; DL = 0x0F ,15轉(zhuǎn)化為16進(jìn)制為0x000F??梢詤⒄詹シ徘坎糠值恼f明
3.4.3 指定播放設(shè)備
(1)、我們的模塊默認(rèn)是支持4種類型的播放設(shè)備,只有設(shè)備在線才能指定設(shè)備去播放
設(shè)備是否在線,我們軟件會自動檢測,無需用戶關(guān)系。
、看下表,選擇合適的指令發(fā)送
(3)、指定設(shè)備之后。模塊會自動進(jìn)入暫停狀態(tài),等待用戶指定曲目播放。從指定設(shè)備到模塊內(nèi)部初始化文件信息。大概需要200ms。請等待200ms之后再發(fā)送指定曲目的指令。
指定播放設(shè)備-U盤 |
7E 10 06 09 00 00 01 xx xx EF |
xx xx:代表校驗 |
指定播放設(shè)備-TF卡 |
7E 10 06 09 00 00 02 xx xx EF |
|
指定播放設(shè)備-AUX |
7E 10 06 09 00 00 03 xx xx EF |
|
指定播放設(shè)備-FLASH |
7E 10 06 09 00 00 04 xx xx EF |
|
指定播放設(shè)備-SLEEP |
7E 10 06 09 00 00 05 xx xx EF |
|
3.4.4 指定文件夾播放
(1)、指定文件夾播放是我們制定的擴展功能,默認(rèn)文件夾的命名方式為"1","2"這樣的方式因為我們的模塊不支持漢字名稱的文件夾名稱識別,為了系統(tǒng)的穩(wěn)定性和歌曲切換的速度每個文件夾下默認(rèn)大支持255首歌,多支持10個文件夾的分類,如果客戶有特殊要求,需要按照英文名稱來分類,我們也是可以實現(xiàn)的,但是名稱只能是“GUSHI”、“ERGE”等英文名稱組成。
(2)、例如指定"1"文件夾的第100首歌播放,串口發(fā)送的指令為:7E 10 06 0F 00 01 64 FF 70 EF
DH:代表的是文件夾的名字,默認(rèn)支持10個文件,即1~10的命名
DL:代表的是曲目,默認(rèn)多255首歌,即0x00 ~ 0xFF
曲目的設(shè)置請參考上面的曲目設(shè)置規(guī)則。
3.4.5 FLASH中存儲的固定語音信息
曲目號 |
曲目名 |
曲目號 |
曲目名 |
1 |
0.mp3 |
2 |
1.mp3 |
3 |
2.mp3 |
4 |
3.mp3 |
5 |
4.mp3 |
6 |
5.mp3 |
7 |
6.mp3 |
8 |
7.mp3 |
9 |
8.mp3 |
10 |
9.mp3 |
11 |
10噠噠女聲.mp3 |
12 |
11Mp3鈴聲.mp3 |
13 |
12外灘十八號.mp3 |
14 |
13回家.wav |
15 |
14不得不愛.wav |
16 |
|
備注:里面包含了MP3、WAV格式的音頻文件.均是未經(jīng)任何壓縮的音頻文件
參考電路
爭對模塊的應(yīng)用,我們提供了詳細(xì)的設(shè)計參考,讓您可以更快的上手體驗到該模塊的強大功能
串行通信接口,波特率默認(rèn)9600,可以根據(jù)客戶的要求修改
外部AD按鍵的接口電路,按鍵的功能可以按照客戶需求訂制
外部單聲道功放參考電路
4.1串行接口
模塊的串口為3.3V的TTL電平,所以默認(rèn)的接口的電平為3.3V。如果系統(tǒng)是5V。那么建議在串口
的對接接口串聯(lián)一個1K的電阻。這樣足以滿足一般的要求,如果應(yīng)用于強電磁干擾的場合,請參考“注意事項”的說明。模塊在5V和3.3V的系統(tǒng)中均正常的測試過,一切正常。均在采用的是直連的方式,并沒有串1K的電阻。
4.2按鍵接口
模塊我們采用的是AD按鍵的方式,取代了傳統(tǒng)了矩陣鍵盤的接法,這樣做的好處是充分利用了MCU越來越強大的AD功能。設(shè)計簡約而不簡單,我們模塊默認(rèn)配置16個按鍵的阻值分配,如果使用在強電磁干擾或者強感性、容性負(fù)載的場合,請參考我們的“注意事項”。
(1)、參考原理圖
(2)、16個按鍵的功能分配表
阻值 |
短按 |
長按 |
按著不松 |
抬起 |
00-240K |
9 |
|
V+ |
|
01-130K |
8 |
|
V- |
|
02-91K |
7 |
擴音開 |
|
|
03-62K |
6 |
擴音關(guān) |
|
|
04-47K |
5 |
播放設(shè)備切換 |
|
|
05-36K |
4 |
EQ切換 |
|
|
06-30K |
3 |
文件夾10 |
|
|
07-22K |
2 |
文件夾9 |
|
|
08-18K |
1 |
文件夾8 |
|
|
09-13K6 |
0 |
文件夾7 |
|
|
10-10K |
播放模式 |
文件夾6 |
|
|
11-7K5 |
工作模式 |
文件夾5 |
|
|
12-5K1 |
下一曲 |
文件夾4 |
|
|
13-3K3 |
上一曲 |
文件夾3 |
|
|
14-1K5 |
暫停 |
文件夾2 |
|
|
15-0R |
U/SD |
文件夾1 |
|
|
備注:為空的表示無功能 |
4.3外接單聲道功放
這里功放我們采用的是8002,具體參數(shù)請參考IC的datasheet。應(yīng)用于一般場合足以,如果追求更高的音質(zhì),請客戶自行尋找合適的功放。
注意事項
IO輸入特性 |
||||||
符號 |
參數(shù) |
小 |
典型 |
大 |
單位 |
測試條件 |
VIL |
Low-Level Input Voltage |
-0.3 |
- |
0.3*VDD |
V |
VDD=3.3V |
VIH |
High-Level Input Voltage |
0.7VDD |
- |
VDD+0.3 |
V |
VDD=3.3V |
IO輸出特性 |
||||||
符號 |
參數(shù) |
小 |
典型 |
大 |
單位 |
測試條件 |
VOL |
Low-Level Output Voltage |
- |
- |
0.33 |
V |
VDD=3.3V |
VOH |
High-Level Output Voltage |
2.7 |
- |
- |
V |
VDD=3.3V |
|
|
|
|
|
|
|
1、模塊對外的接口均是3.3V的TTL電平,所以在硬件電路的設(shè)計中,請注意電平的轉(zhuǎn)換問題。
另外在強干擾的環(huán)境中,請注意電磁兼容的一些保護(hù)措施,GPIO采用光耦隔廣告法離,增加TVS等等
2、ADKEY的按鍵取值均按照一般的使用環(huán)境,如果在強感性或者容性負(fù)載的環(huán)境下,請注意模塊的供電,建議采用單獨的隔廣告法離供電,另外再配上磁珠和電感對電源的濾波,一定要盡可能的保廣告法證輸入電源的穩(wěn)定和干凈。如果實在無法保廣告法證,請聯(lián)系我們,減少按鍵的數(shù)量,重新定義更寬的電壓分配。
3、串口通信,在一般的使用環(huán)境下,注意好電平轉(zhuǎn)換即可。如果強干擾環(huán)境,或者長距離的RS485應(yīng)用,那么請注意信號的隔廣告法離,嚴(yán)格按照工業(yè)的標(biāo)準(zhǔn)設(shè)計通信電路??梢月?lián)系我們,我們提供設(shè)計參考
免責(zé)聲明
開發(fā)預(yù)備知識
QY系列產(chǎn)品將提供盡可能全面的開發(fā)模版、驅(qū)動程序及其應(yīng)用說明文檔以方便用戶使用但也需要用戶熟悉自己設(shè)計產(chǎn)品所采用的硬件平臺及相關(guān)C語言的知識
EMI和EMC
QY系列模塊機械結(jié)構(gòu)決定了其EMI性能必然與一體化電路設(shè)計有所差異。QY系列模塊的EMI能滿足絕大部分應(yīng)用場合,用戶如有特殊要求,必須事先與我們協(xié)商.
QY系列模塊的EMC性能與用戶底板的設(shè)計密切相關(guān),尤其是電源電路、I/O隔廣告法離、復(fù)位電路,用戶在設(shè)計底板時必須充分考慮以上因素。我們將努力完善QY系列模塊的電磁兼容特性,但不對用戶終應(yīng)用產(chǎn)品EMC性能提供任何保廣告法證.
聯(lián)系人:李曙光
手 機:17266260250
郵 箱:Lur@yxin18.com
公 司:廣州悅欣電子科技有限公司
地 址:廣州市花都區(qū)商業(yè)大道334號