2. 方案說明
芯片選用的是SOC方案,集成了一個(gè)16位的MCU,以及一個(gè)專門針對音頻解碼的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è)[用戶不可設(shè)] |
輸入電壓 |
3.3V-5V[7805后級串一個(gè)二極管為佳] |
額定電流 |
10MA[靜態(tài)] |
低功耗電流 |
<200uA |
功放功率 |
驅(qū)耳機(jī),功放 |
尺寸 |
16S |
工作溫度 |
[-40度] -- [80度] |
濕度 |
5% ~ 95% |
主芯片型號 |
YX6100-16S[SSOP24] |
引腳序號 |
引腳名稱 |
功能描述 |
備注 |
1 |
VDD |
5V 電源輸入 |
不可以超過5.2V |
2 |
DAC-L |
音頻輸出左聲道 |
驅(qū)動耳機(jī)、功放 |
3 |
DAC-R |
音頻輸出右聲道 |
驅(qū)動耳機(jī)、功放 |
4 |
BUSY |
Busy 輸出 |
播放時(shí)輸出低電平 |
5 |
RX |
UART 串行數(shù)據(jù)輸入 |
3.3V 的TTL 電平 |
6 |
TX |
UART 串行數(shù)據(jù)輸出 |
3.3V 的TTL 電平 |
7 |
GND |
電源地/音頻地 |
|
8 |
PO1 |
觸發(fā)輸出口 |
對地觸發(fā) |
9 |
SPK+ |
喇叭+ |
接1-5W喇叭 |
10 |
SPK- |
喇叭- |
接1-5W喇叭 |
格式:$S VER Len CMD Feedback para1 para2 checksum $O |
|
||
|
|
|
|
$S |
起始位0x7E |
每條命令反饋均以$開頭,即0x7E |
|
VER |
版本 |
版本信息 |
|
Len |
len后字節(jié)個(gè)數(shù) |
校驗(yàn)和不計(jì)算在內(nèi) |
|
CMD |
命令字 |
表示具體的操作,比如播放/暫停等等 |
|
Feedback |
命令反饋 |
是否需要反饋信息,1反饋,0不反饋 |
|
dat |
參數(shù) |
和前面的len相關(guān)聯(lián),不限制長度 |
|
checksum |
校驗(yàn)和[占兩個(gè)字節(jié)] |
累加和校驗(yàn)[不計(jì)起始位$] |
|
$O |
結(jié)束位 |
結(jié)束位0xEF |
CMD命令 |
對應(yīng)的功能 |
參數(shù)(16位) |
0x01 |
下一曲 |
|
0x02 |
上一曲 |
|
0x03 |
指定曲目(根目錄) |
詳見3.4.1 |
0x04 |
音量+ |
|
0x05 |
音量- |
|
0x06 |
指定音量 |
詳見3.4.2 |
0x07 |
保留 |
保留 |
0x08 |
單曲循環(huán)指定曲目播放(根目錄) |
詳見3.4.3 |
0x09 |
指定播放設(shè)備 |
詳見3.4.4 |
0x0A |
進(jìn)入睡眠 -- 低功耗 |
功耗10MA |
0x0B |
喚醒睡眠 |
|
0x0C |
芯片復(fù)位 |
|
0x0D |
播放 |
|
0x0E |
暫停 |
|
0x0F |
指定文件夾文件名播放 |
詳見3.4.5 |
0x13 |
插播廣告 |
詳見3.4.6 |
0x14 |
單個(gè)文件夾支持1000首曲目 |
保留 |
0x15 |
停止插播播放背景音樂 |
|
0x16 |
停止 |
|
0x17 |
指定文件夾循環(huán)播放 |
詳見3.4.7 |
0x18 |
指定整個(gè)設(shè)備隨機(jī)播放 |
詳見3.4.8 |
0x19 |
對當(dāng)前播放的曲目設(shè)置為循環(huán)播放 |
詳見3.4.8 |
0x1A |
開啟和關(guān)閉芯片的DAC輸出 |
詳見3.4.9 |
0x21 |
保留 |
詳見3.4.10 |
0x25 |
多文件夾插播 |
詳見3.4.11 |
這里是查詢芯片的狀態(tài)和相關(guān)的參數(shù)
CMD命令詳解(查詢) |
對應(yīng)的功能 |
參數(shù)(16位) |
0x3C |
保留 |
|
0x3D |
保留 |
|
0x3E |
保留 |
|
0x3F |
查詢在線的設(shè)備 |
詳見3.5.1 |
0x40 |
返回錯(cuò)誤,請求重發(fā) |
|
0x41 |
應(yīng)答 |
|
0x42 |
查詢當(dāng)前狀態(tài) |
詳見3.4.10 |
0x43 |
查詢當(dāng)前音量 |
|
0x44 |
查詢當(dāng)前EQ |
保留 |
0x45 |
保留 |
該版本保留此功能 |
0x46 |
保留 |
該版本保留此功能 |
0x47 |
查詢UDISK文件總數(shù) |
設(shè)備的總文件數(shù) |
0x48 |
保留 |
保留 |
0x49 |
查詢FLASH的總文件數(shù) |
5個(gè)文件夾的總文件數(shù) |
0x4B |
查詢UDISK的當(dāng)前曲目 |
物理順序 |
0x4C |
保留 |
保留 |
0x4D |
查詢FLASH的當(dāng)前曲目 |
返回文件夾號和曲目指針 |
0x4E |
查詢指定文件夾的曲目總數(shù) |
詳見3.5.3 |
0x4F |
查詢當(dāng)前設(shè)備的總文件夾數(shù) |
詳見3.5.4 |
0x61 |
查詢當(dāng)前文件夾指針 |
僅支持FLASH |
芯片在關(guān)鍵地方均會有數(shù)據(jù)返回。供用戶掌控芯片的工作狀態(tài)
n 芯片上電初始化成功的數(shù)據(jù)
n 芯片播放完當(dāng)前曲目的數(shù)據(jù)
n 芯片成功接收到指令返回的ACK(應(yīng)答)
n 芯片接收一幀數(shù)據(jù)出錯(cuò)[包括數(shù)據(jù)沒收完整、校驗(yàn)出錯(cuò)兩種情況]
n 芯片在繁忙時(shí),有數(shù)據(jù)過來,芯片會返回忙的指令
n U盤、TF卡插入拔出,均有數(shù)據(jù)返回
(1)、芯片上電,需要一定的時(shí)間初始化,這個(gè)時(shí)間是需要根據(jù)TF卡、U盤、SPIFLASH設(shè)備的文件多少決定的,一般情況在小于500ms這個(gè)時(shí)間。如果超過這個(gè)時(shí)間芯片的初始化數(shù)據(jù)還沒有發(fā)送出來,說明芯片初始化出錯(cuò),請檢查硬件的連接
(2)、芯片初始化返回的數(shù)據(jù)為當(dāng)前的有效文件夾,譬如返回7E FF 06 3F 00 00 03 xx xx EF
==>其中0x03代表的是U盤和TF這兩個(gè)設(shè)備在線
U盤 -- 在線 |
7E FF 06 3F 00 00 01 xx xx EF |
各設(shè)備之間是或的關(guān)系 |
PC -- 在線 |
7E FF 06 3F 00 00 04 xx xx EF |
|
FLASH -- 在線 |
7E FF 06 3F 00 00 08 xx xx EF |
|
(3)、MCU必須等待芯片初始化指令發(fā)出之后才能發(fā)送相應(yīng)的控制指令,否則發(fā)送的指令芯片將不予處理。同時(shí)還會影響芯片的正常初始化。
U盤播放完第1曲 |
7E FF 06 3C 00 00 01 xx xx EF |
U盤播放第1曲完畢 |
U盤播放完第2曲 |
7E FF 06 3C 00 00 02 xx xx EF |
U盤播放第2曲完畢 |
FLASH播放完第1曲 |
7E FF 06 3E 00 01 01 xx xx EF |
第1曲播放完 |
FLASH播放完第2曲 |
7E FF 06 3E 00 02 02 xx xx EF |
第2曲播放完 |
1、針對很多的觸發(fā)型的播放需求,我們芯片更正為播放一曲之后自動進(jìn)入停止?fàn)顟B(tài)。如果用戶需要此類應(yīng)用。只需要指定曲目播放即可。這樣,曲目播放完畢會自動停止,等待指令
2、另外我們專門開辟一個(gè)IO作為解碼和暫停的狀態(tài)指示。請參見第16腳
(1)、播放狀態(tài)輸出低電平[很多功放有靜音腳,可以通過此IO直接進(jìn)行控制]
(2)、播放暫停狀態(tài),輸出高電平。芯片睡眠狀態(tài)。也是低電平
3、芯片通電之后,初始化正常 ,芯片會自動進(jìn)入設(shè)備播放狀態(tài)。并且停止解碼,等待用戶發(fā)送播放的相關(guān)指令
4、另外用戶在指定設(shè)備之后,需要等待200ms的時(shí)間,再發(fā)送指定的曲目,因?yàn)橐坏┲付ㄇ恐螅到y(tǒng)會對指定的設(shè)備進(jìn)行文件系統(tǒng)的初始化,如果立刻發(fā)送指定的曲目命令,會導(dǎo)致芯片接收不到。
芯片返回ACK |
7E FF 06 41 00 00 00 xx xx EF |
說明成功接收數(shù)據(jù) |
(1)、為了加強(qiáng)數(shù)據(jù)通信之間的穩(wěn)定性,我們增加了應(yīng)答處理,ACKB字節(jié)就是設(shè)置是否需要回復(fù)應(yīng)答。這樣做的好處是保廣告法證每次通信都有握手信號,收到應(yīng)答就表示MCU發(fā)送的數(shù)據(jù),芯片已經(jīng)成功收到,馬上處理。
(2)、對于一般的應(yīng)用,客戶可以自由選擇,不加這個(gè)應(yīng)答處理也是可以的。
返回忙 |
7E FF 06 40 00 00 01 xx xx EF |
芯片在文件系統(tǒng)初始化時(shí) |
當(dāng)前處于睡眠模式 |
7E FF 06 40 00 00 02 xx xx EF |
睡眠模式只支持指定設(shè)備 |
串口接收錯(cuò)誤 |
7E FF 06 40 00 00 03 xx xx EF |
串口一幀數(shù)據(jù)沒接收完畢 |
校驗(yàn)出錯(cuò) |
7E FF 06 40 00 00 04 xx xx EF |
和校驗(yàn)出錯(cuò) |
指定文件超范圍 |
7E FF 06 40 00 00 05 xx xx EF |
文件的指定超過設(shè)定的范圍 |
未找到指定的文件 |
7E FF 06 40 00 00 06 xx xx EF |
指定為文件沒有被找到 |
數(shù)據(jù)不符合規(guī)則 |
7E FF 06 40 00 00 08 xx xx EF |
如小為1的地方,發(fā)送為0 |
(1)、為了加強(qiáng)數(shù)據(jù)通信之間的穩(wěn)定性,我們增加了數(shù)據(jù)錯(cuò)誤處理機(jī)制。芯片收到不符合格式的數(shù)據(jù),均會有信息反饋出來
(2)、在環(huán)境比較惡劣的情況下,強(qiáng)烈建議客戶處理此命令。如果應(yīng)用環(huán)境一般,可以不用處理。
(3)、芯片返回忙,基本上是芯片上電初始化的時(shí)候才會返回,因?yàn)樾酒枰跏蓟募到y(tǒng)
(4)、芯片上電之后,進(jìn)入的是設(shè)備狀態(tài),設(shè)備是SPIFLASH。如果SPIFLASH不在線的話,會自動進(jìn)入睡眠狀態(tài)。
(5)、只要參考我們給出的測試SDK程序,移植里面的串口操作部分,就不會出現(xiàn)校驗(yàn)出錯(cuò),在這里強(qiáng)烈建議用戶使用我們給出的校驗(yàn)方式。因?yàn)檎l都不能保廣告法證數(shù)據(jù)的傳輸不會出錯(cuò)。
(6)、文件指定部分出錯(cuò),請參考下面的詳解
U盤插入 |
7E FF 06 3A 00 00 01 xx xx EF |
|
PC插入 |
7E FF 06 3A 00 00 04 xx xx EF |
|
U盤拔出 |
7E FF 06 3B 00 00 01 xx xx EF |
|
PC拔出 |
7E FF 06 3B 00 00 04 xx xx EF |
|
(1)、為了加強(qiáng)芯片的靈活性,我們特別增加了,設(shè)備插入、拔出的指令反饋。方便用戶知道芯片的工作狀態(tài)。
(2)、設(shè)備插入的時(shí)候,我們默認(rèn)進(jìn)入到設(shè)備等待狀態(tài),如果用戶插入的是帶燈的U盤,可以看到U盤燈閃爍。也可以接收到設(shè)備插入的串口消息。
以下我們對關(guān)鍵的地方進(jìn)行詳細(xì)的說明--針對控制指令:
n 指定曲目播放
n 指定播放的音量
n 指定播放的設(shè)備
n 全部循環(huán)播放指令
n 組合播放功能[亮點(diǎn)]
n 帶音量參數(shù)的指定曲目播放
我們給出的指令是支持指定曲目播放的,歌曲的選擇范圍為0~3000.其實(shí)是可以支持更多的,因?yàn)樯婕暗轿募芾淼脑?,支持過多的歌曲,會導(dǎo)致系統(tǒng)操作緩慢,一般的應(yīng)用也不需要支持這么多的文件。如果客戶有非常規(guī)的應(yīng)用,請事前和我們溝通。此指令在TF卡和U盤狀態(tài)是按照存儲的物理順序指定的。FLASH則是默認(rèn)為FOLDER1區(qū)域
(1)、例如選擇第1首歌播放,串口的發(fā)送部分7E FF 06 03 00 00 01 FF E6 EF
7E --- 起始命令
FF --- 版本信息
06 --- 數(shù)據(jù)長度(不包含校驗(yàn))
03 --- 代表產(chǎn)品編號
00 --- 是否需要應(yīng)答[0x01:需要應(yīng)答,0x00:不需要返回應(yīng)答]
00 --- 曲目的高字節(jié)[DH]
01 --- 曲目的低字節(jié)[DL],這里代表的是第1首歌播放
FF --- 校驗(yàn)的高字節(jié)
E7 --- 校驗(yàn)的低字節(jié)
EF --- 結(jié)束命令
(2)、對于選曲,如果選擇第100首,首先將100轉(zhuǎn)化為16進(jìn)制,默認(rèn)為雙字節(jié),就為0x0064。
DH = 0x00 ; DL = 0x64
(3)、其它的操作依次類推即可,因?yàn)樵谇度胧筋I(lǐng)域采用16進(jìn)制是為方便的一種操作。
(1)、我們系統(tǒng)上電默認(rèn)的音量為30級,如果要設(shè)置音量的話,直接發(fā)送相應(yīng)的指令即可
(2)、芯片內(nèi)部設(shè)置的音量細(xì)分級數(shù)為0--30.請用戶注意
(3)、例如指定音量為15級,串口發(fā)送的指令:7E FF 06 06 00 00 0F FF D5 EF
(4)、DH = 0x00 ; DL = 0x0F ,15轉(zhuǎn)化為16進(jìn)制為0x000F??梢詤⒄詹シ徘坎糠值恼f明
循環(huán)播放指定曲目 |
7E FF 06 08 00 00 01 xx xx EF |
根目錄循環(huán)播放第1曲 |
|
7E FF 06 08 00 00 02 xx xx EF |
根目錄循環(huán)播放第二曲 |
|
7E FF 06 08 00 01 03 xx xx EF |
根目錄循環(huán)播放第三曲 |
(1)、爭對一些需要單曲循環(huán)播放的要求,我們改進(jìn)這一條控制指令0x08。在操作SPI flash者U盤時(shí),根目錄按照的是文件存儲的物理順序指定,這點(diǎn)請用戶注意。但是在操作FLASH時(shí),是按照文件夾分區(qū)指定的,請參考上面的測試指令。
(2)、在循環(huán)播放的過程中,可以正常的操作播放/暫停,上一曲、下一曲、音量調(diào)節(jié),包括EQ等等
并且狀態(tài)仍然是循環(huán)播放.可以通過指定單曲觸發(fā)播放或者停止來關(guān)閉循環(huán)播放狀態(tài)
(1)、我們的芯片默認(rèn)是支持4種類型的播放設(shè)備,只有設(shè)備在線才能指定設(shè)備去播放
設(shè)備是否在線,我們軟件會自動檢測,無需用戶關(guān)系。
(4)、看下表,選擇合適的指令發(fā)送
(3)、指定設(shè)備之后。芯片會自動進(jìn)入停止解碼狀態(tài),等待用戶指定曲目播放。從接收到指定設(shè)備到芯片內(nèi)部完成初始化文件系統(tǒng)。大概需要200ms。請等待200ms之后再發(fā)送指定曲目的指令。
指定播放設(shè)備-U盤 |
7E FF 06 09 00 00 01 xx xx EF |
xx xx:代表校驗(yàn) |
指定播放設(shè)備-PC |
7E FF 06 09 00 00 03 xx xx EF |
指[讀卡、聲卡]模式 |
指定播放設(shè)備-FLASH |
7E FF 06 09 00 00 04 xx xx EF |
|
指定播放設(shè)備-SLEEP |
7E FF 06 09 00 00 05 xx xx EF |
|
文件夾01的001xxx.mp3 |
7E FF 06 0F 00 01 01 xx xx EF |
TF卡或者U盤或者FLASH |
文件夾11的100xxx.mp3 |
7E FF 06 0F 00 0B 64 xx xx EF |
TF卡或者U盤或者FLASH |
文件夾99的255xxx.mp3 |
7E FF 06 0F 00 63 FF xx xx EF |
TF卡或者U盤或者FLASH |
更多內(nèi)容請向業(yè)務(wù)員索取資料。
聯(lián)系人:李曙光
手 機(jī):17266260250
郵 箱:Lur@yxin18.com
公 司:廣州悅欣電子科技有限公司
地 址:廣州市花都區(qū)商業(yè)大道334號